Re: [RTnet-users] Error building experimental/e1000
Brought to you by:
bet-frogger,
kiszka
From: Jan K. <jan...@si...> - 2013-11-13 12:26:46
|
On 2013-11-12 09:12, Leopold Palomo-Avellaneda wrote: > 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? See http://git.xenomai.org/?p=xenomai-2.6.git;a=commitdiff;h=3ddc61cda095a9ae51277608d7fd4e9c2c481625 Jan -- Siemens AG, Corporate Technology, CT RTC ITP SES-DE Corporate Competence Center Embedded Linux |