[U-Boot] [PATCH v4 6/9] dm: usb: Add support for interrupt queues to the dm usb code

Hans de Goede hdegoede at redhat.com
Sat May 9 18:08:12 CEST 2015


Hi,

On 06-05-15 16:41, Simon Glass wrote:
> Hi Hans,
>
> On 5 May 2015 at 11:42, Simon Glass <sjg at chromium.org> wrote:
>> On 5 May 2015 at 03:54, Hans de Goede <hdegoede at redhat.com> wrote:
>>> Interrupt endpoints typically are polled for a long time by the usb
>>> controller before they return anything, so calls to submit_int_msg() can
>>> take a long time to complete this.
>>>
>>> To avoid this the u-boot code has the an interrupt queue mechanism / API,
>>> add support for this to the driver-model usb code.
>>>
>>> See the added doc comments for more details.
>>>
>>> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
>>> Acked-by: Simon Glass <sjg at chromium.org>
>>> ---
>>>   drivers/usb/host/usb-uclass.c | 36 ++++++++++++++++++++++++++++++++
>>>   include/usb.h                 | 48 ++++++++++++++++++++++++++++++++++++++++++-
>>>   2 files changed, 83 insertions(+), 1 deletion(-)
>>
>> Applied to u-boot-dm, thanks!
>
> Again I am getting ahead of myself. This one fails on some Samsung boards:
>
> 35: dm: usb: Add support for interrupt queues to the dm usb code
>         arm:  +   arndale odroid snow odroid-xu3
> +drivers/usb/host/ehci-hcd.o: In function `create_int_queue':
> +build/../drivers/usb/host/ehci-hcd.c:1258: multiple definition of
> `create_int_queue'
> +drivers/usb/host/usb-uclass.o:build/../drivers/usb/host/usb-uclass.c:71:
> first defined here
> +drivers/usb/host/ehci-hcd.o: In function `poll_int_queue':
> +build/../drivers/usb/host/ehci-hcd.c:1414: multiple definition of
> `poll_int_queue'
> +drivers/usb/host/usb-uclass.o:build/../drivers/usb/host/usb-uclass.c:83:
> first defined here
> +drivers/usb/host/ehci-hcd.o: In function `destroy_int_queue':
> +build/../drivers/usb/host/ehci-hcd.c:1450: multiple definition of
> `destroy_int_queue'
> +drivers/usb/host/usb-uclass.o:build/../drivers/usb/host/usb-uclass.c:94:
> first defined here
> +make[2]: *** [drivers/usb/host/built-in.o] Error 1
> +make[1]: *** [drivers/usb/host] Error 2
>
> I'll drop this patch until you respin it.

Thinking more about this, now I understand what is going on, this build
failure goes away with the patch titled:

"dm: usb: Add support for interrupt queues to the dm ehci code"

I understand that having a build failure halfway through the series is not
acceptable, so I'll squash the 2 together.

Regards

Hans


More information about the U-Boot mailing list