[PATCH v3 1/9] ACPI / PM: Let acpi_dev_pm_detach() return an error code
Pavel Machek
pavel at ucw.cz
Sat Aug 23 15:45:15 PDT 2014
On Thu 2014-09-04 15:52:28, 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 PM domain, let
> acpi_dev_pm_detach() return an int to provide the error code.
>
> Signed-off-by: Ulf Hansson <ulf.hansson at linaro.org>
> Tested-by: Philipp Zabel <p.zabel at pengutronix.de>
Acked-by: Pavel Machek <Pavel at ucw.cz>
> ---
> drivers/acpi/device_pm.c | 8 +++++++-
> include/linux/acpi.h | 7 +++++--
> 2 files changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/acpi/device_pm.c b/drivers/acpi/device_pm.c
> index 67075f8..0d52ce1 100644
> --- a/drivers/acpi/device_pm.c
> +++ b/drivers/acpi/device_pm.c
> @@ -1055,6 +1055,8 @@ static struct dev_pm_domain acpi_general_pm_domain = {
> *
> * Callers must ensure proper synchronization of this function with power
> * management callbacks.
> + *
> + * Returns 0 on successfully attached PM domain or negative error code.
> */
> int acpi_dev_pm_attach(struct device *dev, bool power_on)
> {
> @@ -1087,8 +1089,10 @@ EXPORT_SYMBOL_GPL(acpi_dev_pm_attach);
> *
> * Callers must ensure proper synchronization of this function with power
> * management callbacks.
> + *
> + * Returns 0 on successfully detached PM domain or negative error code.
> */
> -void acpi_dev_pm_detach(struct device *dev, bool power_off)
> +int acpi_dev_pm_detach(struct device *dev, bool power_off)
> {
> struct acpi_device *adev = ACPI_COMPANION(dev);
>
> @@ -1107,7 +1111,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 -EINVAL;
> }
> EXPORT_SYMBOL_GPL(acpi_dev_pm_detach);
> #endif /* CONFIG_PM */
> diff --git a/include/linux/acpi.h b/include/linux/acpi.h
> index 807cbc4..c83cca5 100644
> --- a/include/linux/acpi.h
> +++ b/include/linux/acpi.h
> @@ -587,7 +587,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)
> {
> @@ -597,7 +597,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
> --
> 1.9.1
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
More information about the linux-arm-kernel
mailing list