Messages in this thread Patch in this message | | | From | Sandeep Maheswaram <> | Subject | [PATCH v2 3/3] usb: dwc: host: add xhci_plat_priv quirk XHCI_SKIP_PHY_INIT | Date | Tue, 1 Mar 2022 15:58:27 +0530 |
| |
dwc3 manages PHY by own DRD driver, so skip the management by HCD core. During runtime suspend phy was not getting suspend because runtime_usage value is 2.
Signed-off-by: Sandeep Maheswaram <quic_c_sanm@quicinc.com> --- drivers/usb/dwc3/host.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/drivers/usb/dwc3/host.c b/drivers/usb/dwc3/host.c index eda8719..d4fcf06 100644 --- a/drivers/usb/dwc3/host.c +++ b/drivers/usb/dwc3/host.c @@ -13,6 +13,12 @@ #include <linux/platform_device.h> #include "core.h" +#include <linux/usb/xhci-plat.h> +#include <linux/usb/xhci-quirks.h> + +static const struct xhci_plat_priv xhci_plat_dwc3_xhci = { + .quirks = XHCI_SKIP_PHY_INIT, +}; static void dwc3_host_fill_xhci_irq_res(struct dwc3 *dwc, int irq, char *name) @@ -122,6 +128,13 @@ int dwc3_host_init(struct dwc3 *dwc) } } + ret = platform_device_add_data(xhci, &xhci_plat_dwc3_xhci, + sizeof(xhci_plat_dwc3_xhci)); + if (ret) { + dev_err(dwc->dev, "failed to add data to xHCI\n"); + goto err; + } + ret = platform_device_add(xhci); if (ret) { dev_err(dwc->dev, "failed to register xHCI device\n"); -- 2.7.4
| |