OSDN Git Service

usb: gadget: f_acm: add suspend resume callbacks
authorFabrice Gasnier <fabrice.gasnier@st.com>
Thu, 23 Apr 2020 11:55:56 +0000 (13:55 +0200)
committerFelipe Balbi <balbi@kernel.org>
Mon, 25 May 2020 08:09:39 +0000 (11:09 +0300)
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>
drivers/usb/gadget/function/f_acm.c

index 7c152c2..200596e 100644 (file)
@@ -723,6 +723,20 @@ static void acm_free_func(struct usb_function *f)
        kfree(acm);
 }
 
+static void acm_resume(struct usb_function *f)
+{
+       struct f_acm *acm = func_to_acm(f);
+
+       gserial_resume(&acm->port);
+}
+
+static void acm_suspend(struct usb_function *f)
+{
+       struct f_acm *acm = func_to_acm(f);
+
+       gserial_suspend(&acm->port);
+}
+
 static struct usb_function *acm_alloc_func(struct usb_function_instance *fi)
 {
        struct f_serial_opts *opts;
@@ -750,6 +764,8 @@ static struct usb_function *acm_alloc_func(struct usb_function_instance *fi)
        acm->port_num = opts->port_num;
        acm->port.func.unbind = acm_unbind;
        acm->port.func.free_func = acm_free_func;
+       acm->port.func.resume = acm_resume;
+       acm->port.func.suspend = acm_suspend;
 
        return &acm->port.func;
 }