diff options
author | Wonhong Kwon <wonhongkwon@gmail.com> | 2014-10-24 13:45:47 +0900 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-11-03 15:38:17 -0800 |
commit | 5e4ccd9ee2508d04a39fa27de9eb7bf65bad7594 (patch) | |
tree | e9d499feb97308959792dc86f0560326e541320a /drivers/usb/host/ehci-platform.c | |
parent | a57971bfa1e9aa9b42ed72df027d5b985b31b56b (diff) | |
download | op-kernel-dev-5e4ccd9ee2508d04a39fa27de9eb7bf65bad7594.zip op-kernel-dev-5e4ccd9ee2508d04a39fa27de9eb7bf65bad7594.tar.gz |
usb: ehci/ohci-platform: use SIMPLE_DEV_PM_OPS to support hibernation
ehci/ohci-platform just define .suspend/.resume functions for dev_pm_ops,
but in order to support both STR(suspend-to-ram) and hibernation, other
callbacks such as .freeze/.thaw are also required.
Registering all required callbacks for both STR and hibernation can
be done by SIMPLE_DEV_PM_OPS macro function.
Signed-off-by: Wonhong Kwon <wonhong.kwon@lge.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/host/ehci-platform.c')
-rw-r--r-- | drivers/usb/host/ehci-platform.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c index 2f5b9ce..da056fe 100644 --- a/drivers/usb/host/ehci-platform.c +++ b/drivers/usb/host/ehci-platform.c @@ -311,8 +311,7 @@ static int ehci_platform_remove(struct platform_device *dev) return 0; } -#ifdef CONFIG_PM - +#ifdef CONFIG_PM_SLEEP static int ehci_platform_suspend(struct device *dev) { struct usb_hcd *hcd = dev_get_drvdata(dev); @@ -348,11 +347,7 @@ static int ehci_platform_resume(struct device *dev) ehci_resume(hcd, false); return 0; } - -#else /* !CONFIG_PM */ -#define ehci_platform_suspend NULL -#define ehci_platform_resume NULL -#endif /* CONFIG_PM */ +#endif /* CONFIG_PM_SLEEP */ static const struct of_device_id vt8500_ehci_ids[] = { { .compatible = "via,vt8500-ehci", }, @@ -368,10 +363,8 @@ static const struct platform_device_id ehci_platform_table[] = { }; MODULE_DEVICE_TABLE(platform, ehci_platform_table); -static const struct dev_pm_ops ehci_platform_pm_ops = { - .suspend = ehci_platform_suspend, - .resume = ehci_platform_resume, -}; +static SIMPLE_DEV_PM_OPS(ehci_platform_pm_ops, ehci_platform_suspend, + ehci_platform_resume); static struct platform_driver ehci_platform_driver = { .id_table = ehci_platform_table, |