Re: [PATCH] net: b43legacy: fix compile error
From: John W. Linville
Date: Thu Nov 11 2010 - 11:45:07 EST
On Mon, Oct 25, 2010 at 10:13:06PM +0200, Arnd Hannemann wrote:
> Am 25.10.2010 20:59, schrieb Larry Finger:
> > On 10/25/2010 01:44 PM, Arnd Hannemann wrote:
> >> Am 25.10.2010 20:36, schrieb Larry Finger:
> >>> On 10/25/2010 01:26 PM, Arnd Hannemann wrote:
> >>>> Am 25.10.2010 17:32, schrieb Larry Finger:
> >>>>> On 10/25/2010 09:41 AM, Arnd Hannemann wrote:
> >>>>>> On todays linus tree the following compile error happened to me:
> >>>>>>
> >>>>>> CC [M] drivers/net/wireless/b43legacy/xmit.o
> >>>>>> In file included from include/net/dst.h:11,
> >>>>>> from drivers/net/wireless/b43legacy/xmit.c:31:
> >>>>>> include/net/dst_ops.h:28: error: expected ':', ',', ';', '}' or '__attribute__' before '____cacheline_aligned_in_smp'
> >>>>>> include/net/dst_ops.h: In function 'dst_entries_get_fast':
> >>>>>> include/net/dst_ops.h:33: error: 'struct dst_ops' has no member named 'pcpuc_entries'
> >>>>>> include/net/dst_ops.h: In function 'dst_entries_get_slow':
> >>>>>> include/net/dst_ops.h:41: error: 'struct dst_ops' has no member named 'pcpuc_entries'
> >>>>>> include/net/dst_ops.h: In function 'dst_entries_add':
> >>>>>> include/net/dst_ops.h:49: error: 'struct dst_ops' has no member named 'pcpuc_entries'
> >>>>>> include/net/dst_ops.h: In function 'dst_entries_init':
> >>>>>> include/net/dst_ops.h:55: error: 'struct dst_ops' has no member named 'pcpuc_entries'
> >>>>>> include/net/dst_ops.h: In function 'dst_entries_destroy':
> >>>>>> include/net/dst_ops.h:60: error: 'struct dst_ops' has no member named 'pcpuc_entries'
> >>>>>> make[4]: *** [drivers/net/wireless/b43legacy/xmit.o] Error 1
> >>>>>> make[3]: *** [drivers/net/wireless/b43legacy] Error 2
> >>>>>> make[2]: *** [drivers/net/wireless] Error 2
> >>>>>> make[1]: *** [drivers/net] Error 2
> >>>>>> make: *** [drivers] Error 2
> >>>>>>
> >>>>>> This patch fixes this issue by adding "linux/cache.h" as an include to
> >>>>>> "include/net/dst_ops.h".
> >>>>>
> >>>>> Strange. Compiling b43legacy from the linux-2.6.git tree (git describe is
> >>>>> v2.6.36-4464-g229aebb) works fine on x86_64. I wonder what is different.
> >>>>
> >>>> Exactly the same git describe here.
> >>>> Maybe your arch includes cache.h already, in my case its a compile for ARM (shmobile).
> >>>
> >>> That probably makes the difference. Using Eric's fix that removes the #include
> >>> <linux/dst.h> should be better. Does it work for you?
> >>>
> >>> There are probably a lot more of the system includes that may not be needed. If
> >>> I send you a patch removing them, could you test?
> >>
> >> As it turns out my card is not supported by b43legacy, but compilation testing,
> >> sure I can test that.
> >
> > If it is a Broadcom card, it is likely handled by b43.
>
> Yes. It seems it should work with b43 (its an SDIO card) and it almost does...
>
> > Attached is a trial removal of a number of include statements. Does it compile?
>
> Nope:
> NSTALL_MOD_PATH=/home/arnd/projekte/renesas-2/nfs modules
> CHK include/linux/version.h
> CHK include/generated/utsrelease.h
> make[1]: `include/generated/mach-types.h' is up to date.
> CALL scripts/checksyscalls.sh
> CC [M] drivers/net/wireless/b43legacy/main.o
> drivers/net/wireless/b43legacy/main.c: In function 'b43legacy_upload_microcode':
> drivers/net/wireless/b43legacy/main.c:1688: error: implicit declaration of function 'signal_pending'
> make[4]: *** [drivers/net/wireless/b43legacy/main.o] Error 1
> make[3]: *** [drivers/net/wireless/b43legacy] Error 2
> make[2]: *** [drivers/net/wireless] Error 2
> make[1]: *** [drivers/net] Error 2
> make: *** [drivers] Error 2
Is this issue resolved? Should I be expecting a b43 patch?
John
--
John W. Linville Someday the world will need a hero, and you
linville@xxxxxxxxxxxxx might be all we have. Be ready.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/