Re: compile problem: es1371+gamepad

Adrian Bunk (bunk@fs.tum.de)
Mon, 17 Dec 2001 21:07:53 +0100 (CET)


On Mon, 17 Dec 2001, Simon Roscic wrote:

> hi,

Hi Simon,

> i have the following problem,
>
> i have a es1371 soundcard, with an ms sidewinder gamepad.
> i selected the es1371 to be compiled into the kernel, and the ms sidewinder gamepad driver as module.
>
> i just tried it with 2.4.17-rc1:
> (2.4.17-rc1 with preempt patch, but im sure the preempt patch is not
> the cause for the compile error)
>
> ---- snip ----
> drivers/sound/sounddrivers.o: In function `es1371_probe':
> drivers/sound/sounddrivers.o(.text+0x6de9): undefined reference to `gameport_register_port
> '
> drivers/sound/sounddrivers.o: In function `es1371_remove':
> drivers/sound/sounddrivers.o(.text+0x6f26): undefined reference to `gameport_unregister_po
> rt'
> make: *** [vmlinux] Error 1
> ---- snip ----
>....
> i attached my ".config",
>...

Simon: As an (untested) workaround until the bug I describe below is fixed
it should work for you if select in the Character devices/Joysticks
submenu the "Game port support" to be compiled statically into the
kernel instead of compiling it as a module.

The problem is (note that CONFIG_INPUT_GAMEPORT is defined twice with
different values):

<-- snip -->

...
#
# Joysticks
#
CONFIG_INPUT_GAMEPORT=m
...
#
# Sound
#
...
CONFIG_SOUND_ES1371=y
...
CONFIG_INPUT_GAMEPORT=y
...

<-- snip -->

It survives even a "make oldconfig".
It's caused by the following in drivers/sound/Config.in:

<-- snip -->

...
# A cross directory dependence. The sound modules will need gameport.o
compiled in,
# but it resides in the drivers/char/joystick directory. This
define_tristate takes
# care of that. --Vojtech

if [ "$CONFIG_INPUT_GAMEPORT" != "n" ]; then
if [ "$CONFIG_SOUND_ESSSOLO1" = "y" -o "$CONFIG_SOUND_ES1370" = "y" -o
"$CONFIG_SOUND_ES1371" = "y" -o "$CONFIG_SOUND_SONICVIBES" = "y" ]; then
define_tristate CONFIG_INPUT_GAMEPORT y
fi
fi

<-- snip -->

> simon.

cu
Adrian

-- 

Get my GPG key: finger bunk@debian.org | gpg --import

Fingerprint: B29C E71E FE19 6755 5C8A 84D4 99FC EA98 4F12 B400

- 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/