Skip to content

Commit

Permalink
usb: dwc3: disable USB core PHY management
Browse files Browse the repository at this point in the history
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 46034a9 ("usb:
host: xhci-plat: add platform data support") and f768e71 ("usb:
host: xhci-plat: add priv quirk for skip PHY initialization") to
propagate the setting for now.

Fixes: 4e88d4c ("usb: add a flag to skip PHY initialization to struct usb_hcd")
Fixes: 178a0bc ("usb: core: hcd: integrate the PHY wrapper into the HCD core")
Tested-by: Matthias Kaehlcke <mka@chromium.org>
Cc: stable <stable@kernel.org>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20220825131836.19769-1-johan+linaro@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Johan Hovold authored and Greg Kroah-Hartman committed Aug 30, 2022
1 parent 3d5f709 commit 6000b8d
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions drivers/usb/dwc3/host.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit 6000b8d

Please sign in to comment.