Re: [RTnet-users] Error building experimental/e1000
Brought to you by:
bet-frogger,
kiszka
From: Leopold Palomo-A. <le...@al...> - 2013-11-12 08:12:19
|
A Dimarts, 12 de novembre de 2013, Jan Kiszka va escriure: > On 2013-11-12 08:58, Leopold Palomo-Avellaneda wrote: > > Hi, > > > > using the latest version of xenomai (2.6.3) and rtnet git master, the driver > > experimental/e1000 doesn't compile: > > > > > > /home/leopold.palomo/rtnet-code- > > git/drivers/experimental/e1000/e1000_main.c:271:23: error: expected ‘=’, ‘,’, > > ‘;’, ‘asm’ or ‘__attribute__’ before ‘e1000_remove’ > > /home/leopold.palomo/rtnet-code- > > git/drivers/experimental/e1000/e1000_main.c:403:2: error: implicit declaration > > of function ‘__devexit_p’ [-Werror=implicit-function-declaration] > > /home/leopold.palomo/rtnet-code- > > git/drivers/experimental/e1000/e1000_main.c:403:26: error: ‘e1000_remove’ > > undeclared here (not in a function) > > /home/leopold.palomo/rtnet-code- > > git/drivers/experimental/e1000/e1000_main.c:1083:22: error: expected ‘=’, ‘,’, > > ‘;’, ‘asm’ or ‘__attribute__’ before ‘e1000_probe’ > > /home/leopold.palomo/rtnet-code- > > git/drivers/experimental/e1000/e1000_main.c:1499:23: error: expected ‘=’, ‘,’, > > ‘;’, ‘asm’ or ‘__attribute__’ before ‘e1000_remove’ > > /home/leopold.palomo/rtnet-code- > > git/drivers/experimental/e1000/e1000_main.c:1549:22: error: expected ‘=’, ‘,’, > > ‘;’, ‘asm’ or ‘__attribute__’ before ‘e1000_sw_init’ > > /home/leopold.palomo/rtnet-code- > > git/drivers/experimental/e1000/e1000_main.c:1670:22: error: expected ‘=’, ‘,’, > > ‘;’, ‘asm’ or ‘__attribute__’ before ‘e1000_alloc_queues’ > > /home/leopold.palomo/rtnet-code- git/drivers/experimental/e1000/e1000_main.c: > > In function ‘e1000_test_msi_interrupt’: > > /home/leopold.palomo/rtnet-code- > > git/drivers/experimental/e1000/e1000_main.c:1747:20: warning: passing argument > > 2 of ‘request_irq’ from incompatible pointer type [enabled by default] > > In file included from /usr/src/linux-headers-3.8.13- > > xenomai-2.6.3/arch/x86/include/asm/xenomai/wrappers_64.h:29:0, > > from /usr/src/linux-headers-3.8.13- > > xenomai-2.6.3/arch/x86/include/asm/xenomai/wrappers.h:4, > > from /usr/src/linux-headers-3.8.13- > > xenomai-2.6.3/arch/x86/include/asm/xenomai/hal_64.h:34, > > from /usr/src/linux-headers-3.8.13- > > xenomai-2.6.3/arch/x86/include/asm/xenomai/hal.h:81, > > from include/asm-generic/xenomai/system.h:39, > > from /usr/src/linux-headers-3.8.13- > > xenomai-2.6.3/arch/x86/include/asm/xenomai/system.h:34, > > from /lib/modules/3.8.13- > > xenomai-2.6.3/build/include/xenomai/nucleus/types.h:36, > > from /lib/modules/3.8.13- > > xenomai-2.6.3/build/include/xenomai/nucleus/thread.h:25, > > from /lib/modules/3.8.13- > > xenomai-2.6.3/build/include/xenomai/nucleus/sched.h:31, > > from /lib/modules/3.8.13- > > xenomai-2.6.3/build/include/xenomai/nucleus/pod.h:34, > > from /lib/modules/3.8.13- > > xenomai-2.6.3/build/include/xenomai/nucleus/xenomai.h:23, > > from /lib/modules/3.8.13- > > xenomai-2.6.3/build/include/xenomai/rtdm/rtdm_driver.h:37, > > from /home/leopold.palomo/rtnet-code- > > git/stack/include/rtnet.h:99, > > from /home/leopold.palomo/rtnet-code- > > git/stack/include/rtskb.h:32, > > from /home/leopold.palomo/rtnet-code- > > git/stack/include/rtdev.h:37, > > from /home/leopold.palomo/rtnet-code- > > git/stack/include/rtnet_port.h:32, > > from /home/leopold.palomo/rtnet-code- > > git/drivers/experimental/e1000/kcompat.h:52, > > from /home/leopold.palomo/rtnet-code- > > git/drivers/experimental/e1000/e1000.h:35, > > from /home/leopold.palomo/rtnet-code- > > git/drivers/experimental/e1000/e1000_main.c:110: > > I cannot build almost any driver with 3.8.13 :-( - e1000e - e1000 - experimental .... > I suppose we need to remove the obsolete devinit/devexit tags, just like > in Xenomai. Patches welcome. Ok, I'm a bit afraid because I'm not a driver/kernel developer, but could you explain a bit more what is needed? I have done a grep in the git sources and have found a lot of references of devinit, for example: e1000e/netdev.c:static int __devinit e1000_alloc_queues(struct e1000_adapter *adapter) e1000e/netdev.c:static int __devinit e1000_sw_init(struct e1000_adapter *adapter) e1000e/netdev.c:static int __devinit e1000_probe(struct pci_dev *pdev, e1000e/param.c: static int __devinitdata X[E1000_MAX_NIC+1] \ e1000e/param.c:static int __devinit e1000_validate_option(unsigned int *value, e1000e/param.c:void __devinit e1000e_check_options(struct e1000_adapter *adapter) which change should be done? Regards, Leopold -- -- Linux User 152692 Catalonia |