aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/armada100_fec.c
diff options
context:
space:
mode:
authorMarek Vasut2012-07-27 09:50:07 +0000
committerJoe Hershberger2012-09-24 13:55:20 -0500
commit905b3b00a177a22944ee4b9e505e9395f23e58ed (patch)
treef372e219fb9006bc8e8eed1816f4e5da667f09d6 /drivers/net/armada100_fec.c
parent7fd70820248b17aa8b574c2823f73d538c31958f (diff)
dm: net: Fixup the armada100 FEC driver
Apply the following questionable adjustment to silence GCC. armada100_fec.c: In function ‘armdfec_send’: armada100_fec.c:589:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] Signed-off-by: Marek Vasut <marex@denx.de> Cc: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
Diffstat (limited to 'drivers/net/armada100_fec.c')
-rw-r--r--drivers/net/armada100_fec.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/armada100_fec.c b/drivers/net/armada100_fec.c
index d318a363985..ed7cf203248 100644
--- a/drivers/net/armada100_fec.c
+++ b/drivers/net/armada100_fec.c
@@ -565,7 +565,7 @@ static int armdfec_send(struct eth_device *dev, void *dataptr, int datasize)
struct tx_desc *p_txdesc = darmdfec->p_txdesc;
void *p = (void *)dataptr;
int retry = PHY_WAIT_ITERATIONS * PHY_WAIT_MICRO_SECONDS;
- u32 cmd_sts;
+ u32 cmd_sts, temp;
/* Copy buffer if it's misaligned */
if ((u32)dataptr & 0x07) {
@@ -586,7 +586,8 @@ static int armdfec_send(struct eth_device *dev, void *dataptr, int datasize)
p_txdesc->byte_cnt = datasize;
/* Apply send command using high priority TX queue */
- writel((u32)p_txdesc, &regs->txcdp[TXQ]);
+ temp = (u32)&regs->txcdp[TXQ];
+ writel((u32)p_txdesc, temp);
writel(SDMA_CMD_TXDL | SDMA_CMD_TXDH | SDMA_CMD_ERD, &regs->sdma_cmd);
/*