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>
This commit is contained in:
@@ -32,7 +32,6 @@
|
||||
#include <linux/types.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/workqueue.h>
|
||||
#include "../pci.h"
|
||||
#include "shpchp.h"
|
||||
|
||||
@@ -52,7 +51,7 @@ static int queue_interrupt_event(struct slot *p_slot, u32 event_type)
|
||||
info->p_slot = p_slot;
|
||||
INIT_WORK(&info->work, interrupt_event_handler);
|
||||
|
||||
schedule_work(&info->work);
|
||||
queue_work(shpchp_wq, &info->work);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -457,7 +456,7 @@ void shpchp_queue_pushbutton_work(struct work_struct *work)
|
||||
kfree(info);
|
||||
goto out;
|
||||
}
|
||||
queue_work(shpchp_wq, &info->work);
|
||||
queue_work(shpchp_ordered_wq, &info->work);
|
||||
out:
|
||||
mutex_unlock(&p_slot->lock);
|
||||
}
|
||||
@@ -505,7 +504,7 @@ static void handle_button_press_event(struct slot *p_slot)
|
||||
p_slot->hpc_ops->green_led_blink(p_slot);
|
||||
p_slot->hpc_ops->set_attention_status(p_slot, 0);
|
||||
|
||||
schedule_delayed_work(&p_slot->work, 5*HZ);
|
||||
queue_delayed_work(shpchp_wq, &p_slot->work, 5*HZ);
|
||||
break;
|
||||
case BLINKINGOFF_STATE:
|
||||
case BLINKINGON_STATE:
|
||||
|
Reference in New Issue
Block a user