add a variable LIBRPC to refer to the external librpc if used
[openwrt.git] / target / linux / atheros / patches-2.6.32 / 110-ar2313_ethernet.patch
index d5c1a83..22fadd0 100644 (file)
@@ -1,8 +1,6 @@
-Index: linux-2.6.32.7/drivers/net/Kconfig
-===================================================================
---- linux-2.6.32.7.orig/drivers/net/Kconfig    2010-02-03 16:57:31.714431054 +0100
-+++ linux-2.6.32.7/drivers/net/Kconfig 2010-02-03 17:00:35.870429264 +0100
-@@ -359,6 +359,12 @@
+--- a/drivers/net/Kconfig
++++ b/drivers/net/Kconfig
+@@ -359,6 +359,12 @@ config AX88796_93CX6
        help
          Select this if your platform comes with an external 93CX6 eeprom.
  
@@ -15,11 +13,9 @@ Index: linux-2.6.32.7/drivers/net/Kconfig
  config MACE
        tristate "MACE (Power Mac ethernet) support"
        depends on PPC_PMAC && PPC32
-Index: linux-2.6.32.7/drivers/net/Makefile
-===================================================================
---- linux-2.6.32.7.orig/drivers/net/Makefile   2010-02-03 16:57:31.714431054 +0100
-+++ linux-2.6.32.7/drivers/net/Makefile        2010-02-03 17:00:35.870429264 +0100
-@@ -216,6 +216,7 @@
+--- a/drivers/net/Makefile
++++ b/drivers/net/Makefile
+@@ -216,6 +216,7 @@ obj-$(CONFIG_EQUALIZER) += eql.o
  obj-$(CONFIG_KORINA) += korina.o
  obj-$(CONFIG_MIPS_JAZZ_SONIC) += jazzsonic.o
  obj-$(CONFIG_MIPS_AU1X00_ENET) += au1000_eth.o
@@ -27,11 +23,9 @@ Index: linux-2.6.32.7/drivers/net/Makefile
  obj-$(CONFIG_MIPS_SIM_NET) += mipsnet.o
  obj-$(CONFIG_SGI_IOC3_ETH) += ioc3-eth.o
  obj-$(CONFIG_DECLANCE) += declance.o
-Index: linux-2.6.32.7/drivers/net/ar231x.c
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/drivers/net/ar231x.c        2010-02-03 17:00:35.874430230 +0100
-@@ -0,0 +1,1263 @@
+--- /dev/null
++++ b/drivers/net/ar231x.c
+@@ -0,0 +1,1278 @@
 +/*
 + * ar231x.c: Linux driver for the Atheros AR231x Ethernet device.
 + *
@@ -176,6 +170,7 @@ Index: linux-2.6.32.7/drivers/net/ar231x.c
 +static void rx_tasklet_func(unsigned long data);
 +static void rx_tasklet_cleanup(struct net_device *dev);
 +static void ar231x_multicast_list(struct net_device *dev);
++static void ar231x_tx_timeout(struct net_device *dev);
 +
 +static int ar231x_mdiobus_read(struct mii_bus *bus, int phy_addr, int regnum);
 +static int ar231x_mdiobus_write(struct mii_bus *bus, int phy_addr, int regnum, u16 value);
@@ -188,11 +183,15 @@ Index: linux-2.6.32.7/drivers/net/ar231x.c
 +#endif
 +
 +static const struct net_device_ops ar231x_ops = {
-+      .ndo_open = ar231x_open,
-+      .ndo_stop = ar231x_close,
-+      .ndo_start_xmit = ar231x_start_xmit,
++      .ndo_open               = ar231x_open,
++      .ndo_stop               = ar231x_close,
++      .ndo_start_xmit         = ar231x_start_xmit,
 +      .ndo_set_multicast_list = ar231x_multicast_list,
-+      .ndo_do_ioctl = ar231x_ioctl,
++      .ndo_do_ioctl           = ar231x_ioctl,
++      .ndo_change_mtu         = eth_change_mtu,
++      .ndo_validate_addr      = eth_validate_addr,
++      .ndo_set_mac_address    = eth_mac_addr,
++      .ndo_tx_timeout         = ar231x_tx_timeout,
 +};
 +
 +int __init ar231x_probe(struct platform_device *pdev)
@@ -361,7 +360,7 @@ Index: linux-2.6.32.7/drivers/net/ar231x.c
 +      tasklet_kill(&sp->rx_tasklet);
 +}
 +
-+static int __exit ar231x_remove(struct platform_device *pdev)
++static int __devexit ar231x_remove(struct platform_device *pdev)
 +{
 +      struct net_device *dev = platform_get_drvdata(pdev);
 +      struct ar231x_private *sp = netdev_priv(dev);
@@ -398,7 +397,7 @@ Index: linux-2.6.32.7/drivers/net/ar231x.c
 +static struct platform_driver ar231x_driver = {
 +      .driver.name = "ar231x-eth",
 +      .probe = ar231x_probe,
-+      .remove = ar231x_remove,
++      .remove = __devexit_p(ar231x_remove),
 +};
 +
 +int __init ar231x_module_init(void)
@@ -1042,6 +1041,16 @@ Index: linux-2.6.32.7/drivers/net/ar231x.c
 +      return 0;
 +}
 +
++static void ar231x_tx_timeout(struct net_device *dev)
++{
++      struct ar231x_private *sp = netdev_priv(dev);
++      unsigned long flags;
++
++      spin_lock_irqsave(&sp->lock, flags);
++      ar231x_restart(dev);
++      spin_unlock_irqrestore(&sp->lock, flags);
++}
++
 +static void ar231x_halt(struct net_device *dev)
 +{
 +      struct ar231x_private *sp = netdev_priv(dev);
@@ -1295,10 +1304,8 @@ Index: linux-2.6.32.7/drivers/net/ar231x.c
 +      return 0;
 +}
 +
-Index: linux-2.6.32.7/drivers/net/ar231x.h
-===================================================================
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.7/drivers/net/ar231x.h        2010-02-03 17:00:35.874430230 +0100
+--- /dev/null
++++ b/drivers/net/ar231x.h
 @@ -0,0 +1,302 @@
 +/*
 + * ar231x.h: Linux driver for the Atheros AR231x Ethernet device.
This page took 0.027822 seconds and 4 git commands to generate.