Re: [PATCH, RFC 2/2] USB: host: make USB_ARCH_HAS_?HCI obsolete

From: Arnd Bergmann
Date: Tue Jun 04 2013 - 11:39:00 EST


On Tuesday 04 June 2013 11:22:01 Alan Stern wrote:
>
> Instead of doing this, it makes more sense to enable USB_ARCH_HAS_HCD
> whenever host-side USB is enabled. In other words,
>
> def_bool USB

The problem with this is that a lot of drivers (24 to be exact) are defined
like

config INPUT_ATI_REMOTE2
tristate "ATI / Philips USB RF remote control"
depends on USB_ARCH_HAS_HCD
select USB

so that would create a circular dependency unless we change all of them
at once. I did that when creating this patch, but then decided to
revert it for now and do smaller steps.

We could do

config USB_ARCH_HAS_HCD
def_bool USB_SUPPORT

or

config USB_ARCH_HAS_HCD
def_bool y

which would both have the exact same behavior as 'def_bool HAS_IOMEM'.

> The HAS_IOMEM won't matter, because USB is defined only when
> USB_SUPPORT is enabled, and USB_SUPPORT already depends on HAS_IOMEM.

Right.

> Of course, it will then be necessary to remove the dependency on
> USB_ARCH_HAS_HCD from the "config USB" entry. Which is exactly what
> you're trying to accomplish, anyway.

That dependency is redundant already, and should certainly be
removed now.

> > diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
> > index e060ecf..045f9d27 100644
> > --- a/drivers/usb/host/Kconfig
> > +++ b/drivers/usb/host/Kconfig
> > @@ -17,7 +17,7 @@ config USB_C67X00_HCD
> >
> > config USB_XHCI_HCD
> > tristate "xHCI HCD (USB 3.0) support"
> > - depends on USB_ARCH_HAS_XHCI
> > + depends on PCI
>
> You probably don't want to add this dependency. After all, one of the
> comments removed above points out that there are non-PCI xHCI
> controllers.

Yes, that was a mistake. I noticed this myself but forgot to edit
the file again.

Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/