usb_put_hcd(hcd);
 }
 
-#ifdef CONFIG_PM
 static int exynos_ehci_suspend(struct device *dev)
 {
        struct usb_hcd *hcd = dev_get_drvdata(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[] = {
        .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),
        }
 };