[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <478F1CDD.76E4.0078.0@novell.com>
Date: Thu, 17 Jan 2008 08:16:13 +0000
From: "Jan Beulich" <jbeulich@...ell.com>
To: "David Brownell" <david-b@...bell.net>
Cc: "Roman Zippel" <zippel@...ux-m68k.org>,
"lkml" <linux-kernel@...r.kernel.org>,
"Randy Dunlap" <rdunlap@...otime.net>
Subject: Re: 2.6.23-git Kconfig regression
>>> David Brownell <david-b@...bell.net> 17.01.08 01:02 >>>
>On Wednesday 16 January 2008, Jan Beulich wrote:
>> >>> Randy Dunlap <rdunlap@...otime.net> 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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists