[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGZ=bqLHjzpKQP63dnSK0fML2ZycmfFnSbiApV4naMCN_UrZdg@mail.gmail.com>
Date: Mon, 1 Aug 2011 12:48:19 -0400
From: Kyle Moffett <kyle@...fetthome.net>
To: Arnaud Lacombe <lacombar@...il.com>
Cc: Geert Uytterhoeven <geert@...ux-m68k.org>,
Russell King - ARM Linux <linux@....linux.org.uk>,
Zoltan Devai <zdevai@...il.com>, linux-kernel@...r.kernel.org,
chris@...kel.net, linux-am33-list@...hat.com, trivial@...nel.org,
user-mode-linux-devel@...ts.sourceforge.net, cmetcalf@...era.com,
linux-arm-kernel@...ts.infradead.org,
linux-kbuild <linux-kbuild@...r.kernel.org>
Subject: Re: [PATCH] Remove remaining references of CONFIG_GENERIC_TIME
On Mon, Aug 1, 2011 at 12:08, Arnaud Lacombe <lacombar@...il.com> wrote:
> On Mon, Aug 1, 2011 at 11:15 AM, Kyle Moffett <kyle@...fetthome.net> wrote:
>> On Mon, Aug 1, 2011 at 11:04, Arnaud Lacombe <lacombar@...il.com> wrote:
>>> On Mon, Aug 1, 2011 at 7:27 AM, Geert Uytterhoeven <geert@...ux-m68k.org> wrote:
>>>> On Mon, Aug 1, 2011 at 12:14, Russell King - ARM Linux
>>>>>>[...]
>>>>>>
>>>>>> Doesn't kconf error out when trying to select a non-existent symbol?
>>>>>
>>>>> Nope.
>>>>
>>>> You're right. So that's a bug.
>>>>
>>> depends on what you are trying to achieve and what the problem is.
>>>
>>> Internally kconfig will create a dummy symbol when it encounter a
>>> missing symbol so that arch/arm/Kconfig can reference a symbol which
>>> will be fully defined later on. I do not think you want to forward
>>> decl all the symbol which can be used. That'd be a mess. That said, we
>>> can come with a form of symbol deprecation that would error-out when
>>> used.
>>
>> Would it be possible instead to make Kconfig go through all the symbols
>> after everything is processed and identify any remaining "dummy symbols"
>> which were not actually declared anywhere?
>>
> this is software, everything is possible.
>
>> Right now if you typo a "select" statement you get no warnings that you
>> are selecting something that does not exist, which is probably a cause
>> of many kinds of errors beyond this particular one.
>>
> d'oh! ... I'm not sure we want that. Dummy symbol are heavily used
> internally, a trivial implementation[0] triggered:
>
> % make REGENERATE_PARSERS=y alldefconfig 2>&1 | grep 'defined without
> type' | wc -l
> 817
>
> Moreover, this approach is deemed to fail. The current symbol
> namespace is tied to an arch, so whenever you do:
>
> arch/arm/Kconfig:
> config FOO
> bool
>
> config BAZ
> bool
>
> drivers/cpufreq/Kconfig
> config BAR
> depends on ARM && FOO
> select BAZ
>
> You will end up triggering the warning for every ARCH != ARM...
Perhaps that's an argument for building a single Kconfig namespace?
At the very least, most of the architecture-generic warnings could be
worked around with trivial predeclarations in an "arch/Kconfig" file:
config ARM
bool
[...]
config X86
bool
There's probably technical issues that I'm missing that would make
that inordinately painful, but I can't see them right now... any ideas?
Cheers,
Kyle Moffett
--
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