>>> David Brownell <[EMAIL PROTECTED]> 17.01.08 01:02 >>> >On Wednesday 16 January 2008, Jan Beulich wrote: >> >>> Randy Dunlap <[EMAIL PROTECTED]> 20.10.07 05:21 >>> >> >> Sorry for only now getting back to this. >> >> >On Fri, 19 Oct 2007 19:55:35 -0700 Randy Dunlap wrote: >> > >> ... >> >> I'm pretty convinced that drivers/usb/gadget/Kconfig isn't really >> written properly: > >That's orthogonal to whether that patch caused a regression, >of course. The operational semantics have, except when they >were changed, been that it did what it needed to do. > > >> These prompt-less items should go after the choice (resulting >> in the choice to become a boolean one), > >Maybe -- such a change would have been OK as part of the patch >which changed the operational semantics of Kconfig.
I simply wasn't aware of dependencies on the hierarchy re-ordering done inside menu_finalize() within choices, which is what broke this. And I'm not convinced this hierarchy re-ordering is even fully consistent in its current shape (i.e. it just happens to work for the few cases it really is used in). >>... >> these options are just pointless except for avoiding >> >> #if defined(CONFIG_...) || defined(CONFIG_..._MODULE)' >> >> in C sources. > >Well, avoiding such error-prone idioms would seem good to me. >They're common enough, and nasty. But that's not why those >mechanisms are there. But nevertheless there are CONFIG_USB_GADGET_* dependencies in sources. But in a draft re-write of that Kconfig I found an easy way to keep these anyway, so the point isn't a concern to me anymore. >> In that latter case, the choice could become a tristate >> one, allowing all of the selections to be built at once as modules >> (which really seems to be the way distro kernels would want to use >> it) or any one of them to be built in (the current behavior, except >> that at present even when using these as a module only a single >> one can be selected). > >The requirements are that (a) just one peripheral controller >driver be selectable, and (b) that it be linked either >statically or dynamically. Related, that for the gadget >drivers (c) none may be selected until the peripheral >controller driver they'll be used with is known, and either >(d1) one may be statically linked, or else (d2) any number >may be built as modules, with only one loaded at a time. So I'll keep it that way. >This stuff isn't for "distro" kernels; it's for embedded >environments of the "only this hardware exists" sort. >Space matters, and having small code matters. Nobody has >been interested enough in an "embedded distro" model to >provide patches enabling such stuff. Why not make the whole thing depend on EMBEDDED then? Or is development for this perhaps being done in non-embedded environments? Thanks for the clarification in any case, now I just needs Roman's opinion on the re-ordering issue in order to come up with a revised patch. Jan -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/