I just recently updated to the 2.6 kernel, and I can no
longer build. Here is the error I get (under Gentoo):
gcc -D__KERNEL__ -DMODULE -DLINUX -DEXPORT_SYMTAB
-DCONFIG_PROC_FS -I/usr/src/linux/include -I. -O2
-pipe -c ez usb2131.c -o ezusb2131_.o
In file included from
/usr/src/linux/include/linux/irq.h:20,
from
/usr/src/linux/include/asm/hardirq.h:6,
from
/usr/src/linux/include/linux/interrupt.h:10,
from
/usr/src/linux/include/linux/usb.h:15,
from ezusb2131.c💯
/usr/src/linux/include/asm/irq.h:16:25: irq_vectors.h:
No such file or directory
In file included from
/usr/src/linux/include/asm/hardirq.h:6,
from
/usr/src/linux/include/linux/interrupt.h:10,
from
/usr/src/linux/include/linux/usb.h:15,
from ezusb2131.c💯
/usr/src/linux/include/linux/irq.h:70: `NR_IRQS'
undeclared here (not in a function)
In file included from
/usr/src/linux/include/linux/irq.h:72,
from
/usr/src/linux/include/asm/hardirq.h:6,
from
/usr/src/linux/include/linux/interrupt.h:10,
from
/usr/src/linux/include/linux/usb.h:15,
from ezusb2131.c💯
/usr/src/linux/include/asm/hw_irq.h:28: `NR_IRQS'
undeclared here (not in a function)
/usr/src/linux/include/asm/hw_irq.h:31: `NR_IRQS'
undeclared here (not in a function)
ezusb2131.c:299:42: missing binary operator before '('
ezusb2131.c:320:42: missing binary operator before '('
ezusb2131.c:344:42: missing binary operator before '('
ezusb2131.c:360: warning: initialization from
incompatible pointer type
ezusb2131.c:361: warning: initialization from
incompatible pointer type
ezusb2131.c:362: unknown field `fops' specified in
initializer
ezusb2131.c:363: unknown field `minor' specified in
initializer
ezusb2131.c:365:42: missing binary operator before '('
ezusb2131.c:432:42: missing binary operator before '('
ezusb2131.c: In function `setup_ezusb_procfs':
ezusb2131.c:491: structure has no member named `ops'
ezusb2131.c:595:41: missing binary operator before '('
ezusb2131.c:642:42: missing binary operator before '('
ezusb2131.c: In function `ezusb_cleanup':
ezusb2131.c:660: warning: `MOD_DEC_USE_COUNT' is
deprecated (declared at
/usr/src/linux/include/linux/module.h:49 4)
ezusb2131.c:671: warning: `MOD_DEC_USE_COUNT' is
deprecated (declared at
/usr/src/linux/include/linux/module.h:49 4)
ezusb2131.c:725:42: missing binary operator before '('
ezusb2131.c:1155:42: missing binary operator before '('
ezusb2131.c: In function `ezusb_probe':
ezusb2131.c:1257: structure has no member named
`bConfigurationValue'
ezusb2131.c:1271: warning: `MOD_INC_USE_COUNT' is
deprecated (declared at
/usr/src/linux/include/linux/module.h:4 82)
ezusb2131.c:1314:41: missing binary operator before '('
ezusb2131.c:1322:42: missing binary operator before '('
ezusb2131.c:1339:42: missing binary operator before '('
ezusb2131.c:1380:42: missing binary operator before '('
ezusb2131.c:1427:42: missing binary operator before '('
make: *** [ezusb2131.o] Error 1
Is this a known bug? Thanks,
Chuck
Logged In: NO
The way to include kernel headers has changed:
Replace in the makefile
INCLUDEDIR = /usr/src/linux/include
with
INCLUDEDIR = /lib/modules/`uname -r`/include
where `uname -r` should insert your current kernel version.
Logged In: NO
a typo, it must read
INCLUDEDIR = /lib/modules/`uname -r`/build/include
Logged In: NO
I changed that is you say
"INCLUDEDIR = /lib/modules/`uname -r`/include"
i get this error when loading the module
#>modprobe ezusb2131 vendor_id=0x763 product_id=0x1001
FATAL: Error inserting ezusb2131
(/lib/modules/2.6.1-gentoo/kernel/drivers/usb/ezusb2131.o):
Invalid module format
Logged In: NO
I get same error too.
Please provide a fix!
thanks
Joe