Message ID | 20200525182608.1823735-3-kw@linux.com (mailing list archive) |
---|---|
State | RFC, archived |
Headers | show |
Series | Add helper for accessing Power Management callbacs | expand |
On Mon, May 25, 2020 at 8:26 PM Krzysztof Wilczyński <kw@linux.com> wrote: > > Use the new device_to_pm() helper to access Power Management callbacs > (struct dev_pm_ops) for a particular device (struct device_driver). > > No functional change intended. > > Signed-off-by: Krzysztof Wilczyński <kw@linux.com> > --- > drivers/acpi/device_pm.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/acpi/device_pm.c b/drivers/acpi/device_pm.c > index 5832bc10aca8..b98a32c48fbe 100644 > --- a/drivers/acpi/device_pm.c > +++ b/drivers/acpi/device_pm.c > @@ -1022,9 +1022,10 @@ static bool acpi_dev_needs_resume(struct device *dev, struct acpi_device *adev) > int acpi_subsys_prepare(struct device *dev) > { > struct acpi_device *adev = ACPI_COMPANION(dev); > + const struct dev_pm_ops *pm = driver_to_pm(dev->driver); I don't really see a reason for this change. What's wrong with the check below? > > - if (dev->driver && dev->driver->pm && dev->driver->pm->prepare) { > - int ret = dev->driver->pm->prepare(dev); > + if (pm && pm->prepare) { > + int ret = pm->prepare(dev); > > if (ret < 0) > return ret; > -- > 2.26.2 >
On Tue 2020-05-26 10:37:36, Rafael J. Wysocki wrote: > On Mon, May 25, 2020 at 8:26 PM Krzysztof Wilczyński <kw@linux.com> wrote: > > > > Use the new device_to_pm() helper to access Power Management callbacs > > (struct dev_pm_ops) for a particular device (struct device_driver). > > > > No functional change intended. > > > > Signed-off-by: Krzysztof Wilczyński <kw@linux.com> > > --- > > drivers/acpi/device_pm.c | 5 +++-- > > 1 file changed, 3 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/acpi/device_pm.c b/drivers/acpi/device_pm.c > > index 5832bc10aca8..b98a32c48fbe 100644 > > --- a/drivers/acpi/device_pm.c > > +++ b/drivers/acpi/device_pm.c > > @@ -1022,9 +1022,10 @@ static bool acpi_dev_needs_resume(struct device *dev, struct acpi_device *adev) > > int acpi_subsys_prepare(struct device *dev) > > { > > struct acpi_device *adev = ACPI_COMPANION(dev); > > + const struct dev_pm_ops *pm = driver_to_pm(dev->driver); > > I don't really see a reason for this change. > > What's wrong with the check below? Duplicated code. Yes, compiler can sort it out, but... new version looks better to me. Best regards, pavel > > > > - if (dev->driver && dev->driver->pm && dev->driver->pm->prepare) { > > - int ret = dev->driver->pm->prepare(dev); > > + if (pm && pm->prepare) { > > + int ret = pm->prepare(dev);
On Tue, May 26, 2020 at 11:45 AM Pavel Machek <pavel@denx.de> wrote: > > On Tue 2020-05-26 10:37:36, Rafael J. Wysocki wrote: > > On Mon, May 25, 2020 at 8:26 PM Krzysztof Wilczyński <kw@linux.com> wrote: > > > > > > Use the new device_to_pm() helper to access Power Management callbacs > > > (struct dev_pm_ops) for a particular device (struct device_driver). > > > > > > No functional change intended. > > > > > > Signed-off-by: Krzysztof Wilczyński <kw@linux.com> > > > --- > > > drivers/acpi/device_pm.c | 5 +++-- > > > 1 file changed, 3 insertions(+), 2 deletions(-) > > > > > > diff --git a/drivers/acpi/device_pm.c b/drivers/acpi/device_pm.c > > > index 5832bc10aca8..b98a32c48fbe 100644 > > > --- a/drivers/acpi/device_pm.c > > > +++ b/drivers/acpi/device_pm.c > > > @@ -1022,9 +1022,10 @@ static bool acpi_dev_needs_resume(struct device *dev, struct acpi_device *adev) > > > int acpi_subsys_prepare(struct device *dev) > > > { > > > struct acpi_device *adev = ACPI_COMPANION(dev); > > > + const struct dev_pm_ops *pm = driver_to_pm(dev->driver); > > > > I don't really see a reason for this change. > > > > What's wrong with the check below? > > Duplicated code. Yes, compiler can sort it out, but... new version > looks better to me. So the new code would not be duplicated? Look at the other patches in the series then. :-)
diff --git a/drivers/acpi/device_pm.c b/drivers/acpi/device_pm.c index 5832bc10aca8..b98a32c48fbe 100644 --- a/drivers/acpi/device_pm.c +++ b/drivers/acpi/device_pm.c @@ -1022,9 +1022,10 @@ static bool acpi_dev_needs_resume(struct device *dev, struct acpi_device *adev) int acpi_subsys_prepare(struct device *dev) { struct acpi_device *adev = ACPI_COMPANION(dev); + const struct dev_pm_ops *pm = driver_to_pm(dev->driver); - if (dev->driver && dev->driver->pm && dev->driver->pm->prepare) { - int ret = dev->driver->pm->prepare(dev); + if (pm && pm->prepare) { + int ret = pm->prepare(dev); if (ret < 0) return ret;
Use the new device_to_pm() helper to access Power Management callbacs (struct dev_pm_ops) for a particular device (struct device_driver). No functional change intended. Signed-off-by: Krzysztof Wilczyński <kw@linux.com> --- drivers/acpi/device_pm.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)