diff options
author | Peter Chen <peter.chen@nxp.com> | 2020-08-21 10:55:48 +0800 |
---|---|---|
committer | Felipe Balbi <balbi@kernel.org> | 2020-10-02 09:57:42 +0300 |
commit | e81a7018d93a7de31a3f121c9a7eecd0a5ec58b0 (patch) | |
tree | 4df35b09f38a78e71a14a9f5c7c6db7aa161c15a /drivers/usb/dwc3/gadget.h | |
parent | 6b7778924c70dad395f6aa843d641e799590f890 (diff) | |
download | linux-stable-e81a7018d93a7de31a3f121c9a7eecd0a5ec58b0.tar.gz linux-stable-e81a7018d93a7de31a3f121c9a7eecd0a5ec58b0.tar.bz2 linux-stable-e81a7018d93a7de31a3f121c9a7eecd0a5ec58b0.zip |
usb: dwc3: allocate gadget structure dynamically
The current code uses commit fac323471df6 ("usb: udc: allow adding
and removing the same gadget device") as the workaround to let
the gadget device is re-used, but it is not allowed from driver
core point. In this commit, we allocate gadget structure dynamically,
and free it at its release function. Since the gadget device's
driver_data has already occupied by usb_composite_dev structure, we have
to use gadget device's platform data to store dwc3 structure.
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Alan Stern <stern@rowland.harvard.edu>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
Diffstat (limited to 'drivers/usb/dwc3/gadget.h')
-rw-r--r-- | drivers/usb/dwc3/gadget.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/dwc3/gadget.h b/drivers/usb/dwc3/gadget.h index a7791cb827c4..0cd281949970 100644 --- a/drivers/usb/dwc3/gadget.h +++ b/drivers/usb/dwc3/gadget.h @@ -17,7 +17,7 @@ struct dwc3; #define to_dwc3_ep(ep) (container_of(ep, struct dwc3_ep, endpoint)) -#define gadget_to_dwc(g) (container_of(g, struct dwc3, gadget)) +#define gadget_to_dwc(g) (dev_get_platdata(&g->dev)) /* DEPCFG parameter 1 */ #define DWC3_DEPCFG_INT_NUM(n) (((n) & 0x1f) << 0) |