diff options
author | Thierry STRUDEL <thierry.strudel@stericsson.com> | 2011-10-27 18:47:58 +0200 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@stericsson.com> | 2012-05-22 11:07:19 +0200 |
commit | 3c5a53db080203d69be59b756106f4a573ad775c (patch) | |
tree | 6a96f80c99123464dc69a5407e473e9b043ff692 /include | |
parent | 42ed8e2dcd853a1d53e4a30c6fb1dba4e2cb7e7a (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.h | 45 |
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; }; /** |