Using Debian, and "debian/rules binary-modules KSRC=/usr/src/kernel-headers-2.6.8-cpufreq-pentium-m/ KVERS=2.6.8-cpufreq-pentium-m" in /usr/src/modules/ipw2200: for templ in ; do \ cp $templ `echo $templ | sed -e 's/_KVERS_/2.6.8-cpufreq-pentium-m/g'` ; \ done for templ in `ls debian/*.modules.in` ; do \ test -e ${templ%.modules.in}.backup || cp ${templ%.modules.in} ${templ%.modules.in}.backup 2>/dev/null || true; \ sed -e 's/##KVERS##/2.6.8-cpufreq-pentium-m/g ;s/#KVERS#/2.6.8-cpufreq-pentium-m/g ; s/_KVERS_/2.6.8-cpufreq-pentium-m/g ; s/##KDREV##//g ; s/#KDREV#//g ; s/_KDREV_//g' < $templ > ${templ%.modules.in}; \ done if ! `dpkg --compare-versions 2.6.8-cpufreq-pentium-m ge 2.6.4`; then \ echo "**************************************************"; \ echo "Can't build with a kernel version lower than 2.6.4"; \ echo "**************************************************"; \ exit 1; \ fi export DH_OPTIONS='-pipw2200-modules-2.6.8-cpufreq-pentium-m' sed s/_UPSTREAM_VERSION_/1.0.8/ < debian/config > debian/config.new mv debian/config.new debian/config dh_testdir dh_testroot dh_clean -k # Build the module /usr/bin/make -C driver KSRC=/usr/src/kernel-headers-2.6.8-cpufreq-pentium-m/ KVER=2.6.8-cpufreq-pentium-m IEEE80211_INC=/usr/include/ieee80211 make[1]: Entering directory `/usr/src/modules/ipw2200/driver' mkdir -p /usr/src/modules/ipw2200/driver/tmp/.tmp_versions cp /usr/include/ieee80211/*.mod /usr/src/modules/ipw2200/driver/tmp/.tmp_versions /usr/bin/make -C /usr/src/kernel-headers-2.6.8-cpufreq-pentium-m/ M=/usr/src/modules/ipw2200/driver MODVERDIR=/usr/src/modules/ipw2200/driver/tmp/.tmp_versions CC="gcc-3.3 -I/usr/include/ieee80211" modules make[2]: Entering directory `/usr/src/kernel-headers-2.6.8-cpufreq-pentium-m' CC [M] /usr/src/modules/ipw2200/driver/ipw2200.o In file included from /usr/src/modules/ipw2200/driver/ipw2200.c:33: /usr/src/modules/ipw2200/driver/ipw2200.h:1131: error: variable or field `__iomem' declared void /usr/src/modules/ipw2200/driver/ipw2200.h:1131: warning: no semicolon at end of struct or union /usr/src/modules/ipw2200/driver/ipw2200.h:1131: error: parse error before '*' token /usr/src/modules/ipw2200/driver/ipw2200.h:1248: error: `up' redeclared as different kind of symbol include/asm/semaphore.h:197: error: previous declaration of `up' /usr/src/modules/ipw2200/driver/ipw2200.h:1249: error: `down' redeclared as different kind of symbol include/asm/semaphore.h:115: error: previous declaration of `down' /usr/src/modules/ipw2200/driver/ipw2200.h:1303: error: parse error before '}' token /usr/src/modules/ipw2200/driver/ipw2200.c:47: error: conflicting types for `cmdlog' /usr/src/modules/ipw2200/driver/ipw2200.h:1273: error: previous declaration of `cmdlog' /usr/src/modules/ipw2200/driver/ipw2200.c:49: error: conflicting types for `channel' /usr/src/modules/ipw2200/driver/ipw2200.h:1192: error: previous declaration of `channel' /usr/src/modules/ipw2200/driver/ipw2200.c:53: error: conflicting types for `associate' /usr/src/modules/ipw2200/driver/ipw2200.h:1241: error: previous declaration of `associate' /usr/src/modules/ipw2200/driver/ipw2200.c: In function `__ipw_read8': /usr/src/modules/ipw2200/driver/ipw2200.c:278: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `__ipw_read16': /usr/src/modules/ipw2200/driver/ipw2200.c:287: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `__ipw_read32': /usr/src/modules/ipw2200/driver/ipw2200.c:296: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `_ipw_write_reg32': /usr/src/modules/ipw2200/driver/ipw2200.c:322: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:323: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `_ipw_write_reg8': /usr/src/modules/ipw2200/driver/ipw2200.c:329: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:330: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `_ipw_write_reg16': /usr/src/modules/ipw2200/driver/ipw2200.c:336: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:337: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `_ipw_read_reg8': /usr/src/modules/ipw2200/driver/ipw2200.c:345: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:347: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `_ipw_read_reg32': /usr/src/modules/ipw2200/driver/ipw2200.c:357: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:358: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `_ipw_read_indirect': /usr/src/modules/ipw2200/driver/ipw2200.c:379: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:382: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:386: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:388: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:392: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `_ipw_write_indirect': /usr/src/modules/ipw2200/driver/ipw2200.c:413: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:416: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:420: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:422: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:426: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:428: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `ipw_write_direct': /usr/src/modules/ipw2200/driver/ipw2200.c:435: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `ipw_set_bit': /usr/src/modules/ipw2200/driver/ipw2200.c:440: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `ipw_clear_bit': /usr/src/modules/ipw2200/driver/ipw2200.c:445: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `ipw_enable_interrupts': /usr/src/modules/ipw2200/driver/ipw2200.c:450: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:452: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:453: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `ipw_disable_interrupts': /usr/src/modules/ipw2200/driver/ipw2200.c:458: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:460: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:461: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `ipw_is_init': /usr/src/modules/ipw2200/driver/ipw2200.c:535: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `ipw_get_ordinal': /usr/src/modules/ipw2200/driver/ipw2200.c:550: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:550: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:550: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:568: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:569: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:581: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:586: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:602: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:615: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:633: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:639: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:644: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `ipw_init_ordinals': /usr/src/modules/ipw2200/driver/ipw2200.c:682: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:683: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:683: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:685: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:685: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:688: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:689: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:689: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:691: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:691: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:694: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:695: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:695: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:696: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:698: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:698: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `ipw_led_link_on': /usr/src/modules/ipw2200/driver/ipw2200.c:735: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:735: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:738: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:740: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:741: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:744: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:751: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:754: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:755: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:756: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:760: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `ipw_bg_led_link_on': /usr/src/modules/ipw2200/driver/ipw2200.c:766: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:766: error: called object is not a function /usr/src/modules/ipw2200/driver/ipw2200.c:768: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:768: error: called object is not a function /usr/src/modules/ipw2200/driver/ipw2200.c: In function `ipw_led_link_off': /usr/src/modules/ipw2200/driver/ipw2200.c:778: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:778: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:781: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:783: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:785: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:793: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:797: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:798: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:799: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:799: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:804: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `ipw_bg_led_link_off': /usr/src/modules/ipw2200/driver/ipw2200.c:810: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:810: error: called object is not a function /usr/src/modules/ipw2200/driver/ipw2200.c:812: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:812: error: called object is not a function /usr/src/modules/ipw2200/driver/ipw2200.c: In function `__ipw_led_activity_on': /usr/src/modules/ipw2200/driver/ipw2200.c:819: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:822: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:6139: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:11733: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:11737: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:11737: warning: left-hand operand of comma expression has no effect /usr/src/modules/ipw2200/driver/ipw2200.c:11737: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:11743: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:11744: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:11745: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:11749: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:11753: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `ipw_pci_suspend': /usr/src/modules/ipw2200/driver/ipw2200.c:11765: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:11776: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c: In function `ipw_pci_resume': /usr/src/modules/ipw2200/driver/ipw2200.c:11794: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:11806: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:11826: error: dereferencing pointer to incomplete type /usr/src/modules/ipw2200/driver/ipw2200.c:11826: error: dereferencing pointer to incomplete type make[3]: *** [/usr/src/modules/ipw2200/driver/ipw2200.o] Error 1 make[2]: *** [_module_/usr/src/modules/ipw2200/driver] Error 2 make[2]: Leaving directory `/usr/src/kernel-headers-2.6.8-cpufreq-pentium-m' make[1]: *** [modules] Error 2 make[1]: Leaving directory `/usr/src/modules/ipw2200/driver' make: *** [binary-modules] Error 2