From: Anish Bhatt <anish@xxxxxxxxxxx>
Date: Sat, 20 Sep 2014 01:43:05 +0000
Original config causing issues can be seen here :
https://lkml.org/lkml/2014/9/9/500
As CNIC depends on IPV6, CNIC can be only compiled as a module when IPV6 is
compiled as a module. This was the patch I originally commited. Previous
behaviour was to disable all ipv6 code in such a case. However, having bnx2fc/i
as built-in overrides CNIC's tristate from m to built-in (as they select CNIC),
causing build issues. As far as I know, there is no way to control the state
that select sets.
Really, nothing that has dependencies should be "select"'d, ever.
What people hack up is that they try to do this, and "make it work"
by "select"'ing all of the selected object's dependencies. And
then you have to do this recursively for dependencies which have
dependencies.
This is really incredibly stupid.
And once something in that chain gains a new dependency, all of
these "select" instances break.
I really want all of these netlink users to "depend" on "NET"
rather than "select" it, and so on and so forth down to the
users of these netlink using subsystems.