aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/usb/gadget/function/f_serial.c
diff options
context:
space:
mode:
authorFabrice Gasnier <fabrice.gasnier@st.com>2020-04-23 13:55:55 +0200
committerFelipe Balbi <balbi@kernel.org>2020-05-25 11:09:39 +0300
commite702a7c346344733824e27c943cbef59b74aef6f (patch)
tree6951f2e1350b592ab7fa9b3ae6e99d987d1d700e /drivers/usb/gadget/function/f_serial.c
parentusb: gadget: u_serial: add suspend resume callbacks (diff)
downloadwireguard-linux-e702a7c346344733824e27c943cbef59b74aef6f.tar.xz
wireguard-linux-e702a7c346344733824e27c943cbef59b74aef6f.zip
usb: gadget: f_serial: add suspend resume callbacks
Add suspend resume callbacks to notify u_serial of the bus suspend/resume state. Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com> Signed-off-by: Felipe Balbi <balbi@kernel.org>
Diffstat (limited to 'drivers/usb/gadget/function/f_serial.c')
-rw-r--r--drivers/usb/gadget/function/f_serial.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/usb/gadget/function/f_serial.c b/drivers/usb/gadget/function/f_serial.c
index 1406255d0865..e62713846350 100644
--- a/drivers/usb/gadget/function/f_serial.c
+++ b/drivers/usb/gadget/function/f_serial.c
@@ -348,6 +348,20 @@ static void gser_unbind(struct usb_configuration *c, struct usb_function *f)
usb_free_all_descriptors(f);
}
+static void gser_resume(struct usb_function *f)
+{
+ struct f_gser *gser = func_to_gser(f);
+
+ gserial_resume(&gser->port);
+}
+
+static void gser_suspend(struct usb_function *f)
+{
+ struct f_gser *gser = func_to_gser(f);
+
+ gserial_suspend(&gser->port);
+}
+
static struct usb_function *gser_alloc(struct usb_function_instance *fi)
{
struct f_gser *gser;
@@ -369,6 +383,8 @@ static struct usb_function *gser_alloc(struct usb_function_instance *fi)
gser->port.func.set_alt = gser_set_alt;
gser->port.func.disable = gser_disable;
gser->port.func.free_func = gser_free;
+ gser->port.func.resume = gser_resume;
+ gser->port.func.suspend = gser_suspend;
return &gser->port.func;
}