Skip to contentSkip to conversation

arch/x86: Select USB before selecting host driver

PATCH New Andy Shevchenko 4 participants 8 messages Jul 4, 2017 – Jul 22, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 arch/x86: Select USB before selecting host driver

Kbuild complains if USB is not selected before any of host driver.

warning: (X86) selects USB_EHCI_HCD which has unmet direct dependencies (USB)
warning: (X86) selects USB_EHCI_HCD which has unmet direct dependencies (USB)

Select it for X86.

Fixes 64d6ac5bc4a9 ("Kconfig: USB: Migrate CONFIG_USB_EHCI_HCD users to Kconfig")
---
 arch/Kconfig | 1 +
 1 file changed, 1 insertion(+)
arch/Kconfig +1 -0
index d04ab9f177..48a267d314 100644
@@ -95,6 +95,7 @@ config X86
 	select DM_GPIO
 	select DM_SPI
 	select DM_SPI_FLASH
+	select USB
 	select USB_EHCI_HCD
 	imply CMD_FPGA_LOADMK
 	imply CMD_GETTIME
Signature · 1 line
2.11.0
#1 lore raw

PATCH 1/1 arch/x86: Select USB before selecting host driver

Hi Andy,

Quoted 18 lines · Andy Shevchenko

Kbuild complains if USB is not selected before any of host driver.

warning: (X86) selects USB_EHCI_HCD which has unmet direct dependencies (USB)
warning: (X86) selects USB_EHCI_HCD which has unmet direct dependencies (USB)

Select it for X86.

Fixes 64d6ac5bc4a9 ("Kconfig: USB: Migrate CONFIG_USB_EHCI_HCD users to Kconfig")
---
 arch/Kconfig | 1 +
 1 file changed, 1 insertion(+)
arch/Kconfig +0 -0
index d04ab9f177..48a267d314 100644

arch/Kconfig config X86 · line 101

Quoted 7 lines
arch/Kconfig +1 -0
@@ -95,6 +95,7 @@ config X86
        select DM_GPIO
        select DM_SPI
        select DM_SPI_FLASH
+       select USB
        select USB_EHCI_HCD
        imply CMD_FPGA_LOADMK
        imply CMD_GETTIME

I cannot reproduce the warnings you are reporting. Isn't this due to your board defconfig file does not include CONFIG_USB?

Regards,
Bin

#2 lore raw

PATCH 1/1 arch/x86: Select USB before selecting host driver

Quoted 17 lines · Bin Meng

Hi Andy,

Quoted 13 lines · Andy Shevchenko

Kbuild complains if USB is not selected before any of host driver.

warning: (X86) selects USB_EHCI_HCD which has unmet direct dependencies (USB)
warning: (X86) selects USB_EHCI_HCD which has unmet direct dependencies (USB)

Select it for X86.

Fixes 64d6ac5bc4a9 ("Kconfig: USB: Migrate CONFIG_USB_EHCI_HCD users to Kconfig")
---
 arch/Kconfig | 1 +
 1 file changed, 1 insertion(+)
Quoted 15 lines

arch/Kconfig config X86 · line 101

Quoted 12 lines
arch/Kconfig +1 -0
index d04ab9f177..48a267d314 100644
@@ -95,6 +95,7 @@ config X86
        select DM_GPIO
        select DM_SPI
        select DM_SPI_FLASH
+       select USB
        select USB_EHCI_HCD
        imply CMD_FPGA_LOADMK
        imply CMD_GETTIME

I cannot reproduce the warnings you are reporting. Isn't this due to your board defconfig file does not include CONFIG_USB?

It doesn't. But this doesn't matter, see below.

Anyone who selects USB host _must_ select USB as well. Since the selection is under X86 it's not anymore board business. So, options are:
1) apply my patch
2) remove selection of the host at least for X86.

Signature · 2 lines
With Best Regards,
Andy Shevchenko
#3 lore raw

PATCH 1/1 arch/x86: Select USB before selecting host driver

Quoted 5 lines · Andy Shevchenko

On Wed, Jul 5, 2017 at 8:23 AM, Bin Meng <[email protected]> wrote:

So, options are:
1) apply my patch
2) remove selection of the host at least for X86.

3) move hosts out of "if USB".

Signature · 2 lines
With Best Regards,
Andy Shevchenko
#4 lore raw

PATCH 1/1 arch/x86: Select USB before selecting host driver

+Marek,

Hi Andy,

Quoted 10 lines · Andy Shevchenko
Quoted 5 lines · Andy Shevchenko

On Wed, Jul 5, 2017 at 8:23 AM, Bin Meng <[email protected]> wrote:

So, options are:
1) apply my patch
2) remove selection of the host at least for X86.

3) move hosts out of "if USB".

4) select USB in USB_EHCI_HCD?

Not sure which option is the best way.

Regards,
Bin

#5 lore raw

PATCH 1/1 arch/x86: Select USB before selecting host driver

Quoted 14 lines · Bin Meng

+Marek,

Hi Andy,

Quoted 8 lines · Andy Shevchenko
Quoted 5 lines · Andy Shevchenko

On Wed, Jul 5, 2017 at 8:23 AM, Bin Meng <[email protected]> wrote:

So, options are:
1) apply my patch
2) remove selection of the host at least for X86.

Quoted 6 lines
Quoted 2 lines

3) move hosts out of "if USB".

4) select USB in USB_EHCI_HCD?

Not sure which option is the best way.

So, to be clear, CONFIG_USB is not used in the code. It's a Kconfig-only option we can / should use to make navigation and dependencies easier. I would think that USB needs to be enabled for any USB-related choice to be visible (so things can depends on USB or be hidden under if USB, depending on overall file context).

So I would expect X86 (and most ARCH_xxx under ARM and other cases) to at least imply USB, if not select it.

And peeking at the kernel, this maybe should be CONFIG_USB_SUPPORT not CONFIG_USB, to be clearer?

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170705/29c9d15e/attachment.sig>
#6 lore raw

PATCH 1/1 arch/x86: Select USB before selecting host driver

+Simon,

Hi Andy,

Quoted 28 lines · Tom Rini
Quoted 14 lines · Bin Meng

+Marek,

Hi Andy,

Quoted 8 lines · Andy Shevchenko
Quoted 5 lines · Andy Shevchenko

On Wed, Jul 5, 2017 at 8:23 AM, Bin Meng <[email protected]> wrote:

So, options are:
1) apply my patch
2) remove selection of the host at least for X86.

Quoted 6 lines
Quoted 2 lines

3) move hosts out of "if USB".

4) select USB in USB_EHCI_HCD?

Not sure which option is the best way.

So, to be clear, CONFIG_USB is not used in the code. It's a Kconfig-only option we can / should use to make navigation and dependencies easier. I would think that USB needs to be enabled for any USB-related choice to be visible (so things can depends on USB or be hidden under if USB, depending on overall file context).

Quoted 5 lines

So I would expect X86 (and most ARCH_xxx under ARM and other cases) to at least imply USB, if not select it.

And peeking at the kernel, this maybe should be CONFIG_USB_SUPPORT not CONFIG_USB, to be clearer?

If we don't hear comments from others, let's do like what you proposed, but please also update other x86 boards defconfig files to remove CONFIG_USB there.

Regards,
Bin

#7 lore raw

PATCH 1/1 arch/x86: Select USB before selecting host driver

Quoted 36 lines · Bin Meng

+Simon,

Hi Andy,

Quoted 31 lines · Tom Rini
Quoted 14 lines · Bin Meng

+Marek,

Hi Andy,

Quoted 8 lines · Andy Shevchenko
Quoted 5 lines · Andy Shevchenko

On Wed, Jul 5, 2017 at 8:23 AM, Bin Meng <[email protected]> wrote:

So, options are:
1) apply my patch
2) remove selection of the host at least for X86.

Quoted 6 lines
Quoted 2 lines

3) move hosts out of "if USB".

4) select USB in USB_EHCI_HCD?

Not sure which option is the best way.

So, to be clear, CONFIG_USB is not used in the code. It's a Kconfig-only option we can / should use to make navigation and dependencies easier. I would think that USB needs to be enabled for any USB-related choice to be visible (so things can depends on USB or be hidden under if USB, depending on overall file context).

So I would expect X86 (and most ARCH_xxx under ARM and other cases) to at least imply USB, if not select it.

Quoted 6 lines
Quoted 2 lines

And peeking at the kernel, this maybe should be CONFIG_USB_SUPPORT not CONFIG_USB, to be clearer?

If we don't hear comments from others, let's do like what you proposed, but please also update other x86 boards defconfig files to remove CONFIG_USB there.

I just sent a v2 [1] which updates all x86 defconfigs to remove USB.

[1] http://patchwork.ozlabs.org/patch/792443/

Regards,
Bin