On Wed, Nov 26, 2008 at 09:11:49PM -0800, Andrey Vul wrote: > On Wed, Nov 26, 2008 at 20:04, Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> wrote: > > On Wed, Nov 26, 2008 at 03:54:14PM -0800, Andrey Vul wrote: > >> On Wed, Nov 26, 2008 at 12:34, Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> wrote: > >> > On Tue, Nov 25, 2008 at 04:51:48PM -0800, Andrey Vul wrote: > >> >> On Tue, Nov 25, 2008 at 16:30, Andrey Vul <andrey.vul@xxxxxxxxx> wrote: > >> >> > On Tue, Nov 25, 2008 at 15:32, Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> wrote: > >> >> >> On Tue, Nov 25, 2008 at 09:57:57AM -0800, Andrey Vul wrote: > >> >> >>> I cannot compile the current compat tarball. > >> >> >>> Make log: > >> >> >>> ./scripts/gen-compat-autoconf.sh config.mk > include/linux/compat_autoconf.h > >> >> >>> make -C /usr/src/linux-2.6.26.6-rt11/ M=/root/compat-wireless-2.6-old modules > >> >> >>> make[1]: Entering directory `/usr/src/linux-2.6.26.6-rt11' > >> >> >>> CC [M] /root/compat-wireless-2.6-old/drivers/net/wireless/mac80211_hwsim.o > >> >> >>> In file included from <command-line>:0: > >> >> >>> /root/compat-wireless-2.6-old/include/net/compat.h:877: error: > >> >> >>> redefinition of 'list_splice_tail' > >> >> >>> include/linux/list.h:356: error: previous definition of > >> >> >>> 'list_splice_tail' was here > >> >> >>> /root/compat-wireless-2.6-old/include/net/compat.h:892: error: > >> >> >>> redefinition of 'list_splice_tail_init' > >> >> >>> include/linux/list.h:379: error: previous definition of > >> >> >>> 'list_splice_tail_init' was here > >> >> >> > >> >> >> list_splice_tail was added as of 2.6.27, and you have 2.6.26. Which > >> >> >> means your kernel headers for your box are completely messed up. This > >> >> >> means you can expect a kernel panic if you were to successfully > >> >> >> compile external modules. Go fix that first. > >> >> >> > >> >> I have $(uname -r)/include/linux/list.h containing list_splice_tail, > >> >> where uname -r is 2.6.26.5-rt9. > >> >> Frankly, I need rt and the code for my wifi card is only in the compat tarball. > >> >> Is this a problem with .[56] or with -rt? > >> > > >> > Ah, yeah RT had their own list_splice_tail(), try this. BTW what driver > >> > are you going to be using? > >> > > >> > >> I'm going to be using iwl5000 which depends on iwlwifi, iwlcore, > >> iwlwifi-leds, and iwlwifi-rfkill . > >> > >> So, in short, all I have to do is this? > >> #!/bin/bash > >> for a in `find ~/compat-wireless-2.6-old -name '*.c' -or -name '*.h'`; do > >> sed -e 's/list_splice_tail/list_splice_tail27/' -i $a; > >> done > >> > >> The only thing I see as possibly problematic is > >> list_splice_tail27_init() (sed is regex after all). > > > > Yup, but since there are some RT 2.6.26 kernels out there if we want > > this fixed in compat-wireless-old I'd rather apply a patch there too. > > Anyway list_splice_tail() is only used for ath9k. > It's used in ath9k but exported to all the drivers via net/compat.h, > leading to the redefinition errors from gcc when compiling an > unrelated (to ath9k) wireless driver. > > So for RT-safety, just do the sed -i in the previous message on > drivers/net/wirelss/ath9k/xmit.c and on include/net/compat.h . So I'd like to commit this to compat-wireless-old to help users like you instead of requiring them to sed all the time. It would be appreciated if you can test the patch to ensure it compiles fine. Luis -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html