diff options
author | Tushar Dave <tushar.n.dave@oracle.com> | 2016-10-17 16:57:00 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-11-18 14:18:27 -0500 |
commit | 1a9bbccaf8182da368dae454b57dc1c55074d266 (patch) | |
tree | 8e7db148a769b34dcebe7dd5e32a094669e5de5b | |
parent | 266439c94df9e6aee3390c6e1cfdb645e566f704 (diff) |
sunbmac: Fix compiler warning
sunbmac uses '__u32' for dma handle while invoking kernel DMA APIs,
instead of using dma_addr_t. This hasn't caused any 'incompatible
pointer type' warning on SPARC because until now dma_addr_t is of
type u32. However, recent changes in SPARC ATU (iommu) enables 64bit
DMA and therefore dma_addr_t becomes of type u64. This makes
'incompatible pointer type' warnings inevitable.
e.g.
drivers/net/ethernet/sun/sunbmac.c: In function ‘bigmac_ether_init’:
drivers/net/ethernet/sun/sunbmac.c:1166: warning: passing argument 3 of ‘dma_alloc_coherent’ from incompatible pointer type
./include/linux/dma-mapping.h:445: note: expected ‘dma_addr_t *’ but argument is of type ‘__u32 *’
This patch resolves above compiler warning.
Signed-off-by: Tushar Dave <tushar.n.dave@oracle.com>
Reviewed-by: chris hyser <chris.hyser@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/sun/sunbmac.c | 5 | ||||
-rw-r--r-- | drivers/net/ethernet/sun/sunbmac.h | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/ethernet/sun/sunbmac.c b/drivers/net/ethernet/sun/sunbmac.c index aa4f9d2d8fa9..02f452730d52 100644 --- a/drivers/net/ethernet/sun/sunbmac.c +++ b/drivers/net/ethernet/sun/sunbmac.c | |||
@@ -623,6 +623,7 @@ static int bigmac_init_hw(struct bigmac *bp, int from_irq) | |||
623 | void __iomem *gregs = bp->gregs; | 623 | void __iomem *gregs = bp->gregs; |
624 | void __iomem *cregs = bp->creg; | 624 | void __iomem *cregs = bp->creg; |
625 | void __iomem *bregs = bp->bregs; | 625 | void __iomem *bregs = bp->bregs; |
626 | __u32 bblk_dvma = (__u32)bp->bblock_dvma; | ||
626 | unsigned char *e = &bp->dev->dev_addr[0]; | 627 | unsigned char *e = &bp->dev->dev_addr[0]; |
627 | 628 | ||
628 | /* Latch current counters into statistics. */ | 629 | /* Latch current counters into statistics. */ |
@@ -671,9 +672,9 @@ static int bigmac_init_hw(struct bigmac *bp, int from_irq) | |||
671 | bregs + BMAC_XIFCFG); | 672 | bregs + BMAC_XIFCFG); |
672 | 673 | ||
673 | /* Tell the QEC where the ring descriptors are. */ | 674 | /* Tell the QEC where the ring descriptors are. */ |
674 | sbus_writel(bp->bblock_dvma + bib_offset(be_rxd, 0), | 675 | sbus_writel(bblk_dvma + bib_offset(be_rxd, 0), |
675 | cregs + CREG_RXDS); | 676 | cregs + CREG_RXDS); |
676 | sbus_writel(bp->bblock_dvma + bib_offset(be_txd, 0), | 677 | sbus_writel(bblk_dvma + bib_offset(be_txd, 0), |
677 | cregs + CREG_TXDS); | 678 | cregs + CREG_TXDS); |
678 | 679 | ||
679 | /* Setup the FIFO pointers into QEC local memory. */ | 680 | /* Setup the FIFO pointers into QEC local memory. */ |
diff --git a/drivers/net/ethernet/sun/sunbmac.h b/drivers/net/ethernet/sun/sunbmac.h index 06dd21707353..532fc56830cf 100644 --- a/drivers/net/ethernet/sun/sunbmac.h +++ b/drivers/net/ethernet/sun/sunbmac.h | |||
@@ -291,7 +291,7 @@ struct bigmac { | |||
291 | void __iomem *bregs; /* BigMAC Registers */ | 291 | void __iomem *bregs; /* BigMAC Registers */ |
292 | void __iomem *tregs; /* BigMAC Transceiver */ | 292 | void __iomem *tregs; /* BigMAC Transceiver */ |
293 | struct bmac_init_block *bmac_block; /* RX and TX descriptors */ | 293 | struct bmac_init_block *bmac_block; /* RX and TX descriptors */ |
294 | __u32 bblock_dvma; /* RX and TX descriptors */ | 294 | dma_addr_t bblock_dvma; /* RX and TX descriptors */ |
295 | 295 | ||
296 | spinlock_t lock; | 296 | spinlock_t lock; |
297 | 297 | ||