aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2010-12-12 10:45:14 -0500
committerTejun Heo <tj@kernel.org>2010-12-12 10:45:14 -0500
commit6e07ebd84eef00be9e169a6d15a0bc20b06578fa (patch)
tree71eaaea0df69b18701e440bb1109d0d361989218
parentad1184c6cf067a13e8cb2a4e7ccc407f947027d0 (diff)
drivers/net: remove unnecessary flush_scheduled_work() calls
janz-ican3, sh_eth, skge and vxge don't use workqueue at all and there is no reason to flush the system_wq. Drop flush_scheduled_work() calls and references to workqueue. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: "David S. Miller" <davem@davemloft.net> Cc: Wolfgang Grandegger <wg@grandegger.com> Cc: Stephen Hemminger <shemminger@linux-foundation.org> Cc: Ramkrishna Vepa <ramkrishna.vepa@exar.com> Cc: Sivakumar Subramani <sivakumar.subramani@exar.com> Cc: Sreenivasa Honnur <sreenivasa.honnur@exar.com> Cc: Jon Mason <jon.mason@exar.com> Cc: netdev@vger.kernel.org
-rw-r--r--drivers/net/can/janz-ican3.c9
-rw-r--r--drivers/net/sh_eth.c1
-rw-r--r--drivers/net/sh_eth.h1
-rw-r--r--drivers/net/skge.c2
-rw-r--r--drivers/net/vxge/vxge-main.c2
5 files changed, 0 insertions, 15 deletions
diff --git a/drivers/net/can/janz-ican3.c b/drivers/net/can/janz-ican3.c
index 6e533dcc36c0..b9a6d7a5a739 100644
--- a/drivers/net/can/janz-ican3.c
+++ b/drivers/net/can/janz-ican3.c
@@ -1114,11 +1114,6 @@ static bool ican3_txok(struct ican3_dev *mod)
1114/* 1114/*
1115 * Recieve one CAN frame from the hardware 1115 * Recieve one CAN frame from the hardware
1116 * 1116 *
1117 * This works like the core of a NAPI function, but is intended to be called
1118 * from workqueue context instead. This driver already needs a workqueue to
1119 * process control messages, so we use the workqueue instead of using NAPI.
1120 * This was done to simplify locking.
1121 *
1122 * CONTEXT: must be called from user context 1117 * CONTEXT: must be called from user context
1123 */ 1118 */
1124static int ican3_recv_skb(struct ican3_dev *mod) 1119static int ican3_recv_skb(struct ican3_dev *mod)
@@ -1251,7 +1246,6 @@ static irqreturn_t ican3_irq(int irq, void *dev_id)
1251 * Reset an ICAN module to its power-on state 1246 * Reset an ICAN module to its power-on state
1252 * 1247 *
1253 * CONTEXT: no network device registered 1248 * CONTEXT: no network device registered
1254 * LOCKING: work function disabled
1255 */ 1249 */
1256static int ican3_reset_module(struct ican3_dev *mod) 1250static int ican3_reset_module(struct ican3_dev *mod)
1257{ 1251{
@@ -1262,9 +1256,6 @@ static int ican3_reset_module(struct ican3_dev *mod)
1262 /* disable interrupts so no more work is scheduled */ 1256 /* disable interrupts so no more work is scheduled */
1263 iowrite8(1 << mod->num, &mod->ctrl->int_disable); 1257 iowrite8(1 << mod->num, &mod->ctrl->int_disable);
1264 1258
1265 /* flush any pending work */
1266 flush_scheduled_work();
1267
1268 /* the first unallocated page in the DPM is #9 */ 1259 /* the first unallocated page in the DPM is #9 */
1269 mod->free_page = DPM_FREE_START; 1260 mod->free_page = DPM_FREE_START;
1270 1261
diff --git a/drivers/net/sh_eth.c b/drivers/net/sh_eth.c
index b12660d72338..819c1750e2ab 100644
--- a/drivers/net/sh_eth.c
+++ b/drivers/net/sh_eth.c
@@ -1552,7 +1552,6 @@ static int sh_eth_drv_remove(struct platform_device *pdev)
1552 1552
1553 sh_mdio_release(ndev); 1553 sh_mdio_release(ndev);
1554 unregister_netdev(ndev); 1554 unregister_netdev(ndev);
1555 flush_scheduled_work();
1556 pm_runtime_disable(&pdev->dev); 1555 pm_runtime_disable(&pdev->dev);
1557 free_netdev(ndev); 1556 free_netdev(ndev);
1558 platform_set_drvdata(pdev, NULL); 1557 platform_set_drvdata(pdev, NULL);
diff --git a/drivers/net/sh_eth.h b/drivers/net/sh_eth.h
index 8b47763958f2..efa64221eede 100644
--- a/drivers/net/sh_eth.h
+++ b/drivers/net/sh_eth.h
@@ -26,7 +26,6 @@
26#include <linux/module.h> 26#include <linux/module.h>
27#include <linux/kernel.h> 27#include <linux/kernel.h>
28#include <linux/spinlock.h> 28#include <linux/spinlock.h>
29#include <linux/workqueue.h>
30#include <linux/netdevice.h> 29#include <linux/netdevice.h>
31#include <linux/phy.h> 30#include <linux/phy.h>
32 31
diff --git a/drivers/net/skge.c b/drivers/net/skge.c
index 220e0398f1d5..8c1404b58382 100644
--- a/drivers/net/skge.c
+++ b/drivers/net/skge.c
@@ -4012,8 +4012,6 @@ static void __devexit skge_remove(struct pci_dev *pdev)
4012 if (!hw) 4012 if (!hw)
4013 return; 4013 return;
4014 4014
4015 flush_scheduled_work();
4016
4017 dev1 = hw->dev[1]; 4015 dev1 = hw->dev[1];
4018 if (dev1) 4016 if (dev1)
4019 unregister_netdev(dev1); 4017 unregister_netdev(dev1);
diff --git a/drivers/net/vxge/vxge-main.c b/drivers/net/vxge/vxge-main.c
index b771e4b2ca9e..537ad874f11c 100644
--- a/drivers/net/vxge/vxge-main.c
+++ b/drivers/net/vxge/vxge-main.c
@@ -3439,8 +3439,6 @@ static void vxge_device_unregister(struct __vxge_hw_device *hldev)
3439 3439
3440 strncpy(buf, dev->name, IFNAMSIZ); 3440 strncpy(buf, dev->name, IFNAMSIZ);
3441 3441
3442 flush_scheduled_work();
3443
3444 /* in 2.6 will call stop() if device is up */ 3442 /* in 2.6 will call stop() if device is up */
3445 unregister_netdev(dev); 3443 unregister_netdev(dev);
3446 3444