[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGTfZH2ZEOc3mM=ao-wFco6b0U8KY9E0SF4H6kp3tYbkmef0QQ@mail.gmail.com>
Date: Sat, 25 Feb 2017 12:35:37 +0900
From: Chanwoo Choi <cwchoi00@...il.com>
To: Roger Quadros <rogerq@...com>
Cc: balbi@...nel.org, vivek.gautam@...eaurora.org,
linux-usb@...r.kernel.org,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 4/4] usb: dwc3: Workaround for super-speed host on dra7
in dual-role mode
Hi Roger,
[snip]
> /* dwc->lock must be held */
> static void dwc3_otg_core_exit(struct dwc3 *dwc)
> {
> + if (dwc->edev)
> + return;
> +
> /* disable all otg irqs */
> dwc3_otg_disable_events(dwc, DWC3_OTG_ALL_EVENTS);
> /* clear all events */
> @@ -1286,6 +1364,57 @@ static int dwc3_drd_init(struct dwc3 *dwc)
>
> INIT_WORK(&dwc->otg_work, dwc3_drd_work);
>
> + /* If extcon device is present we don't rely on OTG core for ID event */
> + if (dwc->edev) {
> + int id, vbus;
> +
> + dwc->edev_nb.notifier_call = dwc3_drd_notifier;
> + ret = extcon_register_notifier(dwc->edev, EXTCON_USB,
> + &dwc->edev_nb);
I recommend that you better to use the devm_extcon_register_notifier()
> + if (ret < 0) {
> + dev_err(dwc->dev, "Couldn't register USB cable notifier\n");
> + return -ENODEV;
> + }
> +
> + ret = extcon_register_notifier(dwc->edev, EXTCON_USB_HOST,
> + &dwc->edev_nb);
Ditto.
[snip]
--
Best Regards,
Chanwoo Choi
Samsung Electronics
Powered by blists - more mailing lists