Re: [PATCH v2 1/5] ACPI: Enable driver and firmware hints to control power at probe time

From: Greg Kroah-Hartman
Date: Mon Aug 26 2019 - 04:46:42 EST


On Mon, Aug 26, 2019 at 11:31:08AM +0300, Sakari Ailus wrote:
> Allow drivers and firmware tell ACPI that there's no need to power on a
> device for probe. This requires both a hint from the firmware as well as
> an indication from a driver to leave the device off.
>
> Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
> ---
> drivers/acpi/device_pm.c | 15 +++++++++++++--
> include/linux/device.h | 7 +++++++
> 2 files changed, 20 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/acpi/device_pm.c b/drivers/acpi/device_pm.c
> index f616b16c1f0be..adcdf78ce4de8 100644
> --- a/drivers/acpi/device_pm.c
> +++ b/drivers/acpi/device_pm.c
> @@ -1276,7 +1276,12 @@ static void acpi_dev_pm_detach(struct device *dev, bool power_off)
> if (adev && dev->pm_domain == &acpi_general_pm_domain) {
> dev_pm_domain_set(dev, NULL);
> acpi_remove_pm_notifier(adev);
> - if (power_off) {
> + if (power_off
> +#ifdef CONFIG_PM
> + && !(dev->driver->probe_low_power &&
> + device_property_present(dev, "probe-low-power"))
> +#endif

As proof of the "only a bus-specific thing", why is probe_low_power even
needed? Why not just always trigger off of this crazy device_property?
That makes the driver changes less.

Also, is this #ifdef really needed?

thanks,

greg k-h