From: Prafulla Wadaskar Date: Tue, 6 Apr 2010 16:51:33 +0000 (+0530) Subject: net:kirkwood_egiga.c: MAC addresses programming using write_hwaddr X-Git-Tag: v2010.06-rc1~68^2~4 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=b5ce63ed12b4cd81d211621aca0c222b20d2a691;p=oweals%2Fu-boot.git net:kirkwood_egiga.c: MAC addresses programming using write_hwaddr Added a new function kwgbe_write_hwaddr for programming egiga controller's hardware address. This function will be called for each egiga port being used Signed-off-by: Prafulla Wadaskar Signed-off-by: Ben Warren --- diff --git a/drivers/net/kirkwood_egiga.c b/drivers/net/kirkwood_egiga.c index dd711e4a10..932792e364 100644 --- a/drivers/net/kirkwood_egiga.c +++ b/drivers/net/kirkwood_egiga.c @@ -498,6 +498,16 @@ static int kwgbe_halt(struct eth_device *dev) return 0; } +static int kwgbe_write_hwaddr(struct eth_device *dev) +{ + struct kwgbe_device *dkwgbe = to_dkwgbe(dev); + struct kwgbe_registers *regs = dkwgbe->regs; + + /* Programs net device MAC address after initialization */ + port_uc_addr_set(regs, dkwgbe->dev.enetaddr); + return 0; +} + static int kwgbe_send(struct eth_device *dev, volatile void *dataptr, int datasize) { @@ -694,6 +704,7 @@ int kirkwood_egiga_initialize(bd_t * bis) dev->halt = (void *)kwgbe_halt; dev->send = (void *)kwgbe_send; dev->recv = (void *)kwgbe_recv; + dev->write_hwaddr = (void *)kwgbe_write_hwaddr; eth_register(dev);