diff options
author | Chunfeng Yun <chunfeng.yun@mediatek.com> | 2020-07-27 15:14:55 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-07-29 16:53:58 +0200 |
commit | dc4c1aa7eae99d7a69717247cc6bd1c071407104 (patch) | |
tree | c43fcf1891d7a049f5efcac4b1f797e11e5b05bc /drivers/usb/mtu3/mtu3_gadget.c | |
parent | 1258450ef38af7ea5b27a0a14195bb406f59cda8 (diff) | |
download | linux-dc4c1aa7eae99d7a69717247cc6bd1c071407104.tar.gz |
usb: mtu3: add ->udc_set_speed()
Make use of the method to make sure connect on speeds
supported by the gadget driver.
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Link: https://lore.kernel.org/r/1595834101-13094-6-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/mtu3/mtu3_gadget.c')
-rw-r--r-- | drivers/usb/mtu3/mtu3_gadget.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/usb/mtu3/mtu3_gadget.c b/drivers/usb/mtu3/mtu3_gadget.c index 6b26cb8054cd..3d1312972bfe 100644 --- a/drivers/usb/mtu3/mtu3_gadget.c +++ b/drivers/usb/mtu3/mtu3_gadget.c @@ -577,6 +577,19 @@ static int mtu3_gadget_stop(struct usb_gadget *g) return 0; } +static void +mtu3_gadget_set_speed(struct usb_gadget *g, enum usb_device_speed speed) +{ + struct mtu3 *mtu = gadget_to_mtu3(g); + unsigned long flags; + + dev_dbg(mtu->dev, "%s %s\n", __func__, usb_speed_string(speed)); + + spin_lock_irqsave(&mtu->lock, flags); + mtu3_set_speed(mtu, speed); + spin_unlock_irqrestore(&mtu->lock, flags); +} + static const struct usb_gadget_ops mtu3_gadget_ops = { .get_frame = mtu3_gadget_get_frame, .wakeup = mtu3_gadget_wakeup, @@ -584,6 +597,7 @@ static const struct usb_gadget_ops mtu3_gadget_ops = { .pullup = mtu3_gadget_pullup, .udc_start = mtu3_gadget_start, .udc_stop = mtu3_gadget_stop, + .udc_set_speed = mtu3_gadget_set_speed, }; static void mtu3_state_reset(struct mtu3 *mtu) |