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

Commit 3a571870 authored by Andrzej Pietrasiewicz's avatar Andrzej Pietrasiewicz Committed by Felipe Balbi
Browse files

usb: gadget: configfs: add suspend/resume



USB gadgets composed with configfs lack suspend and resume
methods. This patch uses composite_suspend()/composite_resume()
the same way e.g. composite_setup() or composite_disconnect()
are used in a configfs-based gadget.

Signed-off-by: default avatarAndrzej Pietrasiewicz <andrzej.p@samsung.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 60b388be
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -2064,8 +2064,7 @@ static int composite_bind(struct usb_gadget *gadget,

/*-------------------------------------------------------------------------*/

static void
composite_suspend(struct usb_gadget *gadget)
void composite_suspend(struct usb_gadget *gadget)
{
	struct usb_composite_dev	*cdev = get_gadget_data(gadget);
	struct usb_function		*f;
@@ -2088,8 +2087,7 @@ composite_suspend(struct usb_gadget *gadget)
	usb_gadget_vbus_draw(gadget, 2);
}

static void
composite_resume(struct usb_gadget *gadget)
void composite_resume(struct usb_gadget *gadget)
{
	struct usb_composite_dev	*cdev = get_gadget_data(gadget);
	struct usb_function		*f;
+3 −0
Original line number Diff line number Diff line
@@ -1453,6 +1453,9 @@ static const struct usb_gadget_driver configfs_driver_template = {
	.reset          = composite_disconnect,
	.disconnect     = composite_disconnect,

	.suspend	= composite_suspend,
	.resume		= composite_resume,

	.max_speed	= USB_SPEED_SUPER,
	.driver = {
		.owner          = THIS_MODULE,
+2 −0
Original line number Diff line number Diff line
@@ -506,6 +506,8 @@ extern int usb_string_ids_n(struct usb_composite_dev *c, unsigned n);
extern void composite_disconnect(struct usb_gadget *gadget);
extern int composite_setup(struct usb_gadget *gadget,
		const struct usb_ctrlrequest *ctrl);
extern void composite_suspend(struct usb_gadget *gadget);
extern void composite_resume(struct usb_gadget *gadget);

/*
 * Some systems will need runtime overrides for the  product identifiers