On 10/02/2018 01:35 AM, Cao Van Dong wrote:
In __hwmon_device_register() function of hwmon.c, we have assigned 'dev' directly to 'hdev->parent'.
Formerly, when registering the hwmon device, we pass NULL as the device. This is not affected.
Recently, the developer has replaced the parameter NULL as the device by the actual device.
This causes the "No sensors found" error. This patch is to fix this error.
This patch is based on the v4.19-rc3 tag.
NACK.
This is wrong. The passed device is the hwmon driver's parent device. Using that device's
parent would be wrong. Indeed, that device could be a platform device with no parent.
The problem must be fixed in the calling code.
Guenter
---
drivers/hwmon/hwmon.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/hwmon/hwmon.c b/drivers/hwmon/hwmon.c
index 33d5128..7c8d3cb 100644
--- a/drivers/hwmon/hwmon.c
+++ b/drivers/hwmon/hwmon.c
@@ -610,7 +610,7 @@ __hwmon_device_register(struct device *dev, const char *name, void *drvdata,
hwdev->name = name;
hdev->class = &hwmon_class;
- hdev->parent = dev;
+ hdev->parent = dev->parent;
hdev->of_node = dev ? dev->of_node : NULL;
hwdev->chip = chip;
dev_set_drvdata(hdev, drvdata);