Re: RFC: kconfig select warnings bogus?

From: Stefan Richter
Date: Sun May 20 2007 - 10:41:31 EST


Satyam Sharma wrote:
> On 5/20/07, Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> wrote:
>> config A
>> bool-or-tristate "option A"
>> depends on !PLATFORM_X || HELPER_N_ON_PLATFORM_X
>
> ??? I didn't get this entry,

"A is available if N is there or if it's a platform other than X."

That would be adequate if N is only present and required on platform X.

> can you give a solid example

Nothing exactly of this sort, but compare for example kernel/power/Kconfig:

config SOFTWARE_SUSPEND
bool "Software Suspend (Hibernation)"
depends on PM && SWAP && (((X86 || PPC64_SWSUSP) &&
(!SMP || SUSPEND_SMP)) || ((FRV || PPC32) && !SMP))

Of course this could be written in a clearer fashion, for example as

depends on PM
depends on SWAP
depends on (X86 && !SMP) ||
(X86 && SUSPEND_SMP) ||
(PPC64_SWSUSP && !SMP) ||
(PPC64_SWSUSP && SUSPEND_SMP) ||
(FRV && !SMP) ||
(PPC32 && !SMP)

(Untested.) Anyway, the dependencies which we are looking at here
should not (and partially even cannot) be declared in reverse.

> (you can consider
> the case at hand, MOUSE_ATARI and ATARI_KBD_CORE itself). Better
> still, if you really think that the above is a better way to solve the
> problem at hand, why don't you submit a patch instead?

Because I am lazy and trust that the platform maintainers know best
about the dependencies of MOUSE_ATARI. Could also be related to that I
as an Amiga owner cannot really relate to Atari. ;-) Could also have
something to do with my being busy enough fixing bugs in the drivers I
am familiar with. (Granted, I should shut up, ignore how Kconfig is
more and more turned into a mess, and concentrate on my primary business.)
--
Stefan Richter
-=====-=-=== -=-= =-=--
http://arcgraph.de/sr/
-
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/