[PATCH RFC 14/14] ahci: sata_rcar: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr()

Damien Le Moal dlemoal at kernel.org
Wed Jan 29 18:30:43 PST 2025


On 1/27/25 22:45, Geert Uytterhoeven wrote:
> Hi Raphael,
> 
> On Mon, 27 Jan 2025 at 13:46, Raphael Gallais-Pou <rgallaispou at gmail.com> wrote:
>> Letting the compiler remove these functions when the kernel is built
>> without CONFIG_PM_SLEEP support is simpler and less error prone than the
>> use of #ifdef based kernel configuration guards.
>>
>> Signed-off-by: Raphael Gallais-Pou <rgallaispou at gmail.com>
> 
> Thanks for your patch!
> 
> The subsystem prefix is "ata", not "ahci" (not all ATA-drivers are
> AHCI-drivers).

Yep. The convention is:

ata: driver_name: xxx

So it would be:

ata: sata_rcar: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr()

for this patch. And the same comment applies to all your other patches in the
series.

> 
>> --- a/drivers/ata/sata_rcar.c
>> +++ b/drivers/ata/sata_rcar.c
>> @@ -927,7 +927,6 @@ static void sata_rcar_remove(struct platform_device *pdev)
>>         pm_runtime_disable(&pdev->dev);
>>  }
>>
>> -#ifdef CONFIG_PM_SLEEP
>>  static int sata_rcar_suspend(struct device *dev)
>>  {
>>         struct ata_host *host = dev_get_drvdata(dev);
>> @@ -1005,7 +1004,6 @@ static const struct dev_pm_ops sata_rcar_pm_ops = {
>>         .poweroff       = sata_rcar_suspend,
>>         .restore        = sata_rcar_restore,
>>  };
>> -#endif
> 
> If CONFIG_PM_SLEEP is disabled (e.g. m68k allyesconfig):
> 
>     drivers/ata/sata_rcar.c: In function ‘sata_rcar_suspend’:
>     drivers/ata/sata_rcar.c:936:9: error: implicit declaration of
> function ‘ata_host_suspend’; did you mean ‘sata_rcar_suspend’?
> [-Werror=implicit-function-declaration]
>       936 |         ata_host_suspend(host, PMSG_SUSPEND);
>           |         ^~~~~~~~~~~~~~~~
>           |         sata_rcar_suspend
>     drivers/ata/sata_rcar.c: In function ‘sata_rcar_resume’:
>     drivers/ata/sata_rcar.c:973:9: error: implicit declaration of
> function ‘ata_host_resume’; did you mean ‘sata_rcar_resume’?
> [-Werror=implicit-function-declaration]
>       973 |         ata_host_resume(host);
>           |         ^~~~~~~~~~~~~~~
>           |         sata_rcar_resume
> 
>>
>>  static struct platform_driver sata_rcar_driver = {
>>         .probe          = sata_rcar_probe,
>> @@ -1013,9 +1011,7 @@ static struct platform_driver sata_rcar_driver = {
>>         .driver = {
>>                 .name           = DRV_NAME,
>>                 .of_match_table = sata_rcar_match,
>> -#ifdef CONFIG_PM_SLEEP
>> -               .pm             = &sata_rcar_pm_ops,
>> -#endif
>> +               .pm             = pm_sleep_ptr(&sata_rcar_pm_ops),
>>         },
>>  };
> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 


-- 
Damien Le Moal
Western Digital Research



More information about the Linux-mediatek mailing list