Re: [2.6 patch] improce USB Gadget Kconfig

From: Roman Zippel
Date: Fri Jan 16 2004 - 17:11:19 EST


Hi,

On Thu, 15 Jan 2004, David Brownell wrote:

> choice values can also be tristate symbols, so you wouldn't need the
> separate defines, unless you really always want to compile only a single
> controller (even as module).

That's it precisely. USB devices have only one (upstream) link;
they're not like hosts. And its link to the controller isn't
re-wired on the fly any more than, say, the MMU. Kconfig just
needed some persuasion before it'd dance that way.

It's still weird. Where is the problem to compile all controllers as
module? At runtime you still have the possibility that only one of them
can be loaded and the next one would fail to load.

And similar for net2280, pxa2xx, and so on. Either that, or moving it
up higher in the text file, seems to have been the black magic that
made the menu layout code behave.

To fix the menu layout it's probably the easiest to put most of it within
a "if USB_GADGET" ... "endif".

> I'm also not sure about USB_PXA2XX_SMALL, as it also can be written as:
>
> config USB_PXA2XX_SMALL
> depends on USB_PXA2XX = y
> default USB_ZERO = y || USB_ETH = y || USB_G_SERIAL
>
> is this really intended?

I'm not sure what you're asking. I wrote it with one line per
driver that's less error-prone in case updates get merged. The
latest version is more terse, but there are lots of ways to
write that kind of logic.

The comment confuses me, I don't see how it tests that it's "only one" of
something.

Reproduced it again here today, with a reasonably current 2.6.1
tree on top of RH9 (plus some updated RPMs from RH). It's there
in gconfig too. The workaround is "vi .config" and delete the
sticky DUMMY_HCD entry, then re-configure.

It really works fine here, are you sure you don't have any additional
changes under scripts/kconfig? Did you try this on a different machine?

bye, Roman
-
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/