projects
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[brcm63xx] register udc and spi devices at the correct init level
[openwrt.git]
/
target
/
linux
/
atheros
/
patches-2.6.34
/
110-ar2313_ethernet.patch
diff --git
a/target/linux/atheros/patches-2.6.34/110-ar2313_ethernet.patch
b/target/linux/atheros/patches-2.6.34/110-ar2313_ethernet.patch
index
5c6e556
..
2dfef95
100644
(file)
--- a/
target/linux/atheros/patches-2.6.34/110-ar2313_ethernet.patch
+++ b/
target/linux/atheros/patches-2.6.34/110-ar2313_ethernet.patch
@@
-25,7
+25,7
@@
obj-$(CONFIG_DECLANCE) += declance.o
--- /dev/null
+++ b/drivers/net/ar231x.c
obj-$(CONFIG_DECLANCE) += declance.o
--- /dev/null
+++ b/drivers/net/ar231x.c
-@@ -0,0 +1,12
63
@@
+@@ -0,0 +1,12
78
@@
+/*
+ * ar231x.c: Linux driver for the Atheros AR231x Ethernet device.
+ *
+/*
+ * ar231x.c: Linux driver for the Atheros AR231x Ethernet device.
+ *
@@
-170,6
+170,7
@@
+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 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);
+
+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);
@@
-182,11
+183,15
@@
+#endif
+
+static const struct net_device_ops ar231x_ops = {
+#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_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)
+};
+
+int __init ar231x_probe(struct platform_device *pdev)
@@
-1036,6
+1041,16
@@
+ return 0;
+}
+
+ 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);
+static void ar231x_halt(struct net_device *dev)
+{
+ struct ar231x_private *sp = netdev_priv(dev);
This page took
0.026001 seconds
and
4
git commands to generate.