Re: 2.4.5-ac4 es1371.o unresolved symbols

From: Keith Owens (kaos@ocs.com.au)
Date: Wed May 30 2001 - 20:29:06 EST


On Wed, 30 May 2001 18:15:31 +0200,
Vojtech Pavlik <vojtech@suse.cz> wrote:
>On Wed, May 30, 2001 at 02:46:42PM +1000, Keith Owens wrote:
>> This is messy. gameport.h is included by code outside the joystick
>> directory and it needs to expand differently based on whether
>> gameport.o is compiled or not. Also gameport.o needs to be built in if
>> _any_ consumers are built in (either joystick or sound), it needs to be
>> a module otherwise. Lots of cross config and cross directory
>> dependencies :(.
>
>What about this solution? It's a little cleaner.
>
>diff -urN linux-2.4.5-ac4/drivers/char/joystick/Config.in linux/drivers/char/joystick/Config.in
>+tristate 'Game port support' CONFIG_INPUT_GAMEPORT
>+ dep_tristate ' Classic ISA/PnP gameports' CONFIG_INPUT_NS558 $CONFIG_INPUT_GAMEPORT

CONFIG_INPUT_GAMEPORT must be a derived symbol, not a user selected
symbol. CONFIG_INPUT_GAMEPORT is 'n' if no gameport drivers are
installed. It is 'm' if all gameport drivers are modules *and* all
users of gameport_register_port() are modules, otherwise it is 'y'.

With your patch, if a user selects CONFIG_INPUT_GAMEPORT=m and
CONFIG_SOUND_ES1370=y then the built in es1370 driver has unresolved
references to gameport_register_port() which is in a module, vmlinux
will not link. That is why I derived CONFIG_INPUT_GAMEPORT based on
the config options in two separate directories.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu May 31 2001 - 21:00:49 EST