diff options
Diffstat (limited to 'drivers/net/orion-gbe.c')
-rw-r--r-- | drivers/net/orion-gbe.c | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/drivers/net/orion-gbe.c b/drivers/net/orion-gbe.c index 0ae94e6840..e1b763893d 100644 --- a/drivers/net/orion-gbe.c +++ b/drivers/net/orion-gbe.c @@ -42,7 +42,7 @@ struct txdesc { }; struct port_priv { - struct device_d dev; + struct device dev; struct eth_device edev; void __iomem *regs; struct device_node *np; @@ -228,7 +228,7 @@ static int port_send(struct eth_device *edev, void *data, int len) int ret; /* flush transmit data */ - dma_sync_single_for_device((unsigned long)data, len, DMA_TO_DEVICE); + dma_sync_single_for_device(&port->dev, (unsigned long)data, len, DMA_TO_DEVICE); txdesc->cmd_sts = TXDESC_OWNED_BY_DMA; txdesc->cmd_sts |= TXDESC_FIRST | TXDESC_LAST; @@ -243,7 +243,7 @@ static int port_send(struct eth_device *edev, void *data, int len) /* wait for packet transmit completion */ ret = wait_on_timeout(TRANSFER_TIMEOUT, (readl(&txdesc->cmd_sts) & TXDESC_OWNED_BY_DMA) == 0); - dma_sync_single_for_cpu((unsigned long)data, len, DMA_TO_DEVICE); + dma_sync_single_for_cpu(&port->dev, (unsigned long)data, len, DMA_TO_DEVICE); if (ret) { dev_err(&edev->dev, "transmit timeout\n"); return ret; @@ -287,13 +287,13 @@ static int port_recv(struct eth_device *edev) } /* invalidate current receive buffer */ - dma_sync_single_for_cpu((unsigned long)rxdesc->buf_ptr, + dma_sync_single_for_cpu(&port->dev, (unsigned long)rxdesc->buf_ptr, ALIGN(PKTSIZE, 8), DMA_FROM_DEVICE); /* received packet is padded with two null bytes */ net_receive(edev, rxdesc->buf_ptr + 0x2, rxdesc->byte_cnt - 0x2); - dma_sync_single_for_device((unsigned long)rxdesc->buf_ptr, + dma_sync_single_for_device(&port->dev, (unsigned long)rxdesc->buf_ptr, ALIGN(PKTSIZE, 8), DMA_FROM_DEVICE); ret = 0; @@ -387,10 +387,10 @@ static int port_open(struct eth_device *edev) return 0; } -static int port_probe(struct device_d *parent, struct port_priv *port) +static int port_probe(struct device *parent, struct port_priv *port) { struct orion_gbe *gbe = parent->priv; - struct device_d *dev = &port->dev; + struct device *dev = &port->dev; u32 reg; int ret; @@ -451,7 +451,7 @@ static int port_probe(struct device_d *parent, struct port_priv *port) dev_set_name(dev, "%08x.ethernet-port", (u32)gbe->regs); dev->id = port->portno; dev->parent = parent; - dev->device_node = port->np; + dev->of_node = port->np; ret = register_device(dev); if (ret) return ret; @@ -473,7 +473,7 @@ static int port_probe(struct device_d *parent, struct port_priv *port) return 0; } -static int orion_gbe_probe(struct device_d *dev) +static int orion_gbe_probe(struct device *dev) { struct orion_gbe *gbe; struct port_priv *ppriv; @@ -499,13 +499,13 @@ static int orion_gbe_probe(struct device_d *dev) * Although untested, the driver should also be able to * deal with multi-port controllers. */ - for_each_child_of_node(dev->device_node, pnp) + for_each_child_of_node(dev->of_node, pnp) gbe->num_ports++; gbe->ports = xzalloc(gbe->num_ports * sizeof(*gbe->ports)); ppriv = gbe->ports; - for_each_child_of_node(dev->device_node, pnp) { + for_each_child_of_node(dev->of_node, pnp) { ppriv->np = pnp; ret = port_probe(dev, ppriv); @@ -518,7 +518,7 @@ static int orion_gbe_probe(struct device_d *dev) return 0; } -static void orion_gbe_remove(struct device_d *dev) +static void orion_gbe_remove(struct device *dev) { struct orion_gbe *gbe = dev->priv; int n; @@ -538,8 +538,9 @@ static struct of_device_id orion_gbe_dt_ids[] = { { .compatible = "marvell,kirkwood-eth", }, { } }; +MODULE_DEVICE_TABLE(of, orion_gbe_dt_ids); -static struct driver_d orion_gbe_driver = { +static struct driver orion_gbe_driver = { .name = "orion-gbe", .probe = orion_gbe_probe, .remove = orion_gbe_remove, |