[U-Boot] [UBOOT RFC PATCH 02/13] usb: gadget: udc-core: Add minimal udc-core from linux kernel

Lukasz Majewski
2014-08-20T07:02:44Z

Hi Kishon,

>
>
> On Tuesday 19 August 2014 08:58 PM, Felipe Balbi wrote:
> > On Tue, Aug 19, 2014 at 08:48:36PM +0530, Kishon Vijay Abraham I
> > wrote:
> >> Hi Lukasz,
> >>
> >> On Tuesday 19 August 2014 02:22 PM, Lukasz Majewski wrote:
> >>> Hi Kishon,
> >>>
> >>>> In order to support multiple USB device controllers in uboot,
> >>>> udc-core is needed.
> >>>
> >>> Is it? In u-boot at best only one UDC is operational at a time.
> >>
> >> I didn't mean operational at the same time. dra7xx has 4 USB
> >> controllers and we should allow the user to use any USB port for
> >> DFU.
> >
> > but from u-boot's perspective, that can (should?) be a build-time
> > choice. That user, certainly, won't need more than one port active
> > for booting, right ?
>
> hmm.. right now I don't think any one needs more than one port.

Please look into the dfu/ums commands interface. There is a possibility
to set the controller for transmission.

> But then without udc core, we have to maintain global variable in
> gadget.c. Maybe slightly cleaner way is to use udc..

I don't mind taking code from linux kernel, but I'm concerned about the
complexity and accepting the dead code. The composite.c was taken from
2.6.36 on purpose - it was the smallest working code in the linux
kernel.

> >
> >>>> udc-core also helps to cleanly link the USB
> >>>> peripheral driver with the gadget driver. Hence Ported minimal
> >>>> udc-core from linux kernel.
> >>>
> >>> I'd appreciate the exact SHA for this udc-core.c code. And the SHA
> >>> should be from some already released mainline code (like final
> >>> 3.16), not any private branch nor linux-next.
> >>
> >> We can't have the exact udc-core.c from linux kernel as it deals
> >> with kernel driver model stuff and vfs which is not needed for
> >> kernel. Trying to have the exact same code from kernel complicates
> >> it.
> >
> > what he means is to point to the SHA1 when you originally forked the
> > code from kernel. Sure udc-core can't be the same, but you based
> > off of a known commit ID frmo the kernel.
>
> Ah ok. The header of the file gives the gives the kernel tag it is
> forked from. Maybe add that in commit log to?

Please for example refer to: SHA1: dee1d99973 and b4d36f6

>
> -Kishon
>
> >

--
Best regards,

Lukasz Majewski

Samsung R&D Institute Poland (SRPOL) | Linux Platform Group