[PATCH 1/9] ACPI / PM: Let acpi_dev_pm_detach() return an error code
Ulf Hansson
ulf.hansson at linaro.org
Wed Aug 27 00:25:21 PDT 2014
On 27 August 2014 02:16, Rafael J. Wysocki <rjw at rjwysocki.net> wrote:
> On Tuesday, August 26, 2014 02:07:09 PM Ulf Hansson wrote:
>> To give callers the option of acting on a errors while removing the
>> pm_domain ops for the device in the ACPI power domain, let
>> acpi_dev_pm_detach() return an int to provide the error code.
>>
>> Signed-off-by: Ulf Hansson <ulf.hansson at linaro.org>
>> ---
>> drivers/acpi/device_pm.c | 4 ++++
>> include/linux/acpi.h | 7 +++++--
>> 2 files changed, 9 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/acpi/device_pm.c b/drivers/acpi/device_pm.c
>> index 67075f8..fa78abb 100644
>> --- a/drivers/acpi/device_pm.c
>> +++ b/drivers/acpi/device_pm.c
>> @@ -1087,6 +1087,8 @@ EXPORT_SYMBOL_GPL(acpi_dev_pm_attach);
>> *
>> * Callers must ensure proper synchronization of this function with power
>> * management callbacks.
>> + *
>> + * Returns 0 on successfully detached power domain or negative error code.
>
> "PM domain" here, please, not "power domain".
>
Sure.
If you prefer that term, I can also change on the other patches in
this patchset. There are commit-msg etc , where I think I have used
"power domain".
>> */
>> void acpi_dev_pm_detach(struct device *dev, bool power_off)
>
> It looks like you've never compiled this, have you?
You are absolutely right. There were quite some combinations of
CONFIG_PM_* that I tried out, but I totally forgot ACPI, sorry! I will
make sure to do it in v2.
>
>> {
>> @@ -1107,7 +1109,9 @@ void acpi_dev_pm_detach(struct device *dev, bool power_off)
>> acpi_device_wakeup(adev, ACPI_STATE_S0, false);
>> acpi_dev_pm_low_power(dev, adev, ACPI_STATE_S0);
>> }
>> + return 0;
>> }
>> + return -ENODEV;
>
> -EINVAL perhaps?
Sure!
>
>> }
>> EXPORT_SYMBOL_GPL(acpi_dev_pm_detach);
>> #endif /* CONFIG_PM */
>> diff --git a/include/linux/acpi.h b/include/linux/acpi.h
>> index 5320153..a7bfdf6 100644
>> --- a/include/linux/acpi.h
>> +++ b/include/linux/acpi.h
>> @@ -576,7 +576,7 @@ static inline int acpi_subsys_freeze(struct device *dev) { return 0; }
>> #if defined(CONFIG_ACPI) && defined(CONFIG_PM)
>> struct acpi_device *acpi_dev_pm_get_node(struct device *dev);
>> int acpi_dev_pm_attach(struct device *dev, bool power_on);
>> -void acpi_dev_pm_detach(struct device *dev, bool power_off);
>> +int acpi_dev_pm_detach(struct device *dev, bool power_off);
>> #else
>> static inline struct acpi_device *acpi_dev_pm_get_node(struct device *dev)
>> {
>> @@ -586,7 +586,10 @@ static inline int acpi_dev_pm_attach(struct device *dev, bool power_on)
>> {
>> return -ENODEV;
>> }
>> -static inline void acpi_dev_pm_detach(struct device *dev, bool power_off) {}
>> +static inline int acpi_dev_pm_detach(struct device *dev, bool power_off)
>> +{
>> + return -ENODEV;
>> +}
>> #endif
>>
>> #ifdef CONFIG_ACPI
>>
>
> --
> I speak only for myself.
> Rafael J. Wysocki, Intel Open Source Technology Center.
Thanks for reviewing!
Kind regards
Uffe
More information about the linux-arm-kernel
mailing list