Blackfin EMAC driver: add function to change the MAC address
Subsystems (2)
PATCH 1/3 Blackfin EMAC driver: add function to change the MAC address
Quoted 1 line
From
157dfddae50708a716c2a42a314eccb9621d8793Mon Sep 17 00:00:00 2001
From: Alex Landau <[email protected]>
Date: Sun, 5 Aug 2007 15:58:03 +0800
Subject: [PATCH] Blackfin Ethernet MAC driver: add function to change the MAC address
Alex Landau writes in the forums:
Previously, changing the MAC address (e.g. via ifconfig) resulted in a generic function to be called that only changed a variable in memory. This patch also updated the Blackfin MAC address registers to filter the correct new MAC.
--- drivers/net/bfin_mac.c | 13 ++++++++++++- 1 files changed, 12 insertions(+), 1 deletions(-)
drivers/net/bfin_mac.c +12 -1
@@ -468,7 +468,7 @@ void setup_system_regs(struct net_device *dev)bfin_write_DMA1_Y_MODIFY (0 ); } -void setup_mac_addr (u8 * mac_addr) +static void setup_mac_addr (u8 *mac_addr) {u32 addr_low =le32_to_cpu (*(__le32 *) & mac_addr[0 ]);u16 addr_hi =le16_to_cpu (*(__le16 *) & mac_addr[4 ]);
@@ -478,6 +478,16 @@ void setup_mac_addr(u8 * mac_addr)bfin_write_EMAC_ADDRHI (addr_hi); } +static int bf537mac_set_mac_address (struct net_device *dev,void *p) +{ +struct sockaddr *addr = p; +if (netif_running (dev)) +return -EBUSY ; +memcpy (dev->dev_addr, addr->sa_data, dev->addr_len); +setup_mac_addr (dev->dev_addr); +return 0 ; +} +static void adjust_tx_list (void ) {int timeout_cnt =MAX_TIMEOUT_CNT ;
@@ -895,6 +905,7 @@ static int __init bf537mac_probe(struct net_device *dev) dev->open = bf537mac_open; dev->stop = bf537mac_close; dev->hard_start_xmit = bf537mac_hard_start_xmit; + dev->set_mac_address = bf537mac_set_mac_address; dev->tx_timeout = bf537mac_timeout; dev->get_stats = bf537mac_query_statistics; dev->set_multicast_list = bf537mac_set_multicast_list;
Signature · 1 line
1.5.2
Quoted 11 lines · Bryan Wu
Quoted 1 line
From
157dfddae50708a716c2a42a314eccb9621d8793Mon Sep 17 00:00:00 2001From: Alex Landau <[email protected]>
Date: Sun, 5 Aug 2007 15:58:03 +0800
Subject: [PATCH] Blackfin Ethernet MAC driver: add function to change the MAC addressAlex Landau writes in the forums:
Previously, changing the MAC address (e.g. via ifconfig) resulted in a generic function to be called that only changed a variable in memory. This patch also updated the Blackfin MAC address registers to filter the correct new MAC.
Quoted 3 lines
Signed-off-by Alex Landau <[email protected]>Signed-off-by Mike Frysinger <[email protected]>Signed-off-by Bryan Wu <[email protected]>
ACK patches 1-3... but can you regenerate them against netdev-2.6.git#upstream (or davem/net-2.6.24.git)?
Quoted 14 lines · Jeff Garzik
Quoted 1 line · Bryan Wu
Quoted 1 line
From
157dfddae50708a716c2a42a314eccb9621d8793Mon Sep 17 00:00:002001
Quoted 3 lines
From: Alex Landau <[email protected]>
Date: Sun, 5 Aug 2007 15:58:03 +0800
Subject: [PATCH] Blackfin Ethernet MAC driver: add function tochange the MAC address
Quoted 4 lines
Alex Landau writes in the forums:
Previously, changing the MAC address (e.g. via ifconfig) resulted in a generic function to be called that only changed a variablein
Quoted 1 line
memory. This patch also updated the Blackfin MAC address
registers
Quoted 8 lines
Quoted 5 lines
to filter the correct new MAC.
Signed-off-by Alex Landau <[email protected]>Signed-off-by Mike Frysinger <[email protected]>Signed-off-by Bryan Wu <[email protected]>ACK patches 1-3... but can you regenerate them against netdev-2.6.git#upstream (or davem/net-2.6.24.git)?
Excellent, I will resend the patch against the netdev-2.6.git#upstream ASAP.
Thanks
-Bryan Wu