From: Dale Farnsworth <[EMAIL PROTECTED]>
mp->port_mac_addr is just a copy of dev->dev_addr, so remove it.
Signed-off-by: Dale Farnsworth <[EMAIL PROTECTED]>
drivers/net/mv643xx_eth.c | 18 +++++++-----------
drivers/net/mv643xx_eth.h | 3 +--
2 files changed, 8 insertions(+), 13 deletions(-)
Index: linux-2.6-mv643xx_enet/drivers/net/mv643xx_eth.c
===================================================================
--- linux-2.6-mv643xx_enet.orig/drivers/net/mv643xx_eth.c
+++ linux-2.6-mv643xx_enet/drivers/net/mv643xx_eth.c
@@ -243,8 +243,7 @@ static void mv643xx_eth_update_mac_addre
unsigned int port_num = mp->port_num;
eth_port_init_mac_tables(port_num);
- memcpy(mp->port_mac_addr, dev->dev_addr, 6);
- eth_port_uc_addr_set(port_num, mp->port_mac_addr);
+ eth_port_uc_addr_set(port_num, dev->dev_addr);
}
/*
@@ -320,7 +319,7 @@ static void mv643xx_eth_tx_timeout_task(
netif_device_detach(dev);
eth_port_reset(mp->port_num);
- eth_port_start(mp);
+ eth_port_start(dev);
netif_device_attach(dev);
}
@@ -750,9 +749,6 @@ static int mv643xx_eth_open(struct net_d
/* Stop RX Queues */
mv_write(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(port_num), 0x0000ff00);
- /* Set the MAC Address */
- memcpy(mp->port_mac_addr, dev->dev_addr, 6);
-
eth_port_init(mp);
INIT_WORK(&mp->rx_task, (void (*)(void *))mv643xx_eth_rx_task, dev);
@@ -838,7 +834,7 @@ static int mv643xx_eth_open(struct net_d
mv643xx_eth_rx_task(dev); /* Fill RX ring with skb's */
- eth_port_start(mp);
+ eth_port_start(dev);
/* Interrupt Coalescing */
@@ -1706,7 +1702,6 @@ MODULE_DESCRIPTION("Ethernet driver for
* Prior to calling the initialization routine eth_port_init() the user
* must set the following fields under mv643xx_private struct:
* port_num User Ethernet port number.
- * port_mac_addr[6] User defined port MAC address.
* port_config User port configuration value.
* port_config_extend User port config extend value.
* port_sdma_config User port SDMA config value.
@@ -1796,7 +1791,7 @@ static void eth_port_init(struct mv643xx
* and ether_init_rx_desc_ring for Rx queues).
*
* INPUT:
- * struct mv643xx_private *mp Ethernet port control struct
+ * dev - a pointer to the required interface
*
* OUTPUT:
* Ethernet port is ready to receive and transmit.
@@ -1804,8 +1799,9 @@ static void eth_port_init(struct mv643xx
* RETURN:
* None.
*/
-static void eth_port_start(struct mv643xx_private *mp)
+static void eth_port_start(struct net_device *dev)
{
+ struct mv643xx_private *mp = netdev_priv(dev);
unsigned int port_num = mp->port_num;
int tx_curr_desc, rx_curr_desc;
@@ -1820,7 +1816,7 @@ static void eth_port_start(struct mv643x
(u32)((struct eth_rx_desc *)mp->rx_desc_dma + rx_curr_desc));
/* Add the assigned Ethernet address to the port's address table */
- eth_port_uc_addr_set(port_num, mp->port_mac_addr);
+ eth_port_uc_addr_set(port_num, dev->dev_addr);
/* Assign port configuration and command. */
mv_write(MV643XX_ETH_PORT_CONFIG_REG(port_num), mp->port_config);
Index: linux-2.6-mv643xx_enet/drivers/net/mv643xx_eth.h
===================================================================
--- linux-2.6-mv643xx_enet.orig/drivers/net/mv643xx_eth.h
+++ linux-2.6-mv643xx_enet/drivers/net/mv643xx_eth.h
@@ -324,7 +324,6 @@ struct mv643xx_mib_counters {
struct mv643xx_private {
int port_num; /* User Ethernet port number */
- u8 port_mac_addr[6]; /* User defined port MAC address.*/
u32 port_config; /* User port configuration value*/
u32 port_config_extend; /* User port config extend value*/
u32 port_sdma_config; /* User port SDMA config value */
@@ -405,7 +404,7 @@ struct mv643xx_private {
/* Port operation control routines */
static void eth_port_init(struct mv643xx_private *mp);
static void eth_port_reset(unsigned int eth_port_num);
-static void eth_port_start(struct mv643xx_private *mp);
+static void eth_port_start(struct net_device *dev);
/* Port MAC address routines */
static void eth_port_uc_addr_set(unsigned int eth_port_num,
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html