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]

 



On 09/09/14 09:30, Javier Casas Marin wrote:

I solved this adding the extern atomic64_set prototype in
backport-include/asm/atomic.h, atomic64_read and atomic64_add_return
were defined there but atomic64_set was missing

Hit the send button just before reading this. Oh, well.

Gr. AvS

Javi

El 08/09/2014 12:30, Javier Casas Marin escribió:
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

--
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