On Tue, Oct 16, 2018 at 06:24:22PM -0700, Nicolin Chen wrote: > The new hdev is a child device related to the original parent > hwmon driver and its device. However, it doesn't support the > power features, typically being defined in the parent driver. > > So this patch inherits three necessary power properties from > the parent dev to hdev: power, pm_domain and driver pointers. > > Note that the dev->driver pointer is the place that contains > a dev_pm_ops pointer defined in the parent device driver and > the pm runtime core also checks this pointer: > if (!cb && dev->driver && dev->driver->pm) > > Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> > --- > drivers/hwmon/hwmon.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/hwmon/hwmon.c b/drivers/hwmon/hwmon.c > index 975c95169884..7c064e1218ba 100644 > --- a/drivers/hwmon/hwmon.c > +++ b/drivers/hwmon/hwmon.c > @@ -625,6 +625,9 @@ __hwmon_device_register(struct device *dev, const char *name, void *drvdata, > hwdev->name = name; > hdev->class = &hwmon_class; > hdev->parent = dev; > + hdev->driver = dev->driver; > + hdev->power = dev->power; > + hdev->pm_domain = dev->pm_domain; dev can, unfortunately, be NULL > hdev->of_node = dev ? dev->of_node : NULL; ... as you can see here. Guenter > hwdev->chip = chip; > dev_set_drvdata(hdev, drvdata); > -- > 2.17.1 >