On 1/27/25 22:45, Geert Uytterhoeven wrote: > Hi Raphael, > > On Mon, 27 Jan 2025 at 13:46, Raphael Gallais-Pou <rgallaispou@xxxxxxxxx> 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@xxxxxxxxx> > > 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