Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e1620d59 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

USB: Move runtime PM callbacks to usb_device_pm_ops



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.

Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
Acked-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 99759619
Loading
Loading
Loading
Loading
+3 −12
Original line number Diff line number Diff line
@@ -1646,7 +1646,7 @@ static int autosuspend_check(struct usb_device *udev)
	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;
@@ -1667,7 +1667,7 @@ static int usb_runtime_suspend(struct device *dev)
	return 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;
@@ -1679,7 +1679,7 @@ static int usb_runtime_resume(struct device *dev)
	return status;
}

static int usb_runtime_idle(struct device *dev)
int usb_runtime_idle(struct device *dev)
{
	struct usb_device	*udev = to_usb_device(dev);

@@ -1691,19 +1691,10 @@ static int usb_runtime_idle(struct device *dev)
	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
};
+5 −0
Original line number Diff line number Diff line
@@ -315,6 +315,11 @@ static const struct dev_pm_ops usb_device_pm_ops = {
	.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 */
+3 −0
Original line number Diff line number Diff line
@@ -77,6 +77,9 @@ static inline int usb_port_resume(struct usb_device *udev, pm_message_t msg)
extern 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