diff options
author | matteo <matteo@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-05-13 00:10:45 +0000 |
---|---|---|
committer | matteo <matteo@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-05-13 00:10:45 +0000 |
commit | fd481b734f4a75edf099b61e16ddc31e1f4a8b69 (patch) | |
tree | b04d839a84aad7bdf62af36e1ec23c1f582bada6 /target/linux/atheros | |
parent | 73723cbc1d095fcf1b24687078abe6549467cd98 (diff) |
atheros: added marvell switch driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11129 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/atheros')
-rw-r--r-- | target/linux/atheros/config-2.6.25 | 2 | ||||
-rw-r--r-- | target/linux/atheros/patches-2.6.25/200-ar2313_enable_mvswitch.patch | 38 |
2 files changed, 40 insertions, 0 deletions
diff --git a/target/linux/atheros/config-2.6.25 b/target/linux/atheros/config-2.6.25 index 2408411f5e..2000410722 100644 --- a/target/linux/atheros/config-2.6.25 +++ b/target/linux/atheros/config-2.6.25 @@ -1,5 +1,6 @@ CONFIG_32BIT=y # CONFIG_64BIT is not set +# CONFIG_ADM6996_PHY is not set CONFIG_AR2313=y # CONFIG_ARCH_HAS_ILOG2_U32 is not set # CONFIG_ARCH_HAS_ILOG2_U64 is not set @@ -166,6 +167,7 @@ CONFIG_MTD_REDBOOT_PARTS_READONLY=y # CONFIG_MTD_ROM is not set # CONFIG_MTD_SLRAM is not set CONFIG_MTD_SPIFLASH=y +CONFIG_MVSWITCH_PHY=y # CONFIG_NET_PCI is not set # CONFIG_NET_VENDOR_3COM is not set CONFIG_NEW_GPIO=y diff --git a/target/linux/atheros/patches-2.6.25/200-ar2313_enable_mvswitch.patch b/target/linux/atheros/patches-2.6.25/200-ar2313_enable_mvswitch.patch new file mode 100644 index 0000000000..1c7d7c2365 --- /dev/null +++ b/target/linux/atheros/patches-2.6.25/200-ar2313_enable_mvswitch.patch @@ -0,0 +1,38 @@ +Index: linux-2.6.25.1/drivers/net/ar2313/ar2313.c +=================================================================== +--- linux-2.6.25.1.orig/drivers/net/ar2313/ar2313.c 2008-05-13 00:49:39.000000000 +0200 ++++ linux-2.6.25.1/drivers/net/ar2313/ar2313.c 2008-05-13 00:49:42.000000000 +0200 +@@ -953,9 +953,9 @@ + ((status >> DMA_RX_LEN_SHIFT) & 0x3fff) - CRC_LEN); + + dev->stats.rx_bytes += skb->len; +- skb->protocol = eth_type_trans(skb, dev); ++ + /* pass the packet to upper layers */ +- netif_rx(skb); ++ sp->rx(skb); + + skb_new->dev = dev; + /* 16 bit align */ +@@ -1370,6 +1370,8 @@ + return PTR_ERR(phydev); + } + ++ sp->rx = phydev->netif_rx; ++ + /* mask with MAC supported features */ + phydev->supported &= (SUPPORTED_10baseT_Half + | SUPPORTED_10baseT_Full +Index: linux-2.6.25.1/drivers/net/ar2313/ar2313.h +=================================================================== +--- linux-2.6.25.1.orig/drivers/net/ar2313/ar2313.h 2008-05-13 00:49:39.000000000 +0200 ++++ linux-2.6.25.1/drivers/net/ar2313/ar2313.h 2008-05-13 00:49:42.000000000 +0200 +@@ -107,6 +107,8 @@ + */ + struct ar2313_private { + struct net_device *dev; ++ int (*rx)(struct sk_buff *skb); ++ + int version; + u32 mb[2]; + |