USB: Move runtime PM callbacks to usb_device_pm_ops
PATCH 1/1 USB: Move runtime PM callbacks to usb_device_pm_ops
From: Rafael J. Wysocki <[email protected]>
USB defines usb_device_type pointing to usb_device_pm_ops that provides system-wide PM callbacks only and usb_bus_type pointing to usb_bus_pm_ops that provides runtime PM callbacks only. However, the USB runtime PM callbacks may be defined in usb_device_pm_ops which makes it possible to drop usb_bus_pm_ops and will allow us to consolidate the handling of subsystems by the PM core code.
---
Hi Greg,
Would you mind if I merged the following patch? It is requisite for
https://patchwork.kernel.org/patch/552411/ which I think is the right thing to do and people seem to generally agree with me.
Alan has seen it and says it is fine.
Thanks,
Rafael
--- drivers/usb/core/driver.c | 15 +++------------ drivers/usb/core/usb.c | 5 +++++ drivers/usb/core/usb.h | 3 +++ 3 files changed, 11 insertions(+), 12 deletions(-)
drivers/usb/core/driver.c +3 -12
@@ -1646,7 +1646,7 @@ static int autosuspend_check(struct usb_return 0 ; } -static int usb_runtime_suspend (struct device *dev) +int usb_runtime_suspend (struct device *dev) {struct usb_device *udev =to_usb_device (dev);int status;
@@ -1662,7 +1662,7 @@ static int usb_runtime_suspend(struct dereturn status; } -static int usb_runtime_resume (struct device *dev) +int usb_runtime_resume (struct device *dev) {struct usb_device *udev =to_usb_device (dev);int status;
@@ -1674,7 +1674,7 @@ static int usb_runtime_resume(struct devreturn status; } -static int usb_runtime_idle (struct device *dev) +int usb_runtime_idle (struct device *dev) {struct usb_device *udev =to_usb_device (dev);
@@ -1686,19 +1686,10 @@ static int usb_runtime_idle(struct devic return 0; } -static const struct dev_pm_ops usb_bus_pm_ops = { - .runtime_suspend = usb_runtime_suspend, - .runtime_resume = usb_runtime_resume, - .runtime_idle = usb_runtime_idle, -}; -#endif /* CONFIG_USB_SUSPEND */ struct bus_type usb_bus_type = { .name ="usb" , .match = usb_device_match, .uevent = usb_uevent, -#ifdef CONFIG_USB_SUSPEND - .pm = &usb_bus_pm_ops, -#endif };
drivers/usb/core/usb.h +3 -0
@@ -77,6 +77,9 @@ static inline int usb_port_resume(structextern void usb_autosuspend_device (struct usb_device *udev);extern int usb_autoresume_device (struct usb_device *udev);extern int usb_remote_wakeup (struct usb_device *dev); +extern int usb_runtime_suspend (struct device *dev); +extern int usb_runtime_resume (struct device *dev); +extern int usb_runtime_idle (struct device *dev);#else
drivers/usb/core/usb.c +5 -0
@@ -315,6 +315,11 @@ static const struct dev_pm_ops usb_devic .thaw = usb_dev_thaw, .poweroff = usb_dev_poweroff, .restore = usb_dev_restore, +#ifdef CONFIG_USB_SUSPEND + .runtime_suspend = usb_runtime_suspend, + .runtime_resume = usb_runtime_resume, + .runtime_idle = usb_runtime_idle, +#endif };#endif /* CONFIG_PM */
Quoted 12 lines · Rafael J. Wysocki
From: Rafael J. Wysocki <[email protected]>
USB defines
usb_device_typepointing tousb_device_pm_opsthat provides system-wide PM callbacks only andusb_bus_typepointing tousb_bus_pm_opsthat provides runtime PM callbacks only. However, the USB runtime PM callbacks may be defined inusb_device_pm_opswhich makes it possible to dropusb_bus_pm_opsand will allow us to consolidate the handling of subsystems by the PM core code.Signed-off-by Rafael J. Wysocki <[email protected]>---
Quoted 7 lines
Hi Greg,
Would you mind if I merged the following patch? It is requisite for
https://patchwork.kernel.org/patch/552411/ which I think is the right thing to do and people seem to generally agree with me.Alan has seen it and says it is fine.
Looks great to me, feel free to add:
to it and take it through your tree.
thanks,
greg k-h
Quoted 12 lines · Rafael J. Wysocki
From: Rafael J. Wysocki <[email protected]>
USB defines
usb_device_typepointing tousb_device_pm_opsthat provides system-wide PM callbacks only andusb_bus_typepointing tousb_bus_pm_opsthat provides runtime PM callbacks only. However, the USB runtime PM callbacks may be defined inusb_device_pm_opswhich makes it possible to dropusb_bus_pm_opsand will allow us to consolidate the handling of subsystems by the PM core code.Signed-off-by Rafael J. Wysocki <[email protected]>---
Quoted 7 lines
Hi Greg,
Would you mind if I merged the following patch? It is requisite for
https://patchwork.kernel.org/patch/552411/ which I think is the right thing to do and people seem to generally agree with me.Alan has seen it and says it is fine.
Looks great to me, feel free to add:
to it and take it through your tree.
thanks,
greg k-h
Quoted 19 lines · Greg KH
Quoted 18 lines · Rafael J. Wysocki
From: Rafael J. Wysocki <[email protected]>
USB defines
usb_device_typepointing tousb_device_pm_opsthat provides system-wide PM callbacks only andusb_bus_typepointing tousb_bus_pm_opsthat provides runtime PM callbacks only. However, the USB runtime PM callbacks may be defined inusb_device_pm_opswhich makes it possible to dropusb_bus_pm_opsand will allow us to consolidate the handling of subsystems by the PM core code.Signed-off-by Rafael J. Wysocki <[email protected]>---
Hi Greg,
Would you mind if I merged the following patch? It is requisite for
https://patchwork.kernel.org/patch/552411/ which I think is the right thing to do and people seem to generally agree with me.
Quoted 5 lines
Quoted 1 line
Alan has seen it and says it is fine.
Looks great to me, feel free to add:
to it and take it through your tree.
I will, thanks!
Rafael
Quoted 19 lines · Greg KH
Quoted 18 lines · Rafael J. Wysocki
From: Rafael J. Wysocki <[email protected]>
USB defines
usb_device_typepointing tousb_device_pm_opsthat provides system-wide PM callbacks only andusb_bus_typepointing tousb_bus_pm_opsthat provides runtime PM callbacks only. However, the USB runtime PM callbacks may be defined inusb_device_pm_opswhich makes it possible to dropusb_bus_pm_opsand will allow us to consolidate the handling of subsystems by the PM core code.Signed-off-by Rafael J. Wysocki <[email protected]>---
Hi Greg,
Would you mind if I merged the following patch? It is requisite for
https://patchwork.kernel.org/patch/552411/ which I think is the right thing to do and people seem to generally agree with me.
Quoted 5 lines
Quoted 1 line
Alan has seen it and says it is fine.
Looks great to me, feel free to add:
to it and take it through your tree.
I will, thanks!
Rafael