On 03/14/2015 11:35 AM, Jeff Layton wrote:
On Sat, 14 Mar 2015 11:29:00 -0500
Larry Finger <[email protected]> wrote:

On 03/14/2015 11:07 AM, Jeff Layton wrote:
I've been getting this error when building mainline kernels using
Fedora's config files:

      drivers/net/wireless/rtlwifi/rtl8188ee/hw.c: In function 
‘_rtl88ee_init_mac’:
      drivers/net/wireless/rtlwifi/rtl8188ee/hw.c:853:2: error: implicit 
declaration of function ‘rtl_hal_pwrseqcmdparsing’ 
[-Werror=implicit-function-declaration]
        if (!rtl_hal_pwrseqcmdparsing(rtlpriv, PWR_CUT_ALL_MSK,
        ^
      cc1: some warnings being treated as errors
      scripts/Makefile.build:258: recipe for target 
'drivers/net/wireless/rtlwifi/rtl8188ee/hw.o' failed

I'm not sure if this is the correct fix, but it does seem to allow the
build to complete. I suspect that this was broken by commit 34ed780a6afc
(rtlwifi: Fix problems with building an allyesconfig). Most of the files
that removed the include of pwrseqcmd.h, added one for ../pwrseqcmd.h.
The rtl8188ee driver had it removed it but didn't add the include of the
file in the parent directory.

Signed-off-by: Jeff Layton <[email protected]>
---
   drivers/net/wireless/rtlwifi/rtl8188ee/hw.c | 1 +
   1 file changed, 1 insertion(+)

Acked-by: Larry Finger <[email protected]>

This fix is certainly OK. What I do not understand is why neither I nor the
build testing computers see the problem. Does this show for all architectures? I
have only built this driver for x86_64.

Thanks,

Larry


diff --git a/drivers/net/wireless/rtlwifi/rtl8188ee/hw.c 
b/drivers/net/wireless/rtlwifi/rtl8188ee/hw.c
index f2b9713c456e..e6fae1b5c211 100644
--- a/drivers/net/wireless/rtlwifi/rtl8188ee/hw.c
+++ b/drivers/net/wireless/rtlwifi/rtl8188ee/hw.c
@@ -30,6 +30,7 @@
   #include "../cam.h"
   #include "../ps.h"
   #include "../pci.h"
+#include "../pwrseqcmd.h"
   #include "reg.h"
   #include "def.h"
   #include "phy.h"



I'm a little baffled too as to why it's failing for me. At first I had
assumed that it was temporary breakage, but I've been seeing this fail
to build for a while now (at least a few months). I'm also building on
x86_64 (Fedora 21, fwiw).

Here's a verbose build output of that file without this patch. Maybe
you can spot some difference? It's possible I have something configured
wrong, but everything else seems to build just fine...

[jlayton@tlielax linux]$ make M=drivers/net/wireless/rtlwifi/rtl8188ee -j4 V=1
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (        
        \
echo >&2;                                                        \
echo >&2 "  ERROR: Kernel configuration is invalid.";          \
echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are 
missing.";\
echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix 
it.";     \
echo >&2 ;                                                       \
/bin/false)
mkdir -p drivers/net/wireless/rtlwifi/rtl8188ee/.tmp_versions ; rm -f 
drivers/net/wireless/rtlwifi/rtl8188ee/.tmp_versions/*
make -f ./scripts/Makefile.build obj=drivers/net/wireless/rtlwifi/rtl8188ee
   gcc -Wp,-MD,drivers/net/wireless/rtlwifi/rtl8188ee/.hw.o.d  -nostdinc 
-isystem /usr/lib/gcc/x86_64-redhat-linux/4.9.2/include -I./arch/x86/include 
-Iarch/x86/include/generated/uapi -Iarch/x86/include/generated  -Iinclude 
-I./arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi 
-Iinclude/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -Wall 
-Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common 
-Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -m64 
-mno-80387 -mno-fp-ret-in-387 -mtune=generic -mno-red-zone -mcmodel=kernel 
-funit-at-a-time -maccumulate-outgoing-args -DCONFIG_AS_CFI=1 
-DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 
-DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 
-pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx 
-mno-sse2 -mno-3dnow -mno-avx -fno-delete-null-pointer-checks -O2 
--param=allow-store-data-races=0
-Wframe-larger-than=2048 -fstack-protector-strong -Wno-unused-but-set-variable -fno-omit-frame-pointer 
-fno-optimize-sibling-calls -fno-var-tracking-assignments -g -pg -mfentry -DCC_USING_FENTRY 
-Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int 
-Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -Idrivers/net/wireless/rtlwifi 
-D__CHECK_ENDIAN__  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(hw)"  
-D"KBUILD_MODNAME=KBUILD_STR(rtl8188ee)" -c -o drivers/net/wireless/rtlwifi/rtl8188ee/hw.o 
drivers/net/wireless/rtlwifi/rtl8188ee/hw.c
(cat /dev/null;   echo 
kernel/drivers/net/wireless/rtlwifi/rtl8188ee/rtl8188ee.ko;) > 
drivers/net/wireless/rtlwifi/rtl8188ee/modules.order
drivers/net/wireless/rtlwifi/rtl8188ee/hw.c: In function ‘_rtl88ee_init_mac’:
drivers/net/wireless/rtlwifi/rtl8188ee/hw.c:853:2: error: implicit declaration 
of function ‘rtl_hal_pwrseqcmdparsing’ [-Werror=implicit-function-declaration]
   if (!rtl_hal_pwrseqcmdparsing(rtlpriv, PWR_CUT_ALL_MSK,
   ^
cc1: some warnings being treated as errors
scripts/Makefile.build:258: recipe for target 
'drivers/net/wireless/rtlwifi/rtl8188ee/hw.o' failed
make[1]: *** [drivers/net/wireless/rtlwifi/rtl8188ee/hw.o] Error 1
Makefile:1390: recipe for target 
'_module_drivers/net/wireless/rtlwifi/rtl8188ee' failed
make: *** [_module_drivers/net/wireless/rtlwifi/rtl8188ee] Error 2

I compiled that file using the same command. The only difference in the gcc line is your system uses "-fstack-protector-strong", and mine uses "-fno-stack-protector". I think that is caused by a different setting for CONFIG_CC_STACKPROTECTOR, and is not significant.

I do not see anything that you have wrong. Certainly, the patch is needed.

Larry

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to