I had the following problems trying to compile the module as part of the current kernel.
ACX version: acx-20080112
kernel tree: linux-2.6.24.1
1) SA_SHIRQ undefined
build error message:
-------------------
CC [M] drivers/net/wireless/acx/pci.o
drivers/net/wireless/acx/pci.c: In function 'acxpci_e_open':
drivers/net/wireless/acx/pci.c:2131: error: 'SA_SHIRQ' undeclared (first use in this function)
drivers/net/wireless/acx/pci.c:2131: error: (Each undeclared identifier is reported only once
drivers/net/wireless/acx/pci.c:2131: error: for each function it appears in.)
make[4]: *** [drivers/net/wireless/acx/pci.o] Error 1
make[3]: *** [drivers/net/wireless/acx] Error 2
make[2]: *** [drivers/net/wireless] Error 2
make[1]: *** [drivers/net] Error 2
make: *** [drivers] Error 2
reason:
-------
in my previous build (kernel linux-2.6.23.1) SA_SHIRQ was in the file
./include/linux/interrupt.h:
/*
* Migration helpers. Scheduled for removal in 9/2007
* Do not use for new code !
*/
...
#define SA_SHIRQ deprecated_irq_flag(IRQF_SHARED)
solution:
---------
replace in pci.c SA_SHIRQ with IRQF_SHARED.
2) SET_MODULE_OWNER unknown
build error message:
--------------------
CC [M] drivers/net/wireless/acx/usb.o
drivers/net/wireless/acx/usb.c: In function 'acxusb_e_probe':
drivers/net/wireless/acx/usb.c:862: error: implicit declaration of function 'SET_MODULE_OWNER'
make[4]: *** [drivers/net/wireless/acx/usb.o] Error 1
make[3]: *** [drivers/net/wireless/acx] Error 2
make[2]: *** [drivers/net/wireless] Error 2
make[1]: *** [drivers/net] Error 2
make: *** [drivers] Error 2
reason:
------
SET_MODULE_OWNER was defined in ./include/linux/netdevice.h as:
#define SET_MODULE_OWNER(dev) do { } while (0)
OK, very funny. The definition is now gone for good.
solution:
---------
in the file pci.c the call was already protected by an ifdef:
#ifdef SET_MODULE_OWNER
SET_MODULE_OWNER(ndev);
#endif
in the file usb.c there was no protection. add it.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I had the following problems trying to compile the module as part of the current kernel.
ACX version: acx-20080112
kernel tree: linux-2.6.24.1
1) SA_SHIRQ undefined
build error message:
-------------------
CC [M] drivers/net/wireless/acx/pci.o
drivers/net/wireless/acx/pci.c: In function 'acxpci_e_open':
drivers/net/wireless/acx/pci.c:2131: error: 'SA_SHIRQ' undeclared (first use in this function)
drivers/net/wireless/acx/pci.c:2131: error: (Each undeclared identifier is reported only once
drivers/net/wireless/acx/pci.c:2131: error: for each function it appears in.)
make[4]: *** [drivers/net/wireless/acx/pci.o] Error 1
make[3]: *** [drivers/net/wireless/acx] Error 2
make[2]: *** [drivers/net/wireless] Error 2
make[1]: *** [drivers/net] Error 2
make: *** [drivers] Error 2
reason:
-------
in my previous build (kernel linux-2.6.23.1) SA_SHIRQ was in the file
./include/linux/interrupt.h:
/*
* Migration helpers. Scheduled for removal in 9/2007
* Do not use for new code !
*/
...
#define SA_SHIRQ deprecated_irq_flag(IRQF_SHARED)
solution:
---------
replace in pci.c SA_SHIRQ with IRQF_SHARED.
2) SET_MODULE_OWNER unknown
build error message:
--------------------
CC [M] drivers/net/wireless/acx/usb.o
drivers/net/wireless/acx/usb.c: In function 'acxusb_e_probe':
drivers/net/wireless/acx/usb.c:862: error: implicit declaration of function 'SET_MODULE_OWNER'
make[4]: *** [drivers/net/wireless/acx/usb.o] Error 1
make[3]: *** [drivers/net/wireless/acx] Error 2
make[2]: *** [drivers/net/wireless] Error 2
make[1]: *** [drivers/net] Error 2
make: *** [drivers] Error 2
reason:
------
SET_MODULE_OWNER was defined in ./include/linux/netdevice.h as:
#define SET_MODULE_OWNER(dev) do { } while (0)
OK, very funny. The definition is now gone for good.
solution:
---------
in the file pci.c the call was already protected by an ifdef:
#ifdef SET_MODULE_OWNER
SET_MODULE_OWNER(ndev);
#endif
in the file usb.c there was no protection. add it.
it's fixed in trunk.
please checkout trunk or replace SA_SHIRQ with IRQF_SHARED