Hallo, On Wed, 19 Mar 2003, Daniel Lord wrote:
bin seit heute morgen dabei ein Kernelupdate auf 2.4.20 zu machen. Das funktioniert auch soweit ganz gut. Nur wenn ich versuche das bttv Modul zu kompilieren, bekomme ich die folgende Fehlermeldung:
#<SNIP> msp3400.c: In function `msp3400c_setstereo': msp3400.c:503: duplicate array index in initializer msp3400.c:503: (near initialization for `strmode') msp3400.c:504: duplicate array index in initializer msp3400.c:504: (near initialization for `strmode') msp3400.c:505: duplicate array index in initializer msp3400.c:505: (near initialization for `strmode') msp3400.c:506: duplicate array index in initializer msp3400.c:506: (near initialization for `strmode') #<SNAP>
in der Datei msp3400.c steht dort folgendes.
<SNIP> static void msp3400c_setstereo(struct i2c_client *client, int mode) { static char *strmode[] = { [ 0 ... 15 ] = "invalid", [ VIDEO_SOUND_MONO ] = "mono", [ VIDEO_SOUND_STEREO ] = "stereo", [ VIDEO_SOUND_LANG1 ] = "lang1", [ VIDEO_SOUND_LANG2 ] = "lang2", };
Das ist aber kein Vanilla 2.4.20 Kernel! Da sieht das so aus: ==== drivers/media/video/msp3400.c ==== static char *strmode[] = { "0", "mono", "stereo", "3", "lang1", "5", "6", "7", "lang2" }; ==== ==== include/linux/videodev.h ==== #define VIDEO_SOUND_MONO 1 #define VIDEO_SOUND_STEREO 2 #define VIDEO_SOUND_LANG1 4 #define VIDEO_SOUND_LANG2 8 ==== Da im obigen code durch das '[ 0 ... 15 ]' schon die indizes vergeben sind, ist die Fehlermeldung logisch. Sieht nach nem Bug in einem der SuSE-patches aus... Bitte schau aber mal in dein include/linux/videodev.h ob die defines dort ebenso sind.
Meiner bescheidenen Meinung nach sollte das richtig sein. *schulterzuck*
s.o. -dnh -- 4: Garbage Collection Windows 95 (Kristian Köhntopp)