[alsa-devel] [PATCH] ALSA: ac97: Switch to dev_pm_ops
Lars-Peter Clausen
lars at metafoo.de
Fri Aug 7 10:13:48 CEST 2015
On 08/07/2015 12:55 AM, Dmitry Torokhov wrote:
[...]
>>
>> -#ifdef CONFIG_PM
>> -static int wm97xx_suspend(struct device *dev, pm_message_t state)
>> +#ifdef CONFIG_PM_SLEEP
>> +static int wm97xx_suspend(struct device *dev)
>
> While we are changing it please drop #ifdef CONFIG_PM_SLEEP and annotate
> suspend and resume with __maybe_unused.
We know that it is used when CONFIG_PM_SLEEP is defined and we know that it
is unused CONFIG_PM_SLEEP is not defined. Marking the function as
__maybe_unused will cause the compiler to not generate a warning when the
function is really unused. Making this explicit works much better.
>
>> {
>> struct wm97xx *wm = dev_get_drvdata(dev);
>> u16 reg;
>> @@ -799,9 +799,11 @@ static int wm97xx_resume(struct device *dev)
>> return 0;
>> }
>>
>> +static SIMPLE_DEV_PM_OPS(wm97xx_pm_ops, wm97xx_suspend, wm97xx_resume);
>
> Pull this out of #ifdef block and kill entire #else/endif along with
> WM97XX_PM_OPS define: SIMPLE_DEV_PM_OPS will result in an empty
> structure if CONFIG_PM_SLEEP is not set.
It will create a struct dev_pm_ops full of NULLs. That's kind of
counterproductive to removing PM related data and functions from the kernel
if PM support is no enabled.
>
>> +#define WM97XX_PM_OPS (&wm97xx_pm_ops)
>> +
>> #else
>> -#define wm97xx_suspend NULL
>> -#define wm97xx_resume NULL
>> +#define WM97XX_PM_OPS NULL
>> #endif
[...]
More information about the Alsa-devel
mailing list