CC  Marc, Eduardo

On Tue, Oct 2, 2018 at 2:50 PM Guenter Roeck <li...@roeck-us.net> wrote:
> 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);

Reply via email to