diff options
author | Fabrice Gasnier <fabrice.gasnier@st.com> | 2020-04-23 13:55:56 +0200 |
---|---|---|
committer | Felipe Balbi <balbi@kernel.org> | 2020-05-25 10:09:39 +0200 |
commit | 3affccdd5ed118042553927654a8c8d897cc1a98 (patch) | |
tree | c4b3c2b48810241db6b5d3800ac396876c21fc1b /drivers/usb/gadget | |
parent | usb: gadget: f_serial: add suspend resume callbacks (diff) | |
download | linux-3affccdd5ed118042553927654a8c8d897cc1a98.tar.xz linux-3affccdd5ed118042553927654a8c8d897cc1a98.zip |
usb: gadget: f_acm: 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')
-rw-r--r-- | drivers/usb/gadget/function/f_acm.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/usb/gadget/function/f_acm.c b/drivers/usb/gadget/function/f_acm.c index 7c152c28b26c..200596ea9557 100644 --- a/drivers/usb/gadget/function/f_acm.c +++ b/drivers/usb/gadget/function/f_acm.c @@ -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; } |