drivers/net: fix broadcom/bcmsysport.c compile fail on SPARC
Subsystems (3)
To fix:
CC drivers/net/ethernet/broadcom/bcmsysport.o
In file included from drivers/net/ethernet/broadcom/bcmsysport.c:28:0:drivers/net/ethernet/broadcom/bcmsysport.h:41:8: error: redefinition of 'struct tsb' arch/sparc/include/asm/mmu_64.h:65:8: note: originally defined here make[1]: *** [drivers/net/ethernet/broadcom/bcmsysport.o] Error 1
we change struct tsb to struct bcm_tsb in the broadcom driver in order to avoid the namespace collision.
drivers/net/ethernet/broadcom/bcmsysport.c +4 -4
@@ -759,7 +759,7 @@ static irqreturn_t bcm_sysport_tx_isr(int irq, void *dev_id)static int bcm_sysport_insert_tsb (struct sk_buff *skb,struct net_device *dev) {struct sk_buff *nskb; -struct tsb *tsb; +struct bcm_tsb *tsb;u32 csum_info;u8 ip_proto;u16 csum_start;
@@ -777,7 +777,7 @@ static int bcm_sysport_insert_tsb(struct sk_buff *skb, struct net_device *dev) skb = nskb; } - tsb = (struct tsb *)skb_push (skb,sizeof (*tsb)); + tsb = (struct bcm_tsb *)skb_push (skb,sizeof (*tsb));/* Zero-out TSB by default */ memset (tsb,0 ,sizeof (*tsb));
@@ -1549,8 +1549,8 @@ static int bcm_sysport_probe(struct platform_device *pdev)NETIF_F_IP_CSUM |NETIF_F_IPV6_CSUM ;/* Set the needed headroom once and for all */ -BUILD_BUG_ON (sizeof (struct tsb ) !=8 ); - dev->needed_headroom +=sizeof (struct tsb ); +BUILD_BUG_ON (sizeof (struct bcm_tsb ) !=8 ); + dev->needed_headroom +=sizeof (struct bcm_tsb );/* We are interfaced to a switch which handles the multicast * filtering for us, so we do not support programming any
drivers/net/ethernet/broadcom/bcmsysport.h +1 -1
@@ -38,7 +38,7 @@ ENET_BRCM_TAG_LEN + ETH_FCS_LEN + ENET_PAD)/* Transmit status block */ -struct tsb { +struct bcm_tsb {u32 pcp_dei_vid;#define PCP_DEI_MASK 0xf#define VID_SHIFT 4
Signature · 1 line
1.9.3
Florian Fainelli
Acked-byHi Paul,
2014-05-30 7:02 GMT-07:00 Paul Gortmaker <[email protected]>:
Quoted 8 lines
To fix:
CC
drivers/net/ethernet/broadcom/bcmsysport.o
In file included fromdrivers/net/ethernet/broadcom/bcmsysport.c:28:0:drivers/net/ethernet/broadcom/bcmsysport.h:41:8: error: redefinition of 'struct tsb'arch/sparc/include/asm/mmu_64.h:65:8: note: originally defined here make[1]: *** [drivers/net/ethernet/broadcom/bcmsysport.o] Error 1
Quoted 4 lines
we change struct tsb to struct
bcm_tsbin the broadcom driver in order to avoid the namespace collision.Signed-off-by Paul Gortmaker <[email protected]>
For consistency, we might want to rename 'struct tsb' to 'struct bcm_tsb', thanks for catching this.
Quoted 50 lines
drivers/net/ethernet/broadcom/bcmsysport.c +4
-4@@ -759,7 +759,7 @@ static irqreturn_t bcm_sysport_tx_isr(int irq, void *dev_id)static int bcm_sysport_insert_tsb (struct sk_buff *skb,struct net_device *dev) {struct sk_buff *nskb; -struct tsb *tsb; +struct bcm_tsb *tsb;u32 csum_info;u8 ip_proto;u16 csum_start;@@ -777,7 +777,7 @@ static int bcm_sysport_insert_tsb(struct sk_buff *skb, struct net_device *dev) skb = nskb; } - tsb = (struct tsb *)skb_push (skb,sizeof (*tsb)); + tsb = (struct bcm_tsb *)skb_push (skb,sizeof (*tsb));/* Zero-out TSB by default */ memset (tsb,0 ,sizeof (*tsb));@@ -1549,8 +1549,8 @@ static int bcm_sysport_probe(struct platform_device *pdev)NETIF_F_IP_CSUM |NETIF_F_IPV6_CSUM ;/* Set the needed headroom once and for all */ -BUILD_BUG_ON (sizeof (struct tsb ) !=8 ); - dev->needed_headroom +=sizeof (struct tsb ); +BUILD_BUG_ON (sizeof (struct bcm_tsb ) !=8 ); + dev->needed_headroom +=sizeof (struct bcm_tsb );/* We are interfaced to a switch which handles the multicast * filtering for us, so we do not support programming any drivers/net/ethernet/broadcom/bcmsysport.h +1
-2@@ -38,7 +38,7 @@ ENET_BRCM_TAG_LEN + ETH_FCS_LEN + ENET_PAD)/* Transmit status block */ -struct tsb { +struct bcm_tsb {u32 pcp_dei_vid;#define PCP_DEI_MASK 0xf#define VID_SHIFT 4 --1.9.3
Signature · 1 line
Florian
Quoted 11 lines · Florian Fainelli
Hi Paul,
2014-05-30 7:02 GMT-07:00 Paul Gortmaker <[email protected]>:
Quoted 8 lines
To fix:
CC
drivers/net/ethernet/broadcom/bcmsysport.o
In file included fromdrivers/net/ethernet/broadcom/bcmsysport.c:28:0:drivers/net/ethernet/broadcom/bcmsysport.h:41:8: error: redefinition of 'struct tsb'arch/sparc/include/asm/mmu_64.h:65:8: note: originally defined here make[1]: *** [drivers/net/ethernet/broadcom/bcmsysport.o] Error 1
Quoted 7 lines
Quoted 4 lines
we change struct tsb to struct
bcm_tsbin the broadcom driver in order to avoid the namespace collision.Signed-off-by Paul Gortmaker <[email protected]>For consistency, we might want to rename 'struct tsb' to 'struct
bcm_tsb', thanks for catching this.
The above is what I did ; I assume however you meant "struct rsb" to "struct bcm_rsb", which does make sense for consistency. I'll send a v2 with that incorporated.
Thanks,
Paul.
--
Quoted 56 lines
Acked-by Florian Fainelli <[email protected]>Quoted 50 lines
drivers/net/ethernet/broadcom/bcmsysport.c +4
-4@@ -759,7 +759,7 @@ static irqreturn_t bcm_sysport_tx_isr(int irq, void *dev_id)static int bcm_sysport_insert_tsb (struct sk_buff *skb,struct net_device *dev) {struct sk_buff *nskb; -struct tsb *tsb; +struct bcm_tsb *tsb;u32 csum_info;u8 ip_proto;u16 csum_start;@@ -777,7 +777,7 @@ static int bcm_sysport_insert_tsb(struct sk_buff *skb, struct net_device *dev) skb = nskb; } - tsb = (struct tsb *)skb_push (skb,sizeof (*tsb)); + tsb = (struct bcm_tsb *)skb_push (skb,sizeof (*tsb));/* Zero-out TSB by default */ memset (tsb,0 ,sizeof (*tsb));@@ -1549,8 +1549,8 @@ static int bcm_sysport_probe(struct platform_device *pdev)NETIF_F_IP_CSUM |NETIF_F_IPV6_CSUM ;/* Set the needed headroom once and for all */ -BUILD_BUG_ON (sizeof (struct tsb ) !=8 ); - dev->needed_headroom +=sizeof (struct tsb ); +BUILD_BUG_ON (sizeof (struct bcm_tsb ) !=8 ); + dev->needed_headroom +=sizeof (struct bcm_tsb );/* We are interfaced to a switch which handles the multicast * filtering for us, so we do not support programming any drivers/net/ethernet/broadcom/bcmsysport.h +1
-2@@ -38,7 +38,7 @@ ENET_BRCM_TAG_LEN + ETH_FCS_LEN + ENET_PAD)/* Transmit status block */ -struct tsb { +struct bcm_tsb {u32 pcp_dei_vid;#define PCP_DEI_MASK 0xf#define VID_SHIFT 4 --1.9.3
2014-05-30 11:21 GMT-07:00 Paul Gortmaker <[email protected]>:
Quoted 15 lines · Florian Fainelli
Quoted 14 lines
Hi Paul,
2014-05-30 7:02 GMT-07:00 Paul Gortmaker <[email protected]>:
Quoted 11 lines
To fix:
CC
drivers/net/ethernet/broadcom/bcmsysport.o
In file included fromdrivers/net/ethernet/broadcom/bcmsysport.c:28:0:drivers/net/ethernet/broadcom/bcmsysport.h:41:8: error: redefinition of 'struct tsb'arch/sparc/include/asm/mmu_64.h:65:8: note: originally defined here make[1]: *** [drivers/net/ethernet/broadcom/bcmsysport.o] Error 1we change struct tsb to struct
bcm_tsbin the broadcom driver in order to avoid the namespace collision.
Quoted 8 lines
Quoted 4 lines
Quoted 1 line
Signed-off-by Paul Gortmaker <[email protected]>For consistency, we might want to rename 'struct tsb' to 'struct
bcm_tsb', thanks for catching this.The above is what I did ; I assume however you meant "struct rsb" to "struct
bcm_rsb", which does make sense for consistency. I'll send a v2 with that incorporated.
I do mean 'struct rsb', thanks!
Quoted 61 lines
Thanks,
Paul.
--Quoted 56 lines
Acked-by Florian Fainelli <[email protected]>Quoted 50 lines
drivers/net/ethernet/broadcom/bcmsysport.c +4
-4@@ -759,7 +759,7 @@ static irqreturn_t bcm_sysport_tx_isr(int irq, void *dev_id)static int bcm_sysport_insert_tsb (struct sk_buff *skb,struct net_device *dev) {struct sk_buff *nskb; -struct tsb *tsb; +struct bcm_tsb *tsb;u32 csum_info;u8 ip_proto;u16 csum_start;@@ -777,7 +777,7 @@ static int bcm_sysport_insert_tsb(struct sk_buff *skb, struct net_device *dev) skb = nskb; } - tsb = (struct tsb *)skb_push (skb,sizeof (*tsb)); + tsb = (struct bcm_tsb *)skb_push (skb,sizeof (*tsb));/* Zero-out TSB by default */ memset (tsb,0 ,sizeof (*tsb));@@ -1549,8 +1549,8 @@ static int bcm_sysport_probe(struct platform_device *pdev)NETIF_F_IP_CSUM |NETIF_F_IPV6_CSUM ;/* Set the needed headroom once and for all */ -BUILD_BUG_ON (sizeof (struct tsb ) !=8 ); - dev->needed_headroom +=sizeof (struct tsb ); +BUILD_BUG_ON (sizeof (struct bcm_tsb ) !=8 ); + dev->needed_headroom +=sizeof (struct bcm_tsb );/* We are interfaced to a switch which handles the multicast * filtering for us, so we do not support programming any drivers/net/ethernet/broadcom/bcmsysport.h +1
-2@@ -38,7 +38,7 @@ ENET_BRCM_TAG_LEN + ETH_FCS_LEN + ENET_PAD)/* Transmit status block */ -struct tsb { +struct bcm_tsb {u32 pcp_dei_vid;#define PCP_DEI_MASK 0xf#define VID_SHIFT 4 --1.9.3
Signature · 1 line
Florian
PATCH v2 1/1 drivers/net: fix broadcom/bcmsysport.c compile fail on SPARC
In reply to Paul GortmakerTo fix:
CC drivers/net/ethernet/broadcom/bcmsysport.o
In file included from drivers/net/ethernet/broadcom/bcmsysport.c:28:0:drivers/net/ethernet/broadcom/bcmsysport.h:41:8: error: redefinition of 'struct tsb' arch/sparc/include/asm/mmu_64.h:65:8: note: originally defined here make[1]: *** [drivers/net/ethernet/broadcom/bcmsysport.o] Error 1
we change struct tsb to struct bcm_tsb in the broadcom driver in order to avoid the namespace collision. For consistency, we also change struct rsb to struct bcm_rsb, so the Rx/Tx symmetry is maintained.
---
[v2: also change rsb --> bcm_rsb for Rx/Tx consistency]
drivers/net/ethernet/broadcom/bcmsysport.c | 12 ++++++------ drivers/net/ethernet/broadcom/bcmsysport.h | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-)
drivers/net/ethernet/broadcom/bcmsysport.c +6 -6
@@ -457,7 +457,7 @@ static unsigned int bcm_sysport_desc_rx(struct bcm_sysport_priv *priv,struct sk_buff *skb;unsigned int p_index;u16 len, status; -struct rsb *rsb; +struct bcm_rsb *rsb;/* Determine how much we should process since last call */ p_index =rdma_readl (priv,RDMA_PROD_INDEX );
@@ -482,7 +482,7 @@ static unsigned int bcm_sysport_desc_rx(struct bcm_sysport_priv *priv, RX_BUF_LENGTH, DMA_FROM_DEVICE);/* Extract the Receive Status Block prepended */ - rsb = (struct rsb *)skb->data; + rsb = (struct bcm_rsb *)skb->data; len = (rsb->rx_status_len >>DESC_LEN_SHIFT ) &DESC_LEN_MASK ; status = (rsb->rx_status_len >>DESC_STATUS_SHIFT ) &DESC_STATUS_MASK ;
@@ -759,7 +759,7 @@ static irqreturn_t bcm_sysport_tx_isr(int irq, void *dev_id)static int bcm_sysport_insert_tsb (struct sk_buff *skb,struct net_device *dev) {struct sk_buff *nskb; -struct tsb *tsb; +struct bcm_tsb *tsb;u32 csum_info;u8 ip_proto;u16 csum_start;
@@ -777,7 +777,7 @@ static int bcm_sysport_insert_tsb(struct sk_buff *skb, struct net_device *dev) skb = nskb; } - tsb = (struct tsb *)skb_push (skb,sizeof (*tsb)); + tsb = (struct bcm_tsb *)skb_push (skb,sizeof (*tsb));/* Zero-out TSB by default */ memset (tsb,0 ,sizeof (*tsb));
@@ -1584,8 +1584,8 @@ static int bcm_sysport_probe(struct platform_device *pdev)NETIF_F_IP_CSUM |NETIF_F_IPV6_CSUM ;/* Set the needed headroom once and for all */ -BUILD_BUG_ON (sizeof (struct tsb ) !=8 ); - dev->needed_headroom +=sizeof (struct tsb ); +BUILD_BUG_ON (sizeof (struct bcm_tsb ) !=8 ); + dev->needed_headroom +=sizeof (struct bcm_tsb );/* We are interfaced to a switch which handles the multicast * filtering for us, so we do not support programming any
drivers/net/ethernet/broadcom/bcmsysport.h +2 -2
@@ -38,7 +38,7 @@ ENET_BRCM_TAG_LEN + ETH_FCS_LEN + ENET_PAD)/* Transmit status block */ -struct tsb { +struct bcm_tsb {u32 pcp_dei_vid;#define PCP_DEI_MASK 0xf#define VID_SHIFT 4
@@ -56,7 +56,7 @@ struct tsb {/* Receive status block uses the same * definitions as the DMA descriptor */ -struct rsb { +struct bcm_rsb {u32 rx_status_len;u32 brcm_egress_tag; };
Signature · 1 line
1.9.3
2014-05-30 12:39 GMT-07:00 Paul Gortmaker <[email protected]>:
Quoted 8 lines
To fix:
CC
drivers/net/ethernet/broadcom/bcmsysport.o
In file included fromdrivers/net/ethernet/broadcom/bcmsysport.c:28:0:drivers/net/ethernet/broadcom/bcmsysport.h:41:8: error: redefinition of 'struct tsb'arch/sparc/include/asm/mmu_64.h:65:8: note: originally defined here make[1]: *** [drivers/net/ethernet/broadcom/bcmsysport.o] Error 1
Quoted 6 lines
we change struct tsb to struct
bcm_tsbin the broadcom driver in order to avoid the namespace collision. For consistency, we also change struct rsb to structbcm_rsb, so the Rx/Tx symmetry is maintained.Signed-off-by Paul Gortmaker <[email protected]>
Quoted 84 lines
---
[v2: also change rsb -->
bcm_rsbfor Rx/Tx consistency]drivers/net/ethernet/broadcom/bcmsysport.c | 12 ++++++------ drivers/net/ethernet/broadcom/bcmsysport.h | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-)drivers/net/ethernet/broadcom/bcmsysport.c +6
-6@@ -457,7 +457,7 @@ static unsigned int bcm_sysport_desc_rx(struct bcm_sysport_priv *priv,struct sk_buff *skb;unsigned int p_index;u16 len, status; -struct rsb *rsb; +struct bcm_rsb *rsb;/* Determine how much we should process since last call */ p_index =rdma_readl (priv,RDMA_PROD_INDEX );@@ -482,7 +482,7 @@ static unsigned int bcm_sysport_desc_rx(struct bcm_sysport_priv *priv, RX_BUF_LENGTH, DMA_FROM_DEVICE);/* Extract the Receive Status Block prepended */ - rsb = (struct rsb *)skb->data; + rsb = (struct bcm_rsb *)skb->data; len = (rsb->rx_status_len >>DESC_LEN_SHIFT ) &DESC_LEN_MASK ; status = (rsb->rx_status_len >>DESC_STATUS_SHIFT ) &DESC_STATUS_MASK ;@@ -759,7 +759,7 @@ static irqreturn_t bcm_sysport_tx_isr(int irq, void *dev_id)static int bcm_sysport_insert_tsb (struct sk_buff *skb,struct net_device *dev) {struct sk_buff *nskb; -struct tsb *tsb; +struct bcm_tsb *tsb;u32 csum_info;u8 ip_proto;u16 csum_start;@@ -777,7 +777,7 @@ static int bcm_sysport_insert_tsb(struct sk_buff *skb, struct net_device *dev) skb = nskb; } - tsb = (struct tsb *)skb_push (skb,sizeof (*tsb)); + tsb = (struct bcm_tsb *)skb_push (skb,sizeof (*tsb));/* Zero-out TSB by default */ memset (tsb,0 ,sizeof (*tsb));@@ -1584,8 +1584,8 @@ static int bcm_sysport_probe(struct platform_device *pdev)NETIF_F_IP_CSUM |NETIF_F_IPV6_CSUM ;/* Set the needed headroom once and for all */ -BUILD_BUG_ON (sizeof (struct tsb ) !=8 ); - dev->needed_headroom +=sizeof (struct tsb ); +BUILD_BUG_ON (sizeof (struct bcm_tsb ) !=8 ); + dev->needed_headroom +=sizeof (struct bcm_tsb );/* We are interfaced to a switch which handles the multicast * filtering for us, so we do not support programming any drivers/net/ethernet/broadcom/bcmsysport.h +2
-3@@ -38,7 +38,7 @@ ENET_BRCM_TAG_LEN + ETH_FCS_LEN + ENET_PAD)/* Transmit status block */ -struct tsb { +struct bcm_tsb {u32 pcp_dei_vid;#define PCP_DEI_MASK 0xf#define VID_SHIFT 4@@ -56,7 +56,7 @@ struct tsb {/* Receive status block uses the same * definitions as the DMA descriptor */ -struct rsb { +struct bcm_rsb {u32 rx_status_len;u32 brcm_egress_tag; }; --1.9.3
Signature · 1 line
Florian