usb: ehci-exynos: Use DEFINE_SIMPLE_DEV_PM_OPS for PM functions
authorAnand Moon <linux.amoon@gmail.com>
Fri, 12 Apr 2024 14:22:51 +0000 (19:52 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Apr 2024 14:48:23 +0000 (16:48 +0200)
This macro has the advantage over SIMPLE_DEV_PM_OPS that we don't have to
care about when the functions are actually used.

Also make use of pm_ptr() to discard all PM related stuff if CONFIG_PM
isn't enabled.

Signed-off-by: Anand Moon <linux.amoon@gmail.com>
Link: https://lore.kernel.org/r/20240412142317.5191-3-linux.amoon@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/ehci-exynos.c

index e2303757bc0fa15046d5ff443e103dfa1d3e0aa3..f40bc2a7a1247eac3484a223629e17e16c3cde1d 100644 (file)
@@ -237,7 +237,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);
@@ -280,15 +279,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
 
-static const struct dev_pm_ops exynos_ehci_pm_ops = {
-       .suspend        = exynos_ehci_suspend,
-       .resume         = exynos_ehci_resume,
-};
+static DEFINE_SIMPLE_DEV_PM_OPS(exynos_ehci_pm_ops,
+                               exynos_ehci_suspend, exynos_ehci_resume);
 
 #ifdef CONFIG_OF
 static const struct of_device_id exynos_ehci_match[] = {
@@ -304,7 +297,7 @@ static struct platform_driver exynos_ehci_driver = {
        .shutdown       = usb_hcd_platform_shutdown,
        .driver = {
                .name   = "exynos-ehci",
-               .pm     = &exynos_ehci_pm_ops,
+               .pm     = pm_ptr(&exynos_ehci_pm_ops),
                .of_match_table = of_match_ptr(exynos_ehci_match),
        }
 };