lkml.org 
[lkml]   [2010]   [Oct]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH] net: b43legacy: fix compile error
    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.

    Attached is a trial removal of a number of include statements. Does it compile?

    Larry
    Index: linux-2.6/drivers/net/wireless/b43legacy/dma.c
    ===================================================================
    --- linux-2.6.orig/drivers/net/wireless/b43legacy/dma.c
    +++ linux-2.6/drivers/net/wireless/b43legacy/dma.c
    @@ -33,13 +33,6 @@
    #include "debugfs.h"
    #include "xmit.h"

    -#include <linux/dma-mapping.h>
    -#include <linux/pci.h>
    -#include <linux/delay.h>
    -#include <linux/skbuff.h>
    -#include <linux/slab.h>
    -#include <net/dst.h>
    -
    /* 32bit DMA ops. */
    static
    struct b43legacy_dmadesc_generic *op32_idx2desc(
    Index: linux-2.6/drivers/net/wireless/b43legacy/main.c
    ===================================================================
    --- linux-2.6.orig/drivers/net/wireless/b43legacy/main.c
    +++ linux-2.6/drivers/net/wireless/b43legacy/main.c
    @@ -29,20 +29,8 @@
    *
    */

    -#include <linux/delay.h>
    -#include <linux/init.h>
    -#include <linux/moduleparam.h>
    -#include <linux/if_arp.h>
    #include <linux/etherdevice.h>
    #include <linux/firmware.h>
    -#include <linux/wireless.h>
    -#include <linux/workqueue.h>
    -#include <linux/sched.h>
    -#include <linux/skbuff.h>
    -#include <linux/dma-mapping.h>
    -#include <linux/slab.h>
    -#include <net/dst.h>
    -#include <asm/unaligned.h>

    #include "b43legacy.h"
    #include "main.h"
    Index: linux-2.6/drivers/net/wireless/b43legacy/xmit.c
    ===================================================================
    --- linux-2.6.orig/drivers/net/wireless/b43legacy/xmit.c
    +++ linux-2.6/drivers/net/wireless/b43legacy/xmit.c
    @@ -28,8 +28,6 @@

    */

    -#include <net/dst.h>
    -
    #include "xmit.h"
    #include "phy.h"
    #include "dma.h"
    Index: linux-2.6/drivers/net/wireless/b43legacy/phy.c
    ===================================================================
    --- linux-2.6.orig/drivers/net/wireless/b43legacy/phy.c
    +++ linux-2.6/drivers/net/wireless/b43legacy/phy.c
    @@ -29,12 +29,6 @@

    */

    -#include <linux/delay.h>
    -#include <linux/pci.h>
    -#include <linux/sched.h>
    -#include <linux/slab.h>
    -#include <linux/types.h>
    -
    #include "b43legacy.h"
    #include "phy.h"
    #include "main.h"
    Index: linux-2.6/drivers/net/wireless/b43legacy/pio.c
    ===================================================================
    --- linux-2.6.orig/drivers/net/wireless/b43legacy/pio.c
    +++ linux-2.6/drivers/net/wireless/b43legacy/pio.c
    @@ -28,10 +28,6 @@
    #include "main.h"
    #include "xmit.h"

    -#include <linux/delay.h>
    -#include <linux/slab.h>
    -
    -
    static void tx_start(struct b43legacy_pioqueue *queue)
    {
    b43legacy_pio_write(queue, B43legacy_PIO_TXCTL,
    Index: linux-2.6/drivers/net/wireless/b43legacy/radio.c
    ===================================================================
    --- linux-2.6.orig/drivers/net/wireless/b43legacy/radio.c
    +++ linux-2.6/drivers/net/wireless/b43legacy/radio.c
    @@ -29,8 +29,6 @@

    */

    -#include <linux/delay.h>
    -
    #include "b43legacy.h"
    #include "main.h"
    #include "phy.h"
    Index: linux-2.6/drivers/net/wireless/b43legacy/sysfs.c
    ===================================================================
    --- linux-2.6.orig/drivers/net/wireless/b43legacy/sysfs.c
    +++ linux-2.6/drivers/net/wireless/b43legacy/sysfs.c
    @@ -29,8 +29,6 @@
    #include "phy.h"
    #include "radio.h"

    -#include <linux/capability.h>
    -

    #define GENERIC_FILESIZE 64
    \
     
     \ /
      Last update: 2010-10-25 21:03    [W:0.031 / U:33.368 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site