linux-next: build failure after merge of the final tree (net-nexttree related)

From: Stephen Rothwell
Date: Wed Jun 26 2013 - 03:56:24 EST


Hi all,

After merging the final tree, today's linux-next build (powerpc
allyesconfig) failed like this:

In file included from arch/powerpc/include/asm/dma-mapping.h:123:0,
from include/linux/dma-mapping.h:76,
from include/linux/skbuff.h:33,
from include/linux/if_ether.h:23,
from include/linux/etherdevice.h:25,
from drivers/net/ethernet/arc/emac_main.c:16:
drivers/net/ethernet/arc/emac_main.c: In function 'arc_emac_tx_clean':
include/linux/dma-mapping.h:227:56: error: request for member 'addr' in something not a structure or union
#define dma_unmap_addr(PTR, ADDR_NAME) ((PTR)->ADDR_NAME)
^
include/asm-generic/dma-mapping-common.h:175:64: note: in definition of macro 'dma_unmap_single'
#define dma_unmap_single(d, a, s, r) dma_unmap_single_attrs(d, a, s, r, NULL)
^
drivers/net/ethernet/arc/emac_main.c:174:32: note: in expansion of macro 'dma_unmap_addr'
dma_unmap_single(&ndev->dev, dma_unmap_addr(&tx_buff, addr),
^
include/linux/dma-mapping.h:229:56: error: request for member 'len' in something not a structure or union
#define dma_unmap_len(PTR, LEN_NAME) ((PTR)->LEN_NAME)
^
include/asm-generic/dma-mapping-common.h:175:67: note: in definition of macro 'dma_unmap_single'
#define dma_unmap_single(d, a, s, r) dma_unmap_single_attrs(d, a, s, r, NULL)
^
drivers/net/ethernet/arc/emac_main.c:175:6: note: in expansion of macro 'dma_unmap_len'
dma_unmap_len(&tx_buff, len), DMA_TO_DEVICE);
^
drivers/net/ethernet/arc/emac_main.c: In function 'arc_emac_rx':
include/linux/dma-mapping.h:227:56: error: request for member 'addr' in something not a structure or union
#define dma_unmap_addr(PTR, ADDR_NAME) ((PTR)->ADDR_NAME)
^
include/asm-generic/dma-mapping-common.h:175:64: note: in definition of macro 'dma_unmap_single'
#define dma_unmap_single(d, a, s, r) dma_unmap_single_attrs(d, a, s, r, NULL)
^
drivers/net/ethernet/arc/emac_main.c:243:32: note: in expansion of macro 'dma_unmap_addr'
dma_unmap_single(&ndev->dev, dma_unmap_addr(&rx_buff, addr),
^
include/linux/dma-mapping.h:229:56: error: request for member 'len' in something not a structure or union
#define dma_unmap_len(PTR, LEN_NAME) ((PTR)->LEN_NAME)
^
include/asm-generic/dma-mapping-common.h:175:67: note: in definition of macro 'dma_unmap_single'
#define dma_unmap_single(d, a, s, r) dma_unmap_single_attrs(d, a, s, r, NULL)
^
drivers/net/ethernet/arc/emac_main.c:244:6: note: in expansion of macro 'dma_unmap_len'
dma_unmap_len(&rx_buff, len), DMA_FROM_DEVICE);
^
In file included from include/linux/skbuff.h:33:0,
from include/linux/if_ether.h:23,
from include/linux/etherdevice.h:25,
from drivers/net/ethernet/arc/emac_main.c:16:
include/linux/dma-mapping.h:228:57: error: request for member 'mapping' in something not a structure or union
#define dma_unmap_addr_set(PTR, ADDR_NAME, VAL) (((PTR)->ADDR_NAME) = (VAL))
^
drivers/net/ethernet/arc/emac_main.c:267:3: note: in expansion of macro 'dma_unmap_addr_set'
dma_unmap_addr_set(&rx_buff, mapping, addr);
^
include/linux/dma-mapping.h:230:57: error: request for member 'len' in something not a structure or union
#define dma_unmap_len_set(PTR, LEN_NAME, VAL) (((PTR)->LEN_NAME) = (VAL))
^
drivers/net/ethernet/arc/emac_main.c:268:3: note: in expansion of macro 'dma_unmap_len_set'
dma_unmap_len_set(&rx_buff, len, buflen);
^
In file included from include/linux/swab.h:4:0,
from include/uapi/linux/byteorder/big_endian.h:12,
from include/linux/byteorder/big_endian.h:4,
from arch/powerpc/include/uapi/asm/byteorder.h:10,
from include/asm-generic/bitops/le.h:5,
from arch/powerpc/include/asm/bitops.h:278,
from include/linux/bitops.h:22,
from include/linux/kernel.h:10,
from include/linux/skbuff.h:17,
from include/linux/if_ether.h:23,
from include/linux/etherdevice.h:25,
from drivers/net/ethernet/arc/emac_main.c:16:
include/uapi/linux/swab.h:115:24: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
(__builtin_constant_p((__u32)(x)) ? \
^
include/uapi/linux/byteorder/big_endian.h:32:43: note: in expansion of macro '__swab32'
#define __cpu_to_le32(x) ((__force __le32)__swab32((x)))
^
include/linux/byteorder/generic.h:87:21: note: in expansion of macro '__cpu_to_le32'
#define cpu_to_le32 __cpu_to_le32
^
drivers/net/ethernet/arc/emac_main.c:270:16: note: in expansion of macro 'cpu_to_le32'
rxbd->data = cpu_to_le32(rx_buff->skb->data);
^
include/uapi/linux/swab.h:17:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
(((__u32)(x) & (__u32)0x000000ffUL) << 24) | \
^
include/uapi/linux/swab.h:116:2: note: in expansion of macro '___constant_swab32'
___constant_swab32(x) : \
^
include/uapi/linux/byteorder/big_endian.h:32:43: note: in expansion of macro '__swab32'
#define __cpu_to_le32(x) ((__force __le32)__swab32((x)))
^
include/linux/byteorder/generic.h:87:21: note: in expansion of macro '__cpu_to_le32'
#define cpu_to_le32 __cpu_to_le32
^
drivers/net/ethernet/arc/emac_main.c:270:16: note: in expansion of macro 'cpu_to_le32'
rxbd->data = cpu_to_le32(rx_buff->skb->data);
^
include/uapi/linux/swab.h:18:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
(((__u32)(x) & (__u32)0x0000ff00UL) << 8) | \
^
include/uapi/linux/swab.h:116:2: note: in expansion of macro '___constant_swab32'
___constant_swab32(x) : \
^
include/uapi/linux/byteorder/big_endian.h:32:43: note: in expansion of macro '__swab32'
#define __cpu_to_le32(x) ((__force __le32)__swab32((x)))
^
include/linux/byteorder/generic.h:87:21: note: in expansion of macro '__cpu_to_le32'
#define cpu_to_le32 __cpu_to_le32
^
drivers/net/ethernet/arc/emac_main.c:270:16: note: in expansion of macro 'cpu_to_le32'
rxbd->data = cpu_to_le32(rx_buff->skb->data);
^
include/uapi/linux/swab.h:19:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
(((__u32)(x) & (__u32)0x00ff0000UL) >> 8) | \
^
include/uapi/linux/swab.h:116:2: note: in expansion of macro '___constant_swab32'
___constant_swab32(x) : \
^
include/uapi/linux/byteorder/big_endian.h:32:43: note: in expansion of macro '__swab32'
#define __cpu_to_le32(x) ((__force __le32)__swab32((x)))
^
include/linux/byteorder/generic.h:87:21: note: in expansion of macro '__cpu_to_le32'
#define cpu_to_le32 __cpu_to_le32
^
drivers/net/ethernet/arc/emac_main.c:270:16: note: in expansion of macro 'cpu_to_le32'
rxbd->data = cpu_to_le32(rx_buff->skb->data);
^
include/uapi/linux/swab.h:20:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
(((__u32)(x) & (__u32)0xff000000UL) >> 24)))
^
include/uapi/linux/swab.h:116:2: note: in expansion of macro '___constant_swab32'
___constant_swab32(x) : \
^
include/uapi/linux/byteorder/big_endian.h:32:43: note: in expansion of macro '__swab32'
#define __cpu_to_le32(x) ((__force __le32)__swab32((x)))
^
include/linux/byteorder/generic.h:87:21: note: in expansion of macro '__cpu_to_le32'
#define cpu_to_le32 __cpu_to_le32
^
drivers/net/ethernet/arc/emac_main.c:270:16: note: in expansion of macro 'cpu_to_le32'
rxbd->data = cpu_to_le32(rx_buff->skb->data);
^
drivers/net/ethernet/arc/emac_main.c:270:3: warning: passing argument 1 of '__fswab32' makes integer from pointer without a cast [enabled by default]
rxbd->data = cpu_to_le32(rx_buff->skb->data);
^
In file included from include/linux/swab.h:4:0,
from include/uapi/linux/byteorder/big_endian.h:12,
from include/linux/byteorder/big_endian.h:4,
from arch/powerpc/include/uapi/asm/byteorder.h:10,
from include/asm-generic/bitops/le.h:5,
from arch/powerpc/include/asm/bitops.h:278,
from include/linux/bitops.h:22,
from include/linux/kernel.h:10,
from include/linux/skbuff.h:17,
from include/linux/if_ether.h:23,
from include/linux/etherdevice.h:25,
from drivers/net/ethernet/arc/emac_main.c:16:
include/uapi/linux/swab.h:57:41: note: expected '__u32' but argument is of type 'unsigned char *'
static inline __attribute_const__ __u32 __fswab32(__u32 val)
^
drivers/net/ethernet/arc/emac_main.c: In function 'arc_emac_open':
include/uapi/linux/swab.h:115:24: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
(__builtin_constant_p((__u32)(x)) ? \
^
include/uapi/linux/byteorder/big_endian.h:32:43: note: in expansion of macro '__swab32'
#define __cpu_to_le32(x) ((__force __le32)__swab32((x)))
^
include/linux/byteorder/generic.h:87:21: note: in expansion of macro '__cpu_to_le32'
#define cpu_to_le32 __cpu_to_le32
^
drivers/net/ethernet/arc/emac_main.c:406:14: note: in expansion of macro 'cpu_to_le32'
bd->data = cpu_to_le32(skb->data);
^
include/uapi/linux/swab.h:17:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
(((__u32)(x) & (__u32)0x000000ffUL) << 24) | \
^
include/uapi/linux/swab.h:116:2: note: in expansion of macro '___constant_swab32'
___constant_swab32(x) : \
^
include/uapi/linux/byteorder/big_endian.h:32:43: note: in expansion of macro '__swab32'
#define __cpu_to_le32(x) ((__force __le32)__swab32((x)))
^
include/linux/byteorder/generic.h:87:21: note: in expansion of macro '__cpu_to_le32'
#define cpu_to_le32 __cpu_to_le32
^
drivers/net/ethernet/arc/emac_main.c:406:14: note: in expansion of macro 'cpu_to_le32'
bd->data = cpu_to_le32(skb->data);
^
include/uapi/linux/swab.h:18:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
(((__u32)(x) & (__u32)0x0000ff00UL) << 8) | \
^
include/uapi/linux/swab.h:116:2: note: in expansion of macro '___constant_swab32'
___constant_swab32(x) : \
^
include/uapi/linux/byteorder/big_endian.h:32:43: note: in expansion of macro '__swab32'
#define __cpu_to_le32(x) ((__force __le32)__swab32((x)))
^
include/linux/byteorder/generic.h:87:21: note: in expansion of macro '__cpu_to_le32'
#define cpu_to_le32 __cpu_to_le32
^
drivers/net/ethernet/arc/emac_main.c:406:14: note: in expansion of macro 'cpu_to_le32'
bd->data = cpu_to_le32(skb->data);
^
include/uapi/linux/swab.h:19:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
(((__u32)(x) & (__u32)0x00ff0000UL) >> 8) | \
^
include/uapi/linux/swab.h:116:2: note: in expansion of macro '___constant_swab32'
___constant_swab32(x) : \
^
include/uapi/linux/byteorder/big_endian.h:32:43: note: in expansion of macro '__swab32'
#define __cpu_to_le32(x) ((__force __le32)__swab32((x)))
^
include/linux/byteorder/generic.h:87:21: note: in expansion of macro '__cpu_to_le32'
#define cpu_to_le32 __cpu_to_le32
^
drivers/net/ethernet/arc/emac_main.c:406:14: note: in expansion of macro 'cpu_to_le32'
bd->data = cpu_to_le32(skb->data);
^
include/uapi/linux/swab.h:20:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
(((__u32)(x) & (__u32)0xff000000UL) >> 24)))
^
include/uapi/linux/swab.h:116:2: note: in expansion of macro '___constant_swab32'
___constant_swab32(x) : \
^
include/uapi/linux/byteorder/big_endian.h:32:43: note: in expansion of macro '__swab32'
#define __cpu_to_le32(x) ((__force __le32)__swab32((x)))
^
include/linux/byteorder/generic.h:87:21: note: in expansion of macro '__cpu_to_le32'
#define cpu_to_le32 __cpu_to_le32
^
drivers/net/ethernet/arc/emac_main.c:406:14: note: in expansion of macro 'cpu_to_le32'
bd->data = cpu_to_le32(skb->data);
^
drivers/net/ethernet/arc/emac_main.c:406:3: warning: passing argument 1 of '__fswab32' makes integer from pointer without a cast [enabled by default]
bd->data = cpu_to_le32(skb->data);
^
In file included from include/linux/swab.h:4:0,
from include/uapi/linux/byteorder/big_endian.h:12,
from include/linux/byteorder/big_endian.h:4,
from arch/powerpc/include/uapi/asm/byteorder.h:10,
from include/asm-generic/bitops/le.h:5,
from arch/powerpc/include/asm/bitops.h:278,
from include/linux/bitops.h:22,
from include/linux/kernel.h:10,
from include/linux/skbuff.h:17,
from include/linux/if_ether.h:23,
from include/linux/etherdevice.h:25,
from drivers/net/ethernet/arc/emac_main.c:16:
include/uapi/linux/swab.h:57:41: note: expected '__u32' but argument is of type 'unsigned char *'
static inline __attribute_const__ __u32 __fswab32(__u32 val)
^
In file included from include/linux/skbuff.h:33:0,
from include/linux/if_ether.h:23,
from include/linux/etherdevice.h:25,
from drivers/net/ethernet/arc/emac_main.c:16:
drivers/net/ethernet/arc/emac_main.c: In function 'arc_emac_tx':
include/linux/dma-mapping.h:228:57: error: 'struct buffer_state' has no member named 'mapping'
#define dma_unmap_addr_set(PTR, ADDR_NAME, VAL) (((PTR)->ADDR_NAME) = (VAL))
^
drivers/net/ethernet/arc/emac_main.c:546:2: note: in expansion of macro 'dma_unmap_addr_set'
dma_unmap_addr_set(&priv->tx_buff[*txbd_curr], mapping, addr);
^

Caused by commit e4f2379db6c6 ("ethernet/arc/arc_emac - Add new driver")
from the net-next tree.

I have reverted that commit for today.
--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx

Attachment: pgp00000.pgp
Description: PGP signature