diff options
Diffstat (limited to 'drivers/net/at91_ether.c')
-rw-r--r-- | drivers/net/at91_ether.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/drivers/net/at91_ether.c b/drivers/net/at91_ether.c index e69a300a6b..0959a3c503 100644 --- a/drivers/net/at91_ether.c +++ b/drivers/net/at91_ether.c @@ -15,10 +15,10 @@ #include <xfuncs.h> #include <init.h> #include <asm/io.h> -#include <mach/hardware.h> -#include <mach/at91rm9200_emac.h> -#include <mach/board.h> -#include <generated/mach-types.h> +#include <mach/at91/hardware.h> +#include <mach/at91/at91rm9200_emac.h> +#include <mach/at91/board.h> +#include <asm/mach-types.h> #include <linux/clk.h> #include <linux/mii.h> #include <errno.h> @@ -186,7 +186,8 @@ static int at91_ether_send(struct eth_device *edev, void *packet, int length) { while (!(at91_emac_read(AT91_EMAC_TSR) & AT91_EMAC_TSR_BNQ)); - dma_sync_single_for_device((unsigned long)packet, length, DMA_TO_DEVICE); + dma_sync_single_for_device(edev->parent, (unsigned long)packet, + length, DMA_TO_DEVICE); /* Set address of the data in the Transmit Address register */ at91_emac_write(AT91_EMAC_TAR, (unsigned long) packet); @@ -198,7 +199,8 @@ static int at91_ether_send(struct eth_device *edev, void *packet, int length) at91_emac_write(AT91_EMAC_TSR, at91_emac_read(AT91_EMAC_TSR) | AT91_EMAC_TSR_COMP); - dma_sync_single_for_cpu((unsigned long)packet, length, DMA_TO_DEVICE); + dma_sync_single_for_cpu(edev->parent, (unsigned long)packet, + length, DMA_TO_DEVICE); return 0; } @@ -214,10 +216,10 @@ static int at91_ether_rx(struct eth_device *edev) size = rbfp->size & RBF_SIZE; - dma_sync_single_for_cpu((unsigned long)rbfp->addr, size, + dma_sync_single_for_cpu(edev->parent, (unsigned long)rbfp->addr, size, DMA_FROM_DEVICE); net_receive(edev, (unsigned char *)(rbfp->addr & RBF_ADDR), size); - dma_sync_single_for_device((unsigned long)rbfp->addr, size, + dma_sync_single_for_device(edev->parent, (unsigned long)rbfp->addr, size, DMA_FROM_DEVICE); rbfp->addr &= ~RBF_OWNER; @@ -284,7 +286,7 @@ static int at91_ether_init(struct eth_device *edev) return 0; } -static int at91_ether_probe(struct device_d *dev) +static int at91_ether_probe(struct device *dev) { unsigned int mac_cfg; struct ether_device *ether_dev; @@ -307,6 +309,7 @@ static int at91_ether_probe(struct device_d *dev) miibus = ðer_dev->miibus; edev->priv = ether_dev; + edev->parent = dev; edev->init = at91_ether_init; edev->open = at91_ether_open; edev->send = at91_ether_send; @@ -353,7 +356,7 @@ static int at91_ether_probe(struct device_d *dev) return 0; } -static struct driver_d at91_ether_driver = { +static struct driver at91_ether_driver = { .name = "at91_ether", .probe = at91_ether_probe, }; |