[U-Boot] [PATCH] dm: usb: gadget: Fix boot breakage on sunxi platforms

Marek Vasut
2019-01-04T00:04:16Z

On 1/3/19 10:47 PM, Lukasz Majewski wrote:
> On Fri, 4 Jan 2019 01:23:17 +0530
> Jagan Teki <jagan@amarulasolutions.com> wrote:
>
>> On Thu, Jan 3, 2019 at 12:29 PM Lukasz Majewski <lukma@denx.de> wrote:
>>>
>>> Hi Jagan,
>>>
>>>> On Wed, Jan 2, 2019 at 4:08 PM Jean-Jacques Hiblot
>>>> <jjhiblot@ti.com> wrote:
>>>>>
>>>>>
>>>>> On 29/12/2018 19:49, Jagan Teki wrote:
>>>>>> On Mon, Dec 24, 2018 at 3:44 AM Jagan Teki
>>>>>> <jagan@amarulasolutions.com> wrote:
>>>>>>> On Fri, Dec 21, 2018 at 2:20 PM Jean-Jacques Hiblot
>>>>>>> <jjhiblot@ti.com> wrote: Better to have proper commit head
>>>>>>> that tells the real issue.
>>>>>
>>>>> I found it hard to come up with a short description of the real
>>>>> issue.
>>>>>
>>>>> At least this title makes it clear that it is a regression fix,
>>>>> not a new feature.
>>>>>
>>>>> The details of the failures are in the commit log (or so I
>>>>> thought)
>>>>>>>
>>>>>>>> Fixes commit 013116243950 ("dm: usb: create a new UCLASS ID
>>>>>>>> for USB gadget devices")
>>>>>>>>
>>>>>>>> The UCLASS_DRIVER for id UCLASS_USB_GADGET_GENERIC needs to
>>>>>>>> be declared even for platforms that do not enable
>>>>>>>> DM_USB_GADGET. Otherwise the driver for their usb
>>>>>>>> peripheral controller fails to bind.
>>>>>>> Sorry this is unclear, you are trying to skip DM_USB_GADGET
>>>>>>> code even though UCLASS_USB_GADGET_GENERIC id used. does it
>>>>>>> make sense?
>>>>>
>>>>> Sorry for the delay. This was indeed a vacation time.
>>>>>
>>>>> This patch does not skip DM_USB_GADGET. What it does is declare
>>>>> the UCLASS_DRIVER for USB peripheral devices even if
>>>>> DM_USB_GADGET is not set.
>>>>>
>>>>> DM_USB_GADGET is a new option and not (yet) widely used and some
>>>>> drivers have their own version of the DM support for gadget
>>>>> drivers (ie they implement their own version of
>>>>> usb_gadget_initialize(), usb_gadget_release() and
>>>>> usb_gadget_handle_interrupts()). However all those drivers use
>>>>> the UCLASS_USB_GADGET_GENERIC uclass ID and thus the
>>>>> UCLASS_DRIVER for UCLASS_USB_GADGET_GENERIC must be declared.
>>>>> In the past they used UCLASS_USB_DEV_GENERIC, but this option
>>>>> is intended for the host side.
>>>>
>>>> Acked-by: Jagan Teki <jagan@openedev.com>
>>>>
>>>> Marek, any comments?
>>>
>>> Yes, lets wait for Marek's comment and I will prepare PR (to Marek),
>>> which also includes some other fixes.
>>
>> Please don't miss this, sunxi need this fix.
>
> I'm now running build tests on this and Sam's patches. I will prepare
> PR and send it to Marek or Tom (if Marek is overloaded).

It is still unclear what you wanted me to comment on.

And you know where to send the PR - u-boot-usb.

--
Best regards,
Marek Vasut