aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/gianfar.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/gianfar.c')
-rw-r--r--drivers/net/gianfar.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c
index 032073d1e3d2..5267c27e3174 100644
--- a/drivers/net/gianfar.c
+++ b/drivers/net/gianfar.c
@@ -558,12 +558,8 @@ static int gfar_parse_group(struct device_node *np,
558 struct gfar_private *priv, const char *model) 558 struct gfar_private *priv, const char *model)
559{ 559{
560 u32 *queue_mask; 560 u32 *queue_mask;
561 u64 addr, size;
562
563 addr = of_translate_address(np,
564 of_get_address(np, 0, &size, NULL));
565 priv->gfargrp[priv->num_grps].regs = ioremap(addr, size);
566 561
562 priv->gfargrp[priv->num_grps].regs = of_iomap(np, 0);
567 if (!priv->gfargrp[priv->num_grps].regs) 563 if (!priv->gfargrp[priv->num_grps].regs)
568 return -ENOMEM; 564 return -ENOMEM;
569 565
@@ -1571,9 +1567,9 @@ static void gfar_halt_nodisable(struct net_device *dev)
1571 tempval |= (DMACTRL_GRS | DMACTRL_GTS); 1567 tempval |= (DMACTRL_GRS | DMACTRL_GTS);
1572 gfar_write(&regs->dmactrl, tempval); 1568 gfar_write(&regs->dmactrl, tempval);
1573 1569
1574 while (!(gfar_read(&regs->ievent) & 1570 spin_event_timeout(((gfar_read(&regs->ievent) &
1575 (IEVENT_GRSC | IEVENT_GTSC))) 1571 (IEVENT_GRSC | IEVENT_GTSC)) ==
1576 cpu_relax(); 1572 (IEVENT_GRSC | IEVENT_GTSC)), -1, 0);
1577 } 1573 }
1578} 1574}
1579 1575