summaryrefslogtreecommitdiff
path: root/syna_tcm2.c
diff options
context:
space:
mode:
Diffstat (limited to 'syna_tcm2.c')
-rw-r--r--syna_tcm2.c18
1 files changed, 3 insertions, 15 deletions
diff --git a/syna_tcm2.c b/syna_tcm2.c
index 06a15c7..ec61618 100644
--- a/syna_tcm2.c
+++ b/syna_tcm2.c
@@ -413,7 +413,7 @@ static void syna_set_palm_mode_work(struct work_struct *work)
/**
* syna_dev_reset_detected_cb()
*
- * Callback to assign a task to helper thread.
+ * Callback to assign a task to event workqueue.
*
* Please be noted that this function will be invoked in ISR so don't
* issue another touchcomm command here.
@@ -428,11 +428,6 @@ static void syna_dev_reset_detected_cb(void *callback_data)
{
struct syna_tcm *tcm = (struct syna_tcm *)callback_data;
- if (!tcm->helper.workqueue) {
- LOGW("No helper thread created\n");
- return;
- }
-
#ifdef RESET_ON_RESUME
if (tcm->pwr_state != PWR_ON)
return;
@@ -441,7 +436,7 @@ static void syna_dev_reset_detected_cb(void *callback_data)
if (ATOMIC_GET(tcm->helper.task) == HELP_NONE) {
ATOMIC_SET(tcm->helper.task, HELP_RESET_DETECTED);
- queue_work(tcm->helper.workqueue, &tcm->helper.work);
+ queue_work(tcm->event_wq, &tcm->helper.work);
}
}
/**
@@ -2252,13 +2247,10 @@ static int syna_dev_suspend(struct device *dev)
LOGE("Fail to complete hw reset, ret = %d, status = %d\n",
retval, status);
}
- return retval;
}
retval = syna_dev_enter_lowpwr_sensing(tcm);
- if (retval < 0) {
+ if (retval < 0)
LOGE("Fail to enter suspended power mode after reset.\n");
- return retval;
- }
}
tcm->pwr_state = LOW_PWR;
#else
@@ -3056,8 +3048,6 @@ static int syna_dev_probe(struct platform_device *pdev)
#if defined(ENABLE_HELPER)
ATOMIC_SET(tcm->helper.task, HELP_NONE);
- tcm->helper.workqueue =
- create_singlethread_workqueue("synaptics_tcm_helper");
INIT_WORK(&tcm->helper.work, syna_dev_helper_work);
/* set up custom touch data parsing method */
syna_tcm_set_reset_occurrence_callback(tcm_dev,
@@ -3128,8 +3118,6 @@ static int syna_dev_remove(struct platform_device *pdev)
}
#if defined(ENABLE_HELPER)
cancel_work_sync(&tcm->helper.work);
- flush_workqueue(tcm->helper.workqueue);
- destroy_workqueue(tcm->helper.workqueue);
#endif
cancel_work_sync(&tcm->suspend_work);