diff options
author | Tejun Heo <tj@kernel.org> | 2010-10-18 02:33:02 -0400 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2010-10-18 02:33:02 -0400 |
commit | e24dcbef93dbbf529fbedfc6ce8ab22d2cef35f0 (patch) | |
tree | 6ab3a2004ed8d21a48ce2eeda6c5b733b76599e4 /drivers/pci/hotplug/shpchp_ctrl.c | |
parent | a827ea307b147aeb050803433b3f6842582c6ced (diff) |
shpchp: update workqueue usage
* Rename shpchp_wq to shpchp_ordered_wq and add non-ordered shpchp_wq
which is used instead of the system workqueue. This is to remove
the use of flush_scheduled_work() which is deprecated and scheduled
for removal.
* With cmwq in place, there's no point in creating workqueues lazily.
Create both shpchp_wq and shpchp_ordered_wq upfront.
* Include workqueue.h from shpchp.h.
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'drivers/pci/hotplug/shpchp_ctrl.c')
-rw-r--r-- | drivers/pci/hotplug/shpchp_ctrl.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/pci/hotplug/shpchp_ctrl.c b/drivers/pci/hotplug/shpchp_ctrl.c index 3387fbfb0c54..b00b09bdd38a 100644 --- a/drivers/pci/hotplug/shpchp_ctrl.c +++ b/drivers/pci/hotplug/shpchp_ctrl.c | |||
@@ -32,7 +32,6 @@ | |||
32 | #include <linux/types.h> | 32 | #include <linux/types.h> |
33 | #include <linux/slab.h> | 33 | #include <linux/slab.h> |
34 | #include <linux/pci.h> | 34 | #include <linux/pci.h> |
35 | #include <linux/workqueue.h> | ||
36 | #include "../pci.h" | 35 | #include "../pci.h" |
37 | #include "shpchp.h" | 36 | #include "shpchp.h" |
38 | 37 | ||
@@ -52,7 +51,7 @@ static int queue_interrupt_event(struct slot *p_slot, u32 event_type) | |||
52 | info->p_slot = p_slot; | 51 | info->p_slot = p_slot; |
53 | INIT_WORK(&info->work, interrupt_event_handler); | 52 | INIT_WORK(&info->work, interrupt_event_handler); |
54 | 53 | ||
55 | schedule_work(&info->work); | 54 | queue_work(shpchp_wq, &info->work); |
56 | 55 | ||
57 | return 0; | 56 | return 0; |
58 | } | 57 | } |
@@ -457,7 +456,7 @@ void shpchp_queue_pushbutton_work(struct work_struct *work) | |||
457 | kfree(info); | 456 | kfree(info); |
458 | goto out; | 457 | goto out; |
459 | } | 458 | } |
460 | queue_work(shpchp_wq, &info->work); | 459 | queue_work(shpchp_ordered_wq, &info->work); |
461 | out: | 460 | out: |
462 | mutex_unlock(&p_slot->lock); | 461 | mutex_unlock(&p_slot->lock); |
463 | } | 462 | } |
@@ -505,7 +504,7 @@ static void handle_button_press_event(struct slot *p_slot) | |||
505 | p_slot->hpc_ops->green_led_blink(p_slot); | 504 | p_slot->hpc_ops->green_led_blink(p_slot); |
506 | p_slot->hpc_ops->set_attention_status(p_slot, 0); | 505 | p_slot->hpc_ops->set_attention_status(p_slot, 0); |
507 | 506 | ||
508 | schedule_delayed_work(&p_slot->work, 5*HZ); | 507 | queue_delayed_work(shpchp_wq, &p_slot->work, 5*HZ); |
509 | break; | 508 | break; |
510 | case BLINKINGOFF_STATE: | 509 | case BLINKINGOFF_STATE: |
511 | case BLINKINGON_STATE: | 510 | case BLINKINGON_STATE: |