diff options
author | Imre Kaloz <kaloz@openwrt.org> | 2007-03-03 23:12:34 +0000 |
---|---|---|
committer | Imre Kaloz <kaloz@openwrt.org> | 2007-03-03 23:12:34 +0000 |
commit | b97c7c0af684727a0697d1c2565deca5d493eb71 (patch) | |
tree | 585b259022ddddc1924aa12160b90aa5055bb56f /target/linux/ixp4xx-2.6/patches/133-ixp4xx_net_driver_improve_mac_handling.patch | |
parent | 5acf90187b0b632264bbb63f7cacb5886a1008c3 (diff) | |
download | upstream-b97c7c0af684727a0697d1c2565deca5d493eb71.tar.gz upstream-b97c7c0af684727a0697d1c2565deca5d493eb71.tar.bz2 upstream-b97c7c0af684727a0697d1c2565deca5d493eb71.zip |
upgrade the ixp4xx ethernet driver to v0.3.1, split the Gateway 7001 support to two patches
SVN-Revision: 6489
Diffstat (limited to 'target/linux/ixp4xx-2.6/patches/133-ixp4xx_net_driver_improve_mac_handling.patch')
-rw-r--r-- | target/linux/ixp4xx-2.6/patches/133-ixp4xx_net_driver_improve_mac_handling.patch | 71 |
1 files changed, 26 insertions, 45 deletions
diff --git a/target/linux/ixp4xx-2.6/patches/133-ixp4xx_net_driver_improve_mac_handling.patch b/target/linux/ixp4xx-2.6/patches/133-ixp4xx_net_driver_improve_mac_handling.patch index a808e4dfa9..d632b3045b 100644 --- a/target/linux/ixp4xx-2.6/patches/133-ixp4xx_net_driver_improve_mac_handling.patch +++ b/target/linux/ixp4xx-2.6/patches/133-ixp4xx_net_driver_improve_mac_handling.patch @@ -1,31 +1,10 @@ -Index: linux-2.6.19/include/asm-arm/arch-ixp4xx/platform.h -=================================================================== ---- linux-2.6.19.orig/include/asm-arm/arch-ixp4xx/platform.h -+++ linux-2.6.19/include/asm-arm/arch-ixp4xx/platform.h -@@ -100,6 +100,7 @@ struct mac_plat_info { - int phy_id; /* ID of the connected PHY (PCB/platform dependent) */ - int rxq_id; /* Queue ID of the RX-free q*/ - int txq_id; /* Where to push the outgoing packets */ -+ unsigned char hwaddr[6]; /* Desired hardware address */ - }; +diff -Naupr a/drivers/net/ixp4xx/mac_driver.c b/drivers/net/ixp4xx/mac_driver.c +--- a/drivers/net/ixp4xx/mac_driver.c 2007-01-12 21:54:40.000000000 -0700 ++++ b/drivers/net/ixp4xx/mac_driver.c 2007-01-12 22:27:18.000000000 -0700 +@@ -350,6 +350,16 @@ static int ixmac_open (struct net_device + mac->npe_stat_num = i<NPE_STAT_NUM ? NPE_STAT_NUM_BASE : NPE_STAT_NUM; + mac->npe_stat_num += NPE_Q_STAT_NUM; - -Index: linux-2.6.19/drivers/net/ixp4xx/mac_driver.c -=================================================================== ---- linux-2.6.19.orig/drivers/net/ixp4xx/mac_driver.c -+++ linux-2.6.19/drivers/net/ixp4xx/mac_driver.c -@@ -189,6 +189,24 @@ static int ixmac_open (struct net_device - } - mac->rxq_pkt += RX_QUEUE_PREFILL; - -+ /* printk(KERN_INFO "...Platform MAC=0x%02x%02x%02x%02x%02x%02x\n", -+ mac->plat->hwaddr[0], -+ mac->plat->hwaddr[1], -+ mac->plat->hwaddr[2], -+ mac->plat->hwaddr[3], -+ mac->plat->hwaddr[4], -+ mac->plat->hwaddr[5] -+ ); */ + /* Only use platform or random if there's currently no device hw addr */ + if (is_zero_ether_addr(dev->dev_addr)) { + if (is_zero_ether_addr(mac->plat->hwaddr)) { @@ -36,25 +15,27 @@ Index: linux-2.6.19/drivers/net/ixp4xx/mac_driver.c + memcpy(dev->dev_addr, mac->plat->hwaddr, 6); + } + - mac_init(mac); - npe_mh_set_rxqid(npe, mac->plat, RX_DONE_QID); mac_set_uniaddr(dev); -@@ -434,9 +452,15 @@ static int mac_probe(struct platform_dev - * following commands: - * "ip link set address 02:03:04:04:04:01 dev eth0" - * "ifconfig eth0 hw ether 02:03:04:04:04:07" -- */ -- random_ether_addr(dev->dev_addr); -- dev->dev_addr[5] = plat->phy_id; -+ */ -+/* Note: moved to ixmac_open to allow notifiers to run for compiled in modules -+ if (is_zero_ether_addr(plat->hwaddr)) { -+ random_ether_addr(dev->dev_addr); -+ dev->dev_addr[5] = plat->phy_id; -+ } -+ else -+ memcpy(dev->dev_addr, plat->hwaddr, 6); -+*/ + media_check(dev, 1); + ixmac_set_rx_mode(dev); +@@ -691,20 +701,6 @@ static int mac_probe(struct platform_dev + + INIT_WORK(&mac->mdio_thread, mac_mdio_thread, dev); +- /* The place of the MAC address is very system dependent. +- * Here we use a random one to be replaced by one of the +- * following commands: +- * "ip link set address 02:03:04:04:04:01 dev eth0" +- * "ifconfig eth0 hw ether 02:03:04:04:04:07" +- */ +- +- if (is_zero_ether_addr(plat->hwaddr)) { +- random_ether_addr(dev->dev_addr); +- dev->dev_addr[5] = plat->phy_id; +- } +- else +- memcpy(dev->dev_addr, plat->hwaddr, 6); +- printk(KERN_INFO IXMAC_NAME " driver " IXMAC_VERSION ": %s on %s with PHY[%d] initialized\n", + dev->name, npe->plat->name, plat->phy_id); |