Bug 609 - compile error / kernel 2.6.9
: compile error / kernel 2.6.9
Status: VERIFIED FIXED
: IPW2200
__UNSPECIFIED__
: 1.0.2
: Samsung Debian
: P2 normal
Assigned To:
:
:
:
:
:
  Show dependency treegraph
 
Reported: 2005-03-23 21:24 by
Modified: 2005-10-08 03:43 (History)


Attachments
kernel .config (53.34 KB, text/plain)
2005-03-24 00:07, Lars Heer
Details
fix patch (512 bytes, patch)
2005-03-24 00:30, Zhu Yi
Details | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2005-03-23 21:24:47
knecht:/usr/src/ipw2200-1.0.2# LANG=C make
make -C /lib/modules/2.6.9-sws-dsdt-sm/build SUBDIRS=/usr/src/ipw2200-1.0.2
MODVERDIR=/usr/src/ipw2200-1.0.2 modules
make[1]: Entering directory `/usr/src/kernel-source-2.6.9'
  CC [M]  /usr/src/ipw2200-1.0.2/ipw2200.o
/usr/src/ipw2200-1.0.2/ipw2200.c:7808:52: Makro »create_workqueue« erfordert 2
Argumente, aber nur 1 wurden angegeben
/usr/src/ipw2200-1.0.2/ipw2200.c: In Funktion »ipw_setup_deferred_work«:
/usr/src/ipw2200-1.0.2/ipw2200.c:7808: error: `create_workqueue' undeclared
(first use in this function)
/usr/src/ipw2200-1.0.2/ipw2200.c:7808: error: (Each undeclared identifier is
reported only once
/usr/src/ipw2200-1.0.2/ipw2200.c:7808: error: for each function it appears in.)
make[2]: *** [/usr/src/ipw2200-1.0.2/ipw2200.o] Fehler 1
make[1]: *** [_module_/usr/src/ipw2200-1.0.2] Fehler 2
make[1]: Leaving directory `/usr/src/kernel-source-2.6.9'
make: *** [modules] Fehler 2
knecht:/usr/src/ipw2200-1.0.2#
------- Comment #1 From 2005-03-23 21:48:26 -------
Looks like you have patched w/ suspend2 patch. Can you find if
CONFIG_SOFTWARE_SUSPEND2_BUILTIN is defined in your kernel .config?
------- Comment #2 From 2005-03-23 22:16:31 -------
Thats right... 

mea culpa...

Its patched with softwaresuspend / dsdt / supermount (and debian patchlevel).
Is there a way to get around that problem?

Lars
------- Comment #3 From 2005-03-23 23:36:42 -------
CONFIG_SOFTWARE_SUSPEND2_BUILTIN is intended to work with suspend2, but it seems
it doesn't work for you. Can you attach your kernel .config?
------- Comment #4 From 2005-03-24 00:07:44 -------
Created an attachment (id=302) [details]
kernel .config

attached
------- Comment #5 From 2005-03-24 00:30:42 -------
Created an attachment (id=303) [details]
fix patch

Please try this patch.
------- Comment #6 From 2005-03-24 01:12:59 -------
Fixes the problem on my Asus M2N, debian testing, linux 2.6.9, tuxmobil.org
config with swsusp2.
------- Comment #7 From 2005-03-24 01:21:20 -------
Compile works now...

knecht:/usr/src/ipw2200-1.0.2# patch -p1 < patch.609 
patching file ipw2200.c
knecht:/usr/src/ipw2200-1.0.2# make
make -C /lib/modules/2.6.9-sws-dsdt-sm/build SUBDIRS=/usr/src/ipw2200-1.0.2
MODVERDIR=/usr/src/ipw2200-1.0.2 modules
make[1]: Entering directory `/usr/src/kernel-source-2.6.9'
  CC [M]  /usr/src/ipw2200-1.0.2/ipw2200.o
  CC [M]  /usr/src/ipw2200-1.0.2/ieee80211_module.o
  CC [M]  /usr/src/ipw2200-1.0.2/ieee80211_tx.o
  CC [M]  /usr/src/ipw2200-1.0.2/ieee80211_rx.o
  CC [M]  /usr/src/ipw2200-1.0.2/ieee80211_wx.o
  LD [M]  /usr/src/ipw2200-1.0.2/ieee80211.o
  CC [M]  /usr/src/ipw2200-1.0.2/ieee80211_crypt.o
  CC [M]  /usr/src/ipw2200-1.0.2/ieee80211_crypt_wep.o
  CC [M]  /usr/src/ipw2200-1.0.2/ieee80211_crypt_ccmp.o
  CC [M]  /usr/src/ipw2200-1.0.2/ieee80211_crypt_tkip.o
  Building modules, stage 2.
  MODPOST
Warning: could not find versions for .tmp_versions/ipw2200.mod
  CC      /usr/src/ipw2200-1.0.2/ieee80211.mod.o
  LD [M]  /usr/src/ipw2200-1.0.2/ieee80211.ko
  CC      /usr/src/ipw2200-1.0.2/ieee80211_crypt.mod.o
  LD [M]  /usr/src/ipw2200-1.0.2/ieee80211_crypt.ko
  CC      /usr/src/ipw2200-1.0.2/ieee80211_crypt_ccmp.mod.o
  LD [M]  /usr/src/ipw2200-1.0.2/ieee80211_crypt_ccmp.ko
  CC      /usr/src/ipw2200-1.0.2/ieee80211_crypt_tkip.mod.o
  LD [M]  /usr/src/ipw2200-1.0.2/ieee80211_crypt_tkip.ko
  CC      /usr/src/ipw2200-1.0.2/ieee80211_crypt_wep.mod.o
  LD [M]  /usr/src/ipw2200-1.0.2/ieee80211_crypt_wep.ko
  CC      /usr/src/ipw2200-1.0.2/ipw2200.mod.o
  LD [M]  /usr/src/ipw2200-1.0.2/ipw2200.ko
make[1]: Leaving directory `/usr/src/kernel-source-2.6.9'
knecht:/usr/src/ipw2200-1.0.2# 
------- Comment #8 From 2005-03-24 08:15:45 -------
log from scrub:

crystal_	Bug 609 compile error / kernel 2.6.9
logics_sbux	we need to stick that into ipw2200.h as a backward compatible 
#define such that the code uses the _BUILTIN define as the check
crystal_	it is fixed :)
chuyee	seems suspend2 config keeps changing ...
logics_sbux	ie, #if !defined(CONFIG_SOFTWARE_SUSPEND2_BUILTIN) && (defined
(CONFIG_SOFTWARE_SUSPEND2) || defined(CONFIG_SOFTWARE_SUSPEND2_MODULE))
logics_sbux	#define CONFIG_SOFTWARE_SUSPEND2_BUILTIN
logics_sbux	#endif
logics_sbux	1.0.2 changed from using the double if check (SUSPEND2 || 
SUSPEND2_MODULE) to using the new _BUILTIN define
logics_sbux	but the new _BUILTIN isn't in older kernels.
chuyee	do we need to support old kernels? or just let them use a separate 
patch?
logics_sbux	we should support as far back as the most recent OSD releases 
are pulling from
logics_sbux	2.6.8 i think
crystal_	that make sense. 
crystal_	( Hope RF is not using the old kernel version)
logics_sbux	i try and support back to 2.6.4
logics_sbux	since there are a lot of users running that
logics_sbux	basically, i try and make ipw2200.c use code that is using the 
latest kernel versions
logics_sbux	and then provide backward compat macros in ipw2200.h
logics_sbux	so it works on older kernel versions
crystal_	cool, so assign this bug to you?
logics_sbux	if (x & y || x & z) is the same as (x & y) || (x & z), correct?
logics_sbux	(bitwise &, boolean ||)
chuyee	i think so
crystal_	& has high priority than ||
logics_sbux	ok (i'm just sanity checking why the LED code isn't defaulting 
to off in 1.0.2 like it should)
------- Comment #9 From 2005-04-11 00:56:34 -------
The bug is fixed in ipw2200 1.0.3.

Lars, could you try ipw2200 1.0.3 in your system? If the bug is fixed, please 
mark it as verfied.  Thanks. 
------- Comment #10 From 2005-04-11 01:08:48 -------
Hi,

with 1.0.3 I get new compile errors...
But IMHO not the same.

See below:
---8<---
knecht:/usr/src/ipw2200-1.0.3# make
make -C /lib/modules/2.6.9-sws-dsdt-sm/build
SUBDIRS=/usr/src/ipw2200-1.0.3 MODVERDIR=/usr/src/ipw2200-1.0.3 modules
make[1]: Entering directory `/usr/src/kernel-source-2.6.9'
  CC [M]  /usr/src/ipw2200-1.0.3/ipw2200.o
In file included from include/asm/thread_info.h:16,
                 from include/linux/thread_info.h:21,
                 from include/linux/spinlock.h:12,
                 from include/linux/capability.h:45,
                 from include/linux/sched.h:7,
                 from include/linux/module.h:10,
                 from /usr/src/ipw2200-1.0.3/ipw2200.h:32,
                 from /usr/src/ipw2200-1.0.3/ipw2200.c:33:
include/asm/processor.h:68: error: `CONFIG_X86_L1_CACHE_SHIFT'
undeclared here (not in a function)
include/asm/processor.h:68: error: requested alignment is not a constant
In file included from include/linux/list.h:7,
                 from include/linux/wait.h:23,
                 from include/asm/semaphore.h:41,
                 from include/linux/sched.h:18,
                 from include/linux/module.h:10,
                 from /usr/src/ipw2200-1.0.3/ipw2200.h:32,
                 from /usr/src/ipw2200-1.0.3/ipw2200.c:33:
include/linux/prefetch.h: In Funktion »prefetch_range«:
include/linux/prefetch.h:64: error: `CONFIG_X86_L1_CACHE_SHIFT'
undeclared (first use in this function)
include/linux/prefetch.h:64: error: (Each undeclared identifier is
reported only once
include/linux/prefetch.h:64: error: for each function it appears in.)
In Datei, eingefügt von include/linux/module.h:23,
                    von /usr/src/ipw2200-1.0.3/ipw2200.h:32,
                    von /usr/src/ipw2200-1.0.3/ipw2200.c:33:
include/asm/module.h:54:2: #error unknown processor family
In file included from /usr/src/ipw2200-1.0.3/ipw2200.h:32,
                 from /usr/src/ipw2200-1.0.3/ipw2200.c:33:
include/linux/module.h: Auf höchster Ebene:
include/linux/module.h:202: error: `CONFIG_X86_L1_CACHE_SHIFT'
undeclared here (not in a function)
include/linux/module.h:202: error: requested alignment is not a constant
In file included from include/asm/hardirq.h:6,
                 from include/linux/hardirq.h:6,
                 from include/linux/interrupt.h:11,
                 from include/linux/netdevice.h:516,
                 from /usr/src/ipw2200-1.0.3/ipw2200.h:39,
                 from /usr/src/ipw2200-1.0.3/ipw2200.c:33:
include/linux/irq.h:68: error: `CONFIG_X86_L1_CACHE_SHIFT' undeclared
here (not in a function)
include/linux/irq.h:68: error: requested alignment is not a constant
In file included from include/linux/hardirq.h:6,
                 from include/linux/interrupt.h:11,
                 from include/linux/netdevice.h:516,
                 from /usr/src/ipw2200-1.0.3/ipw2200.h:39,
                 from /usr/src/ipw2200-1.0.3/ipw2200.c:33:
include/asm/hardirq.h:13: error: `CONFIG_X86_L1_CACHE_SHIFT' undeclared
here (not in a function)
include/asm/hardirq.h:13: error: requested alignment is not a constant
/usr/src/ipw2200-1.0.3/ipw2200.c:8263:52: Makro »create_workqueue«
erfordert 2 Argumente, aber nur 1 wurden angegeben
/usr/src/ipw2200-1.0.3/ipw2200.c: In Funktion »ipw_setup_deferred_work«:
/usr/src/ipw2200-1.0.3/ipw2200.c:8263: error: `create_workqueue'
undeclared (first use in this function)
/usr/src/ipw2200-1.0.3/ipw2200.c: In Funktion »ipw_pci_probe«:
/usr/src/ipw2200-1.0.3/ipw2200.c:8700: Warnung: implicit declaration of
function `pci_set_consistent_dma_mask'
/usr/src/ipw2200-1.0.3/ipw2200.c:8708: Warnung: implicit declaration of
function `pci_request_regions'
/usr/src/ipw2200-1.0.3/ipw2200.c:8880: Warnung: implicit declaration of
function `pci_release_regions'
make[2]: *** [/usr/src/ipw2200-1.0.3/ipw2200.o] Fehler 1
make[1]: *** [_module_/usr/src/ipw2200-1.0.3] Fehler 2
make[1]: Leaving directory `/usr/src/kernel-source-2.6.9'
make: *** [modules] Fehler 2
knecht:/usr/src/ipw2200-1.0.3# cat /proc/version 
Linux version 2.6.9-sws-dsdt-sm (root@knecht) (gcc-Version 3.3.5 (Debian
1:3.3.5-8)) #1 Thu Mar 17 17:42:14 CET 2005
knecht:/usr/src/ipw2200-1.0.3# 
---8<---