atheros: merge a few patches into the right place
[openwrt/svn-archive/archive.git] / target / linux / atheros / patches-2.6.37 / 110-ar2313_ethernet.patch
index 132fd01318387fb738fd7061a9d2bf2fefe2b694..42d9229b116b13deb54732fc40057ad42312731d 100644 (file)
@@ -25,7 +25,7 @@
  obj-$(CONFIG_DECLANCE) += declance.o
 --- /dev/null
 +++ b/drivers/net/ar231x.c
-@@ -0,0 +1,1278 @@
+@@ -0,0 +1,1293 @@
 +/*
 + * ar231x.c: Linux driver for the Atheros AR231x Ethernet device.
 + *
 +#define ERR(fmt, args...) printk("%s: " fmt, __func__, ##args)
 +#endif
 +
++#ifdef CONFIG_NET_POLL_CONTROLLER
++static void
++ar231x_netpoll(struct net_device *dev)
++{
++      unsigned long flags;
++
++      local_irq_save(flags);
++      ar231x_interrupt(dev->irq, dev);
++      local_irq_restore(flags);
++}
++#endif
++
 +static const struct net_device_ops ar231x_ops = {
 +      .ndo_open               = ar231x_open,
 +      .ndo_stop               = ar231x_close,
 +      .ndo_validate_addr      = eth_validate_addr,
 +      .ndo_set_mac_address    = eth_mac_addr,
 +      .ndo_tx_timeout         = ar231x_tx_timeout,
++#ifdef CONFIG_NET_POLL_CONTROLLER
++      .ndo_poll_controller    = ar231x_netpoll,
++#endif
 +};
 +
 +int __init ar231x_probe(struct platform_device *pdev)