Hi Alan, On Sat, 2 Mar 2024 at 01:58, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > > On Sat, Mar 02, 2024 at 01:08:09AM +0530, Anand Moon wrote: > > Use the new PM macros for the suspend and resume functions to be > > automatically dropped by the compiler when CONFIG_PM are disabled, > > without having to use #ifdef guards. If CONFIG_PM unused, > > they will simply be discarded by the compiler. > > > > Use RUNTIME_PM_OPS runtime macro for suspend/resume function. > > > > Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx> > > --- > > drivers/usb/host/ehci-exynos.c | 10 ++-------- > > 1 file changed, 2 insertions(+), 8 deletions(-) > > > > diff --git a/drivers/usb/host/ehci-exynos.c b/drivers/usb/host/ehci-exynos.c > > index 05aa3d9c2a3b..4676f45655cd 100644 > > --- a/drivers/usb/host/ehci-exynos.c > > +++ b/drivers/usb/host/ehci-exynos.c > > @@ -234,7 +234,6 @@ static void exynos_ehci_remove(struct platform_device *pdev) > > usb_put_hcd(hcd); > > } > > > > -#ifdef CONFIG_PM > > static int exynos_ehci_suspend(struct device *dev) > > { > > struct usb_hcd *hcd = dev_get_drvdata(dev); > > @@ -268,14 +267,9 @@ static int exynos_ehci_resume(struct device *dev) > > ehci_resume(hcd, false); > > return 0; > > } > > -#else > > -#define exynos_ehci_suspend NULL > > -#define exynos_ehci_resume NULL > > -#endif > > Doesn't this now generate warnings about functions being defined but not > used when you build with CONFIG_PM disabled? > Yes I have tried compile the kernel with disable CONFIG_PM=n and CONFIG_PM_SLEEP=n But it's getting selected by default. Also compiled with W=1 and found no warning with these patches. To be safe I will add __maybe_unused to suspend / resume functions in the next version. diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig index c98d5ff8a1ed..e96f5c3bf8c1 100644 --- a/arch/arm/configs/exynos_defconfig +++ b/arch/arm/configs/exynos_defconfig @@ -29,8 +29,10 @@ CONFIG_ARM_EXYNOS_CPUIDLE=y CONFIG_VFP=y CONFIG_NEON=y CONFIG_KERNEL_MODE_NEON=y -CONFIG_PM_DEBUG=y -CONFIG_PM_ADVANCED_DEBUG=y +# CONFIG_PM_SLEEP is not set +# CONFIG_PM is not set +# CONFIG_PM_DEBUG is not set +# CONFIG_PM_ADVANCED_DEBUG is not set CONFIG_ENERGY_MODEL=y CONFIG_KALLSYMS_ALL=y CONFIG_MODULES=y > Alan Stern Thanks -Anand