Message ID | 20220825131836.19769-1-johan+linaro@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 6000b8d900cd5f52fbcd0776d0cc396e88c8c2ea |
Headers | show |
Series | usb: dwc3: disable USB core PHY management | expand |
On Thu, Aug 25, 2022 at 03:18:36PM +0200, Johan Hovold wrote: > The dwc3 driver manages its PHYs itself so the USB core PHY management > needs to be disabled. > > Use the struct xhci_plat_priv hack added by commits 46034a999c07 ("usb: > host: xhci-plat: add platform data support") and f768e718911e ("usb: > host: xhci-plat: add priv quirk for skip PHY initialization") to > propagate the setting for now. > > Fixes: 4e88d4c08301 ("usb: add a flag to skip PHY initialization to struct usb_hcd") > Fixes: 178a0bce05cb ("usb: core: hcd: integrate the PHY wrapper into the HCD core") > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> Reviewed-by: Matthias Kaehlcke <mka@chromium.org> Tested-by: Matthias Kaehlcke <mka@chromium.org> (tested on sc7x80 with '[gcc_]usb30_prim_gdsc' set to ALWAYS_ON)
diff --git a/drivers/usb/dwc3/host.c b/drivers/usb/dwc3/host.c index f6f13e7f1ba1..a7154fe8206d 100644 --- a/drivers/usb/dwc3/host.c +++ b/drivers/usb/dwc3/host.c @@ -11,8 +11,13 @@ #include <linux/of.h> #include <linux/platform_device.h> +#include "../host/xhci-plat.h" #include "core.h" +static const struct xhci_plat_priv dwc3_xhci_plat_priv = { + .quirks = XHCI_SKIP_PHY_INIT, +}; + static void dwc3_host_fill_xhci_irq_res(struct dwc3 *dwc, int irq, char *name) { @@ -92,6 +97,11 @@ int dwc3_host_init(struct dwc3 *dwc) goto err; } + ret = platform_device_add_data(xhci, &dwc3_xhci_plat_priv, + sizeof(dwc3_xhci_plat_priv)); + if (ret) + goto err; + memset(props, 0, sizeof(struct property_entry) * ARRAY_SIZE(props)); if (dwc->usb3_lpm_capable)
The dwc3 driver manages its PHYs itself so the USB core PHY management needs to be disabled. Use the struct xhci_plat_priv hack added by commits 46034a999c07 ("usb: host: xhci-plat: add platform data support") and f768e718911e ("usb: host: xhci-plat: add priv quirk for skip PHY initialization") to propagate the setting for now. Fixes: 4e88d4c08301 ("usb: add a flag to skip PHY initialization to struct usb_hcd") Fixes: 178a0bce05cb ("usb: core: hcd: integrate the PHY wrapper into the HCD core") Signed-off-by: Johan Hovold <johan+linaro@kernel.org> --- drivers/usb/dwc3/host.c | 10 ++++++++++ 1 file changed, 10 insertions(+)