mirror of
https://github.com/torvalds/linux.git
synced 2024-12-19 01:23:20 +00:00
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>
This commit is contained in:
parent
a57971bfa1
commit
5e4ccd9ee2
@ -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,
|
||||
|
@ -293,8 +293,7 @@ static int ohci_platform_remove(struct platform_device *dev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
static int ohci_platform_suspend(struct device *dev)
|
||||
{
|
||||
struct usb_hcd *hcd = dev_get_drvdata(dev);
|
||||
@ -330,11 +329,7 @@ static int ohci_platform_resume(struct device *dev)
|
||||
ohci_resume(hcd, false);
|
||||
return 0;
|
||||
}
|
||||
|
||||
#else /* !CONFIG_PM */
|
||||
#define ohci_platform_suspend NULL
|
||||
#define ohci_platform_resume NULL
|
||||
#endif /* CONFIG_PM */
|
||||
#endif /* CONFIG_PM_SLEEP */
|
||||
|
||||
static const struct of_device_id ohci_platform_ids[] = {
|
||||
{ .compatible = "generic-ohci", },
|
||||
@ -348,10 +343,8 @@ static const struct platform_device_id ohci_platform_table[] = {
|
||||
};
|
||||
MODULE_DEVICE_TABLE(platform, ohci_platform_table);
|
||||
|
||||
static const struct dev_pm_ops ohci_platform_pm_ops = {
|
||||
.suspend = ohci_platform_suspend,
|
||||
.resume = ohci_platform_resume,
|
||||
};
|
||||
static SIMPLE_DEV_PM_OPS(ohci_platform_pm_ops, ohci_platform_suspend,
|
||||
ohci_platform_resume);
|
||||
|
||||
static struct platform_driver ohci_platform_driver = {
|
||||
.id_table = ohci_platform_table,
|
||||
|
Loading…
Reference in New Issue
Block a user