Peter Samuelson wrote:
>
> [...] what would be
> *really* nice would be a way to determine that a particular "forward
> declared symbol" is actually a "never-in-this-arch declared symbol".
Ok, here it is.
Greg.
--
the price of civilisation today is a courageous willingness to prevail,
with force, if necessary, against whatever vicious and uncomprehending
enemies try to strike it down. - Roger Sandall, The Age, 28Sep2001.
[Greg Banks]
> Ok, here it is.
Thanks again. It will take some time to double-check what I termed
the "false positives", but now you've reduced the "interesting cases"
down to 30 symbols.
(BTW, the format is great - I can use 'M-x compile' and 'M-x
next-error' and Emacs pulls up files and lines for me.)
Here are the problem cases - things known to break with my proposed
'n'=='' - and my proposed solutions. I'll see if I can roll a patch
later today:
CONFIG_SCSI should be defined earlier, like in the "Block Devices"
menu. Then again, 'sg' is not a block device so this isn't strictly
correct. Perhaps a "kernel subsystems" submenu under "general setup",
or even as a toplevel menu.
CONFIG_I2C and CONFIG_USB are also widely used outside their own
subtrees. They should probably go in with the "kernel subsystems"
menu along with CONFIG_SCSI.
CONFIG_PROC_FS is needed by ISDN hysdn. That's actually in my opinion
more of a "general kernel facility" than a filesystem. Eh?
Then again it could be said that requiring CONFIG_PROC_FS is actually
a design bug in hysdn - does the driver *really* need CONFIG_PROC_FS?
Everything else in the kernel seems to cope without it. Granted,
non-/proc kernels are not widely tested.... Kai?
CONFIG_ISDN_CAPI - interestingly, CONFIG_HYSDN_CAPI, which is under
the menu "Old ISDN4Linux (obsolete)" seems to require CAPI 2.0. I
suppose the CAPI stuff should come first in drivers/isdn/Config.in.
Kai?
CONFIG_SOUND_ACI_MIXER - the miroSOUND radio driver wants something
from OSS sound. Really I think sound/Config.in "Sound Card Support"
should be moved to a sub-menu of drivers/media/Config.in "Multimedia
Devices".
CONFIG_INPUT - arch/{alpha,mips,mips64}/config.in are broken. There's
a comment in other arch/*/config.in files to the effect that
drivers/input/Config.in must come before drivers/usb/input/Config.in.
These 3 explicitly do the opposite.
CONFIG_SOUND_GAMEPORT - defined in drivers/input/gameport/, used only
in sound/oss/. I'm not sure what's going on here - why a separate
define (there is also CONFIG_GAMEPORT), and why do some sound cards
require its presence? Also I'm a bit suspicious of the logic in
drivers/input/gameport/ - it's either buggy, or way too clever.
This one is just confusing. Not sure what to recommend. I'll
probably have to stare at the Makefiles and the C for awhile to see
what's actually going on.
On Tue, 13 Aug 2002, Peter Samuelson wrote:
> CONFIG_PROC_FS is needed by ISDN hysdn. That's actually in my opinion
> more of a "general kernel facility" than a filesystem. Eh?
Well, the use in hysdn can (and should) die, possibly by adding an
#ifndef CONFIG_PROC_FS
#error This driver won't work without procfs
#endif
until fixed properly.
> Then again it could be said that requiring CONFIG_PROC_FS is actually
> a design bug in hysdn - does the driver *really* need CONFIG_PROC_FS?
> Everything else in the kernel seems to cope without it. Granted,
> non-/proc kernels are not widely tested.... Kai?
I don't know, I suspect it needs it for something like firmware loading or
so. But since that's obviously an abuse of /proc, it's okay to have it
break IMO.
> CONFIG_ISDN_CAPI - interestingly, CONFIG_HYSDN_CAPI, which is under
> the menu "Old ISDN4Linux (obsolete)" seems to require CAPI 2.0. I
> suppose the CAPI stuff should come first in drivers/isdn/Config.in.
> Kai?
Yes. I'll look into that and fix it properly - I think just exchanging
probably gives the same kind of problem for CONFIG_ISDN ;(
--Kai