Re: RFC: kconfig select warnings bogus?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/20/07, Stefan Richter <[email protected]> wrote:

[ I was wondering whether to reply or not (this has become sort of a
a dead thread and subsumed by Sam's proposal to scan all Kconfig
files, but still) ... ]

Satyam Sharma wrote:
> On 5/20/07, Stefan Richter <[email protected]> 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.

Umm, if A requires helper code N (which is available only on platform X),
then why/how do we want A to depend on platforms _other_ than X?
That "||" OR there is totally incorrect, because it allows A to be selected
even _without_ N, which won't even allow A to build properly! Remember,
something "depends on" or wishes to "select" some other thing only if
it *reuses code exported* by the dependency.

Beginning to wonder if you even _understood_ the problem that was
being solved there ... I seriously recommend that if / when you _really_
think you have some good idea to solve some problem, then submitting
a working patch is invariably always better (and causes lesser noise :-)

> 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)

Ok, so perhaps you actually meant X && N_ON_X above. But your
suggestion is _still_ wrong. Using "depends on" instead of "select" does
get rid of the warnings, but that conversion would *not* maintain current
behaviour (that of the config option being visible and automatically
selecting its dependency -- "default y if ..." otoh does preserve current
behaviour and hence _can_ replace select).

This is precisely what Trent meant that the kind of dependencies you
were suggesting in your mails can't be "select"ed in the first place.

Anyway, I've had enough of this thread. The patch that I had sent was
a 7-line *triviality* that merely (1) preserved current behaviour, (2) did
not cause _any_ build problems, and (3) got rid of bogus warnings in
a way that was completely standard when dealing with arch/.../Kconfig's
and better than the initial suggestion by Sam. Can't quite understand
how this became such a fiasco that ruined my Sunday :-)

Satyam
-
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/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux