Gentoo Archives: gentoo-user

From: Dale <rdalek1967@×××××.com>
To: Gentoo User <gentoo-user@l.g.o>
Subject: Re: [gentoo-user] New network cards default to "Y" with "make oldconfig"
Date: Sun, 24 Mar 2019 17:02:25
Message-Id: b372f871-e379-603a-36fb-5061ea78624b@gmail.com
In Reply to: Re: [gentoo-user] New network cards default to "Y" with "make oldconfig" by Rich Freeman
1 Rich Freeman wrote:
2 > On Sun, Mar 24, 2019 at 3:46 AM Peter Humphrey <peter@××××××××××××.uk> wrote:
3 >> On Sunday, 24 March 2019 01:03:23 GMT Walter Dnes wrote:
4 >>> When setting up a new kernel with "make oldconfig", almost all new
5 >>> device drivers default to "N". The glaring exception is network cards.
6 >>> They all seem to default to "Y". Is this a bug or a "feature"?
7 >> It seems to be just to reveal the individual cards by that manufacturer. I
8 >> don't see why it should differ from any other hardware options. Perhaps it's a
9 >> leftover from a day long ago that no-one's thought to change.
10 >>
11 > I suspect it is because these options basically work opposite normal
12 > ones. They're phased as "Do you want to see Acme network cards?" with
13 > a default of Yes. However, they way they effectively work is "Do you
14 > want to disable all Acme network cards?" with a default of No.
15 >
16 > Suppose you have an Acme model 1234 network card. You've previously
17 > answered Yes to enabling its driver, and No to enabling the Acme model
18 > 2345 card.
19 >
20 > Now a new option comes along to show/hide all the Acme cards. That is
21 > a new option, so it has no existing value as far as the config
22 > database design goes. If you answer No, then you disable your model
23 > 1234 card (without even being asked, because that isn't a new option).
24 > If you answer yes then effectively your previous choices remain in
25 > effect (model 1234 remains enabled, and model 2345 remains disabled).
26 >
27 > Now, obviously a more elegant solution would be to look at all the
28 > models of Acme cards in the database and see if you've selected any,
29 > and use that to set the default. However, that would require a change
30 > to how the entire config system works most likely.
31 >
32 > I might have a detail wrong and lkml is definitely where to go for the
33 > full answer, but I suspect this was the rationale behind this design
34 > decision. Those options effectively don't do anything but expose more
35 > options, so defaulting them to Yes probably made more sense, because
36 > defaulting to no would disable anything that depends on them.
37 >
38 > In any case, this is purely an upstream kernel issue, so you can
39 > always try to convince Linus that he has it wrong. :)
40 >
41
42
43 One would think it should ask if you want any ACME drivers first.  If
44 you say yes then ask which ones you want.  If you answer no then disable
45 them all and move to the Better-than-nothing drivers next in the list,
46 assuming the are alphabetical.  Once you get past that driver, nothing
47 else should disable the drivers you wanted.  That way makes more sense
48 but as you say, that could require some code that is either buggy,
49 difficult to implement or something.  That something could include, I
50 never thought of doing it that way.  LOL 
51
52 I need to remember to watch out for this when I build a new kernel.  I
53 know I'm going to forget tho.  :/
54
55 Dale
56
57 :-)  :-) 

Replies