Re: [PATCH 2/5] USB Kconfig: Select SCSI for USB Mass Storage support

Stefan Richter
2008-01-06T13:59:42Z

Adrian Bunk wrote:
> On Sun, Jan 06, 2008 at 02:13:09PM +0100, Stefan Richter wrote:
>> Module autoloading is quite different.
>
> Both are "hardware -> required kernel support" mappings.
>
> I know that people don't like this idea since the CML2 discussions, but
> there even don't seem to be any big problems if anyone wants to put all
> the pieces together and assemble a suitable .config only based on the
> autodetection tools of some distribution and without asking the user
> any questions.

How to autodetect that the user is going to buy gadget xyz next week?
(OK, he can re-run autodetection then, although that's not a
particularly economic strategy.)

How to autodetect POSIX_MQUEUE, HZ_250, HOTPLUG_PCI, ...?

[...]
>> This /is/ what we are currently doing, not "worse than what we are
>> currently doing". We
>> - sensibly modularize our software,
>> - tell the user which software components there are,
>> - what they are for,
>> - how they depend on each other,
>> - make it easy enough for the user to navigate in the dependency
>> graph,
>> - provide fundamental safeguards and checks for a proper software
>> configuration. (Well, we actually walk on thin ice whenever we
>> use the 'select' keyword.)
>> ...
>
> You miss the fundamental point:
>
> The vast majority of kconfig users are _not_ kernel hackers, and they
> neither know nor want to know anything about kernel internals - they
> just want to build a kernel suitable for their system.

I don't miss the point. I just say what we realistically can do. And I
might add, we should try hard to achieve good results in each of the
points I listed.

> You want to make an UI easier to use for the developers but harder to
> use for the users, and that's a bad deal.

No, I don't.

(I have "worked" long enough in enduser support, and still am doing
support, to not have completely lost an eye for enduser needs. Or so I
believe.)
--
Stefan Richter
-=====-==--- ---= --==-