summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorThierry STRUDEL <thierry.strudel@stericsson.com>2011-10-27 18:47:58 +0200
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 11:07:19 +0200
commit3c5a53db080203d69be59b756106f4a573ad775c (patch)
tree6a96f80c99123464dc69a5407e473e9b043ff692 /include
parent42ed8e2dcd853a1d53e4a30c6fb1dba4e2cb7e7a (diff)
shrm: use kthread_worker instead of workqueue
Workqueue updates no longer guarantee fixed workqueue to worker kthread association, so giving RT priority to the irq worker won't work. Use kthread_worker which guarantees specific kthread association instead. This also makes setting the priority cleaner. ST-Ericsson ID: 361756 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Id54eafae1391ef8b09e93a4815efa1b674d3d90d Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/36062 Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com> Reviewed-by: QABUILD Tested-by: Christoffer LONNERFORS <christoffer.lonnerfors@stericsson.com> Reviewed-by: Arun MURTHY <arun.murthy@stericsson.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/modem/shrm/shrm_driver.h45
1 files changed, 28 insertions, 17 deletions
diff --git a/include/linux/modem/shrm/shrm_driver.h b/include/linux/modem/shrm/shrm_driver.h
index 8fa215571eb..689ce207df5 100644
--- a/include/linux/modem/shrm/shrm_driver.h
+++ b/include/linux/modem/shrm/shrm_driver.h
@@ -23,6 +23,7 @@
#include <linux/modem/modem_client.h>
#include <linux/modem/shrm/shrm.h>
#include <linux/cdev.h>
+#include <linux/kthread.h>
#define ISA_DEVICES 7
@@ -64,11 +65,16 @@
* @dev: pointer to the driver device
* @ndev: pointer to the network device structure
* @isa_context: pointer to t_isa_driver_sontext dtructure
- * @shm_common_ch_wr_wq: work queue for writing to common channel
- * @shm_audio_ch_wr_wq: workqueue for writing to audio channel
- * @shm_ac_wake_wq: workqueue for receiving ape-cmt wake requests
- * @shm_ca_wake_wq: workqueue for receiving cmt-ape wake requests
- * @shm_ac_sleep_wq: workqueue for recieving ape-cmt sleep requests
+ * @shm_common_ch_wr_wk: kthread worker for writing to common channel
+ * @shm_common_ch_wr_wk_task: task for writing to common channel
+ * @shm_audio_ch_wr_wk: kthread worker for writing to audio channel
+ * @shm_audio_ch_wr_wk_task: task for writing to audio channel
+ * @shm_ac_wake_wk: kthread worker for receiving ape-cmt wake requests
+ * @shm_ac_wake_wk_task: task for receiving ape-cmt wake requests
+ * @shm_ca_wake_wk: kthread worker for receiving cmt-ape wake requests
+ * @shm_ca_wake_wk_task: task for receiving cmt-ape wake requests
+ * @shm_ac_sleep_wk: kthread worker for recieving ape-cmt sleep requests
+ * @shm_ac_sleep_wk_task: task for recieving ape-cmt sleep requests
* @send_ac_msg_pend_notify_0: work for handling pending message on common
* channel
* @send_ac_msg_pend_notify_1: work for handling pending message on audio
@@ -117,18 +123,23 @@ struct shrm_dev {
struct net_device *ndev;
struct modem *modem;
struct isa_driver_context *isa_context;
- struct workqueue_struct *shm_common_ch_wr_wq;
- struct workqueue_struct *shm_audio_ch_wr_wq;
- struct workqueue_struct *shm_ac_wake_wq;
- struct workqueue_struct *shm_ca_wake_wq;
- struct workqueue_struct *shm_ac_sleep_wq;
- struct work_struct send_ac_msg_pend_notify_0;
- struct work_struct send_ac_msg_pend_notify_1;
- struct work_struct shm_ac_wake_req;
- struct work_struct shm_ca_wake_req;
- struct work_struct shm_ca_sleep_req;
- struct work_struct shm_ac_sleep_req;
- struct work_struct shm_mod_reset_req;
+ struct kthread_worker shm_common_ch_wr_kw;
+ struct task_struct *shm_common_ch_wr_kw_task;
+ struct kthread_worker shm_audio_ch_wr_kw;
+ struct task_struct *shm_audio_ch_wr_kw_task;
+ struct kthread_worker shm_ac_wake_kw;
+ struct task_struct *shm_ac_wake_kw_task;
+ struct kthread_worker shm_ca_wake_kw;
+ struct task_struct *shm_ca_wake_kw_task;
+ struct kthread_worker shm_ac_sleep_kw;
+ struct task_struct *shm_ac_sleep_kw_task;
+ struct kthread_work send_ac_msg_pend_notify_0;
+ struct kthread_work send_ac_msg_pend_notify_1;
+ struct kthread_work shm_ac_wake_req;
+ struct kthread_work shm_ca_wake_req;
+ struct kthread_work shm_ca_sleep_req;
+ struct kthread_work shm_ac_sleep_req;
+ struct kthread_work shm_mod_reset_req;
};
/**