Re: error compiling backports-3.14-1: too many arguments to function 'request_firmware_nowait'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This time I don't understand what is going on with the error:

/root/modules/backports-3.14-1/net/mac80211/key.c:813: error: implicit declaration of function 'atomic64_set'

If I search for this function definition I see it is in compat_atomic.c file:

wsos-sdk:~/modules/backports-3.14-1# grep -r --include="*.c" atomic64_set .
./net/mac80211/key.c: atomic64_set(&key->u.ccmp.tx_pn, pn64);
./net/mac80211/key.c: atomic64_set(&key->u.aes_cmac.tx_pn, pn64);
./compat/compat_atomic.c:void atomic64_set(atomic64_t *v, long long i)
./compat/compat_atomic.c:EXPORT_SYMBOL_GPL(atomic64_set);

Now I search for it in the compat Makefile:
wsos-sdk:~/modules/backports-3.14-1# grep compat_atomic.o compat/Makefile
compat-$(CPTCFG_BACKPORT_BUILD_GENERIC_ATOMIC64) += compat_atomic.o

And I see in .config that I do have that config option enabled:
wsos-sdk:~/modules/backports-3.14-1# grep BACKPORT_BUILD_GENERIC_ATOMIC64 .config
CPTCFG_BACKPORT_BUILD_GENERIC_ATOMIC64=y

and it works because I see tha the compat_atomic.o is generated during the compilation so, I guess that the problem is exporting the symbol with EXPORT_SYMBOL_GPL(atomic64_set)

any clue about how to solve this?

Javi

El 08/09/2014 11:44, Javier Casas Marin escribió:

Hi,
after a bit more investigation I  found this:

wsos-sdk:~/modules/backports-3.14-1# grep compat_firmware_class compat/Makefile
obj-$(CPTCFG_BACKPORT_BUILD_FW_LOADER) += compat_firmware_class.o

so I looked in compat/Kconfig and found this (I didn't find it before because I grep with the CPTCFG_ header):

config BACKPORT_BUILD_FW_LOADER
    tristate
    depends on m
    # RHEL6, starting from 6.0, backports the FW loader already
    depends on !BACKPORT_RHEL_KERNEL_6_0
    depends on !FW_LOADER || BACKPORT_KERNEL_2_6_33
    default m if BACKPORT_FW_LOADER
    default m if BACKPORT_USERSEL_BUILD_ALL

config BACKPORT_FW_LOADER
    bool

from here I understand that I have to enable de BACKPORT_FW_LOADER option. I haven't found it in menuconfig so I changed it manually in compat/Kconfig to 'def_bool y'

Now the error went away but a new one appeared:

  CC [M]  /root/modules/backports-3.14-1/net/mac80211/key.o
/root/modules/backports-3.14-1/net/mac80211/key.c: In function 'ieee80211_set_key_tx_seq': /root/modules/backports-3.14-1/net/mac80211/key.c:813: error: implicit declaration of function 'atomic64_set'
make[6]: *** [/root/modules/backports-3.14-1/net/mac80211/key.o] Error 1
make[5]: *** [/root/modules/backports-3.14-1/net/mac80211] Error 2
make[4]: *** [_module_/root/modules/backports-3.14-1] Error 2
make[3]: *** [modules] Error 2
make[2]: *** [modules] Error 2
make[1]: *** [modules] Error 2
make: *** [default] Error 2

I'll try to figure out what happens this time

Javi

El 08/09/2014 10:34, Javier Casas Marin escribió:

Hi,
when I try to compile backports-3.14-1 in a 2.6.30 kernel I get this error:

/root/modules/backports-3.14-1/drivers/net/wireless/ath/ath9k/init.c: In function 'ath9k_eeprom_request': /root/modules/backports-3.14-1/drivers/net/wireless/ath/ath9k/init.c:647: warning: passing argument 5 of 'request_firmware_nowait' makes pointer from integer without a cast /root/modules/backports-3.14-1/drivers/net/wireless/ath/ath9k/init.c:647: warning: passing argument 6 of 'request_firmware_nowait' from incompatible pointer type /root/modules/backports-3.14-1/drivers/net/wireless/ath/ath9k/init.c:647: error: too many arguments to function 'request_firmware_nowait' make[8]: *** [/root/modules/backports-3.14-1/drivers/net/wireless/ath/ath9k/init.o] Error 1 make[7]: *** [/root/modules/backports-3.14-1/drivers/net/wireless/ath/ath9k] Error 2 make[6]: *** [/root/modules/backports-3.14-1/drivers/net/wireless/ath] Error 2 make[5]: *** [/root/modules/backports-3.14-1/drivers/net/wireless] Error 2
make[4]: *** [_module_/root/modules/backports-3.14-1] Error 2
make[3]: *** [modules] Error 2
make[2]: *** [modules] Error 2
make[1]: *** [modules] Error 2
make: *** [default] Error 2

I saw that in backport-include/linux/firmware.h there is a pre-compiler directive to use the backport's version of request_firmware_nowait function:

#if defined(CPTCFG_BACKPORT_BUILD_FW_LOADER_MODULE)
#define request_firmware_nowait LINUX_BACKPORT(request_firmware_nowait)

But I haven't found where the CPTCFG_BACKPORT_BUILD_FW_LOADER_MODULE is defined.

I just ran:
make defconfig-ath9k
make

Am I missing a previous configuration step?

Thanks!
--
To unsubscribe from this list: send the line "unsubscribe backports" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe backports" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe backports" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux