mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-30 10:39:04 +00:00
ar71xx: merge ag71xx specific patches
SVN-Revision: 18751
This commit is contained in:
parent
fce3ebbff8
commit
18885b425c
@ -593,7 +593,7 @@ static void ag71xx_oom_timer_handler(unsigned long data)
|
||||
struct net_device *dev = (struct net_device *) data;
|
||||
struct ag71xx *ag = netdev_priv(dev);
|
||||
|
||||
netif_rx_schedule(dev, &ag->napi);
|
||||
napi_schedule(&ag->napi);
|
||||
}
|
||||
|
||||
static void ag71xx_tx_timeout(struct net_device *dev)
|
||||
@ -749,7 +749,7 @@ static int ag71xx_poll(struct napi_struct *napi, int limit)
|
||||
DBG("%s: disable polling mode, done=%d, limit=%d\n",
|
||||
dev->name, done, limit);
|
||||
|
||||
netif_rx_complete(dev, napi);
|
||||
napi_complete(napi);
|
||||
|
||||
/* enable interrupts */
|
||||
spin_lock_irqsave(&ag->lock, flags);
|
||||
@ -768,7 +768,7 @@ static int ag71xx_poll(struct napi_struct *napi, int limit)
|
||||
printk(KERN_DEBUG "%s: out of memory\n", dev->name);
|
||||
|
||||
mod_timer(&ag->oom_timer, jiffies + AG71XX_OOM_REFILL);
|
||||
netif_rx_complete(dev, napi);
|
||||
napi_complete(napi);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -798,7 +798,7 @@ static irqreturn_t ag71xx_interrupt(int irq, void *dev_id)
|
||||
if (likely(status & AG71XX_INT_POLL)) {
|
||||
ag71xx_int_disable(ag, AG71XX_INT_POLL);
|
||||
DBG("%s: enable polling mode\n", dev->name);
|
||||
netif_rx_schedule(dev, &ag->napi);
|
||||
napi_schedule(&ag->napi);
|
||||
}
|
||||
|
||||
return IRQ_HANDLED;
|
||||
@ -809,6 +809,18 @@ static void ag71xx_set_multicast_list(struct net_device *dev)
|
||||
/* TODO */
|
||||
}
|
||||
|
||||
static const struct net_device_ops ag71xx_netdev_ops = {
|
||||
.ndo_open = ag71xx_open,
|
||||
.ndo_stop = ag71xx_stop,
|
||||
.ndo_start_xmit = ag71xx_hard_start_xmit,
|
||||
.ndo_set_multicast_list = ag71xx_set_multicast_list,
|
||||
.ndo_do_ioctl = ag71xx_do_ioctl,
|
||||
.ndo_tx_timeout = ag71xx_tx_timeout,
|
||||
.ndo_change_mtu = eth_change_mtu,
|
||||
.ndo_set_mac_address = eth_mac_addr,
|
||||
.ndo_validate_addr = eth_validate_addr,
|
||||
};
|
||||
|
||||
static int __init ag71xx_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct net_device *dev;
|
||||
@ -884,14 +896,9 @@ static int __init ag71xx_probe(struct platform_device *pdev)
|
||||
}
|
||||
|
||||
dev->base_addr = (unsigned long)ag->mac_base;
|
||||
dev->open = ag71xx_open;
|
||||
dev->stop = ag71xx_stop;
|
||||
dev->hard_start_xmit = ag71xx_hard_start_xmit;
|
||||
dev->set_multicast_list = ag71xx_set_multicast_list;
|
||||
dev->do_ioctl = ag71xx_do_ioctl;
|
||||
dev->netdev_ops = &ag71xx_netdev_ops;
|
||||
dev->ethtool_ops = &ag71xx_ethtool_ops;
|
||||
|
||||
dev->tx_timeout = ag71xx_tx_timeout;
|
||||
INIT_WORK(&ag->restart_work, ag71xx_restart_work_func);
|
||||
|
||||
init_timer(&ag->oom_timer);
|
||||
|
@ -1,38 +0,0 @@
|
||||
--- a/drivers/net/ag71xx/ag71xx_main.c
|
||||
+++ b/drivers/net/ag71xx/ag71xx_main.c
|
||||
@@ -595,7 +595,7 @@ static void ag71xx_oom_timer_handler(uns
|
||||
struct net_device *dev = (struct net_device *) data;
|
||||
struct ag71xx *ag = netdev_priv(dev);
|
||||
|
||||
- netif_rx_schedule(dev, &ag->napi);
|
||||
+ netif_rx_schedule(&ag->napi);
|
||||
}
|
||||
|
||||
static void ag71xx_tx_timeout(struct net_device *dev)
|
||||
@@ -751,7 +751,7 @@ static int ag71xx_poll(struct napi_struc
|
||||
DBG("%s: disable polling mode, done=%d, limit=%d\n",
|
||||
dev->name, done, limit);
|
||||
|
||||
- netif_rx_complete(dev, napi);
|
||||
+ netif_rx_complete(napi);
|
||||
|
||||
/* enable interrupts */
|
||||
spin_lock_irqsave(&ag->lock, flags);
|
||||
@@ -770,7 +770,7 @@ static int ag71xx_poll(struct napi_struc
|
||||
printk(KERN_DEBUG "%s: out of memory\n", dev->name);
|
||||
|
||||
mod_timer(&ag->oom_timer, jiffies + AG71XX_OOM_REFILL);
|
||||
- netif_rx_complete(dev, napi);
|
||||
+ netif_rx_complete(napi);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -800,7 +800,7 @@ static irqreturn_t ag71xx_interrupt(int
|
||||
if (likely(status & AG71XX_INT_POLL)) {
|
||||
ag71xx_int_disable(ag, AG71XX_INT_POLL);
|
||||
DBG("%s: enable polling mode\n", dev->name);
|
||||
- netif_rx_schedule(dev, &ag->napi);
|
||||
+ netif_rx_schedule(&ag->napi);
|
||||
}
|
||||
|
||||
return IRQ_HANDLED;
|
@ -1,38 +0,0 @@
|
||||
--- a/drivers/net/ag71xx/ag71xx_main.c
|
||||
+++ b/drivers/net/ag71xx/ag71xx_main.c
|
||||
@@ -595,7 +595,7 @@ static void ag71xx_oom_timer_handler(uns
|
||||
struct net_device *dev = (struct net_device *) data;
|
||||
struct ag71xx *ag = netdev_priv(dev);
|
||||
|
||||
- netif_rx_schedule(&ag->napi);
|
||||
+ napi_schedule(&ag->napi);
|
||||
}
|
||||
|
||||
static void ag71xx_tx_timeout(struct net_device *dev)
|
||||
@@ -751,7 +751,7 @@ static int ag71xx_poll(struct napi_struc
|
||||
DBG("%s: disable polling mode, done=%d, limit=%d\n",
|
||||
dev->name, done, limit);
|
||||
|
||||
- netif_rx_complete(napi);
|
||||
+ napi_complete(napi);
|
||||
|
||||
/* enable interrupts */
|
||||
spin_lock_irqsave(&ag->lock, flags);
|
||||
@@ -770,7 +770,7 @@ static int ag71xx_poll(struct napi_struc
|
||||
printk(KERN_DEBUG "%s: out of memory\n", dev->name);
|
||||
|
||||
mod_timer(&ag->oom_timer, jiffies + AG71XX_OOM_REFILL);
|
||||
- netif_rx_complete(napi);
|
||||
+ napi_complete(napi);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -800,7 +800,7 @@ static irqreturn_t ag71xx_interrupt(int
|
||||
if (likely(status & AG71XX_INT_POLL)) {
|
||||
ag71xx_int_disable(ag, AG71XX_INT_POLL);
|
||||
DBG("%s: enable polling mode\n", dev->name);
|
||||
- netif_rx_schedule(&ag->napi);
|
||||
+ napi_schedule(&ag->napi);
|
||||
}
|
||||
|
||||
return IRQ_HANDLED;
|
@ -1,37 +0,0 @@
|
||||
--- a/drivers/net/ag71xx/ag71xx_main.c
|
||||
+++ b/drivers/net/ag71xx/ag71xx_main.c
|
||||
@@ -811,6 +811,18 @@ static void ag71xx_set_multicast_list(st
|
||||
/* TODO */
|
||||
}
|
||||
|
||||
+static const struct net_device_ops ag71xx_netdev_ops = {
|
||||
+ .ndo_open = ag71xx_open,
|
||||
+ .ndo_stop = ag71xx_stop,
|
||||
+ .ndo_start_xmit = ag71xx_hard_start_xmit,
|
||||
+ .ndo_set_multicast_list = ag71xx_set_multicast_list,
|
||||
+ .ndo_do_ioctl = ag71xx_do_ioctl,
|
||||
+ .ndo_tx_timeout = ag71xx_tx_timeout,
|
||||
+ .ndo_change_mtu = eth_change_mtu,
|
||||
+ .ndo_set_mac_address = eth_mac_addr,
|
||||
+ .ndo_validate_addr = eth_validate_addr,
|
||||
+};
|
||||
+
|
||||
static int __init ag71xx_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct net_device *dev;
|
||||
@@ -886,14 +898,9 @@ static int __init ag71xx_probe(struct pl
|
||||
}
|
||||
|
||||
dev->base_addr = (unsigned long)ag->mac_base;
|
||||
- dev->open = ag71xx_open;
|
||||
- dev->stop = ag71xx_stop;
|
||||
- dev->hard_start_xmit = ag71xx_hard_start_xmit;
|
||||
- dev->set_multicast_list = ag71xx_set_multicast_list;
|
||||
- dev->do_ioctl = ag71xx_do_ioctl;
|
||||
+ dev->netdev_ops = &ag71xx_netdev_ops;
|
||||
dev->ethtool_ops = &ag71xx_ethtool_ops;
|
||||
|
||||
- dev->tx_timeout = ag71xx_tx_timeout;
|
||||
INIT_WORK(&ag->restart_work, ag71xx_restart_work_func);
|
||||
|
||||
init_timer(&ag->oom_timer);
|
@ -1,38 +0,0 @@
|
||||
--- a/drivers/net/ag71xx/ag71xx_main.c
|
||||
+++ b/drivers/net/ag71xx/ag71xx_main.c
|
||||
@@ -595,7 +595,7 @@ static void ag71xx_oom_timer_handler(uns
|
||||
struct net_device *dev = (struct net_device *) data;
|
||||
struct ag71xx *ag = netdev_priv(dev);
|
||||
|
||||
- netif_rx_schedule(dev, &ag->napi);
|
||||
+ netif_rx_schedule(&ag->napi);
|
||||
}
|
||||
|
||||
static void ag71xx_tx_timeout(struct net_device *dev)
|
||||
@@ -751,7 +751,7 @@ static int ag71xx_poll(struct napi_struc
|
||||
DBG("%s: disable polling mode, done=%d, limit=%d\n",
|
||||
dev->name, done, limit);
|
||||
|
||||
- netif_rx_complete(dev, napi);
|
||||
+ netif_rx_complete(napi);
|
||||
|
||||
/* enable interrupts */
|
||||
spin_lock_irqsave(&ag->lock, flags);
|
||||
@@ -770,7 +770,7 @@ static int ag71xx_poll(struct napi_struc
|
||||
printk(KERN_DEBUG "%s: out of memory\n", dev->name);
|
||||
|
||||
mod_timer(&ag->oom_timer, jiffies + AG71XX_OOM_REFILL);
|
||||
- netif_rx_complete(dev, napi);
|
||||
+ netif_rx_complete(napi);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -800,7 +800,7 @@ static irqreturn_t ag71xx_interrupt(int
|
||||
if (likely(status & AG71XX_INT_POLL)) {
|
||||
ag71xx_int_disable(ag, AG71XX_INT_POLL);
|
||||
DBG("%s: enable polling mode\n", dev->name);
|
||||
- netif_rx_schedule(dev, &ag->napi);
|
||||
+ netif_rx_schedule(&ag->napi);
|
||||
}
|
||||
|
||||
return IRQ_HANDLED;
|
@ -1,38 +0,0 @@
|
||||
--- a/drivers/net/ag71xx/ag71xx_main.c
|
||||
+++ b/drivers/net/ag71xx/ag71xx_main.c
|
||||
@@ -595,7 +595,7 @@ static void ag71xx_oom_timer_handler(uns
|
||||
struct net_device *dev = (struct net_device *) data;
|
||||
struct ag71xx *ag = netdev_priv(dev);
|
||||
|
||||
- netif_rx_schedule(&ag->napi);
|
||||
+ napi_schedule(&ag->napi);
|
||||
}
|
||||
|
||||
static void ag71xx_tx_timeout(struct net_device *dev)
|
||||
@@ -751,7 +751,7 @@ static int ag71xx_poll(struct napi_struc
|
||||
DBG("%s: disable polling mode, done=%d, limit=%d\n",
|
||||
dev->name, done, limit);
|
||||
|
||||
- netif_rx_complete(napi);
|
||||
+ napi_complete(napi);
|
||||
|
||||
/* enable interrupts */
|
||||
spin_lock_irqsave(&ag->lock, flags);
|
||||
@@ -770,7 +770,7 @@ static int ag71xx_poll(struct napi_struc
|
||||
printk(KERN_DEBUG "%s: out of memory\n", dev->name);
|
||||
|
||||
mod_timer(&ag->oom_timer, jiffies + AG71XX_OOM_REFILL);
|
||||
- netif_rx_complete(napi);
|
||||
+ napi_complete(napi);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -800,7 +800,7 @@ static irqreturn_t ag71xx_interrupt(int
|
||||
if (likely(status & AG71XX_INT_POLL)) {
|
||||
ag71xx_int_disable(ag, AG71XX_INT_POLL);
|
||||
DBG("%s: enable polling mode\n", dev->name);
|
||||
- netif_rx_schedule(&ag->napi);
|
||||
+ napi_schedule(&ag->napi);
|
||||
}
|
||||
|
||||
return IRQ_HANDLED;
|
@ -1,37 +0,0 @@
|
||||
--- a/drivers/net/ag71xx/ag71xx_main.c
|
||||
+++ b/drivers/net/ag71xx/ag71xx_main.c
|
||||
@@ -811,6 +811,18 @@ static void ag71xx_set_multicast_list(st
|
||||
/* TODO */
|
||||
}
|
||||
|
||||
+static const struct net_device_ops ag71xx_netdev_ops = {
|
||||
+ .ndo_open = ag71xx_open,
|
||||
+ .ndo_stop = ag71xx_stop,
|
||||
+ .ndo_start_xmit = ag71xx_hard_start_xmit,
|
||||
+ .ndo_set_multicast_list = ag71xx_set_multicast_list,
|
||||
+ .ndo_do_ioctl = ag71xx_do_ioctl,
|
||||
+ .ndo_tx_timeout = ag71xx_tx_timeout,
|
||||
+ .ndo_change_mtu = eth_change_mtu,
|
||||
+ .ndo_set_mac_address = eth_mac_addr,
|
||||
+ .ndo_validate_addr = eth_validate_addr,
|
||||
+};
|
||||
+
|
||||
static int __init ag71xx_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct net_device *dev;
|
||||
@@ -886,14 +898,9 @@ static int __init ag71xx_probe(struct pl
|
||||
}
|
||||
|
||||
dev->base_addr = (unsigned long)ag->mac_base;
|
||||
- dev->open = ag71xx_open;
|
||||
- dev->stop = ag71xx_stop;
|
||||
- dev->hard_start_xmit = ag71xx_hard_start_xmit;
|
||||
- dev->set_multicast_list = ag71xx_set_multicast_list;
|
||||
- dev->do_ioctl = ag71xx_do_ioctl;
|
||||
+ dev->netdev_ops = &ag71xx_netdev_ops;
|
||||
dev->ethtool_ops = &ag71xx_ethtool_ops;
|
||||
|
||||
- dev->tx_timeout = ag71xx_tx_timeout;
|
||||
INIT_WORK(&ag->restart_work, ag71xx_restart_work_func);
|
||||
|
||||
init_timer(&ag->oom_timer);
|
@ -1,38 +0,0 @@
|
||||
--- a/drivers/net/ag71xx/ag71xx_main.c
|
||||
+++ b/drivers/net/ag71xx/ag71xx_main.c
|
||||
@@ -595,7 +595,7 @@ static void ag71xx_oom_timer_handler(uns
|
||||
struct net_device *dev = (struct net_device *) data;
|
||||
struct ag71xx *ag = netdev_priv(dev);
|
||||
|
||||
- netif_rx_schedule(dev, &ag->napi);
|
||||
+ netif_rx_schedule(&ag->napi);
|
||||
}
|
||||
|
||||
static void ag71xx_tx_timeout(struct net_device *dev)
|
||||
@@ -751,7 +751,7 @@ static int ag71xx_poll(struct napi_struc
|
||||
DBG("%s: disable polling mode, done=%d, limit=%d\n",
|
||||
dev->name, done, limit);
|
||||
|
||||
- netif_rx_complete(dev, napi);
|
||||
+ netif_rx_complete(napi);
|
||||
|
||||
/* enable interrupts */
|
||||
spin_lock_irqsave(&ag->lock, flags);
|
||||
@@ -770,7 +770,7 @@ static int ag71xx_poll(struct napi_struc
|
||||
printk(KERN_DEBUG "%s: out of memory\n", dev->name);
|
||||
|
||||
mod_timer(&ag->oom_timer, jiffies + AG71XX_OOM_REFILL);
|
||||
- netif_rx_complete(dev, napi);
|
||||
+ netif_rx_complete(napi);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -800,7 +800,7 @@ static irqreturn_t ag71xx_interrupt(int
|
||||
if (likely(status & AG71XX_INT_POLL)) {
|
||||
ag71xx_int_disable(ag, AG71XX_INT_POLL);
|
||||
DBG("%s: enable polling mode\n", dev->name);
|
||||
- netif_rx_schedule(dev, &ag->napi);
|
||||
+ netif_rx_schedule(&ag->napi);
|
||||
}
|
||||
|
||||
return IRQ_HANDLED;
|
@ -1,38 +0,0 @@
|
||||
--- a/drivers/net/ag71xx/ag71xx_main.c
|
||||
+++ b/drivers/net/ag71xx/ag71xx_main.c
|
||||
@@ -595,7 +595,7 @@ static void ag71xx_oom_timer_handler(uns
|
||||
struct net_device *dev = (struct net_device *) data;
|
||||
struct ag71xx *ag = netdev_priv(dev);
|
||||
|
||||
- netif_rx_schedule(&ag->napi);
|
||||
+ napi_schedule(&ag->napi);
|
||||
}
|
||||
|
||||
static void ag71xx_tx_timeout(struct net_device *dev)
|
||||
@@ -751,7 +751,7 @@ static int ag71xx_poll(struct napi_struc
|
||||
DBG("%s: disable polling mode, done=%d, limit=%d\n",
|
||||
dev->name, done, limit);
|
||||
|
||||
- netif_rx_complete(napi);
|
||||
+ napi_complete(napi);
|
||||
|
||||
/* enable interrupts */
|
||||
spin_lock_irqsave(&ag->lock, flags);
|
||||
@@ -770,7 +770,7 @@ static int ag71xx_poll(struct napi_struc
|
||||
printk(KERN_DEBUG "%s: out of memory\n", dev->name);
|
||||
|
||||
mod_timer(&ag->oom_timer, jiffies + AG71XX_OOM_REFILL);
|
||||
- netif_rx_complete(napi);
|
||||
+ napi_complete(napi);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -800,7 +800,7 @@ static irqreturn_t ag71xx_interrupt(int
|
||||
if (likely(status & AG71XX_INT_POLL)) {
|
||||
ag71xx_int_disable(ag, AG71XX_INT_POLL);
|
||||
DBG("%s: enable polling mode\n", dev->name);
|
||||
- netif_rx_schedule(&ag->napi);
|
||||
+ napi_schedule(&ag->napi);
|
||||
}
|
||||
|
||||
return IRQ_HANDLED;
|
@ -1,37 +0,0 @@
|
||||
--- a/drivers/net/ag71xx/ag71xx_main.c
|
||||
+++ b/drivers/net/ag71xx/ag71xx_main.c
|
||||
@@ -811,6 +811,18 @@ static void ag71xx_set_multicast_list(st
|
||||
/* TODO */
|
||||
}
|
||||
|
||||
+static const struct net_device_ops ag71xx_netdev_ops = {
|
||||
+ .ndo_open = ag71xx_open,
|
||||
+ .ndo_stop = ag71xx_stop,
|
||||
+ .ndo_start_xmit = ag71xx_hard_start_xmit,
|
||||
+ .ndo_set_multicast_list = ag71xx_set_multicast_list,
|
||||
+ .ndo_do_ioctl = ag71xx_do_ioctl,
|
||||
+ .ndo_tx_timeout = ag71xx_tx_timeout,
|
||||
+ .ndo_change_mtu = eth_change_mtu,
|
||||
+ .ndo_set_mac_address = eth_mac_addr,
|
||||
+ .ndo_validate_addr = eth_validate_addr,
|
||||
+};
|
||||
+
|
||||
static int __init ag71xx_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct net_device *dev;
|
||||
@@ -886,14 +898,9 @@ static int __init ag71xx_probe(struct pl
|
||||
}
|
||||
|
||||
dev->base_addr = (unsigned long)ag->mac_base;
|
||||
- dev->open = ag71xx_open;
|
||||
- dev->stop = ag71xx_stop;
|
||||
- dev->hard_start_xmit = ag71xx_hard_start_xmit;
|
||||
- dev->set_multicast_list = ag71xx_set_multicast_list;
|
||||
- dev->do_ioctl = ag71xx_do_ioctl;
|
||||
+ dev->netdev_ops = &ag71xx_netdev_ops;
|
||||
dev->ethtool_ops = &ag71xx_ethtool_ops;
|
||||
|
||||
- dev->tx_timeout = ag71xx_tx_timeout;
|
||||
INIT_WORK(&ag->restart_work, ag71xx_restart_work_func);
|
||||
|
||||
init_timer(&ag->oom_timer);
|
Loading…
Reference in New Issue
Block a user