Menu

compilation errors with kernel 2.6.24.1

rabbitoid
2008-02-10
2013-02-17
  • rabbitoid

    rabbitoid - 2008-02-10

    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.

     
    • rootkit85

      rootkit85 - 2008-02-10

      it's fixed in trunk.
      please checkout trunk or replace SA_SHIRQ with IRQF_SHARED

       

Log in to post a comment.