summaryrefslogtreecommitdiff
path: root/drivers/thermal/lmh_lite.c
diff options
context:
space:
mode:
authorRam Chandrasekar <rkumbako@codeaurora.org>2015-09-29 12:19:01 -0600
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 21:15:27 -0700
commitff6a8d71234c32d4824c9fa74c14b0bbe7f02425 (patch)
tree47a738d480257bda12185d567dde74a6da238c0b /drivers/thermal/lmh_lite.c
parent1271a44387218fb9d625820bf3cc0db890b54143 (diff)
msm: lmh_lite: Remove primary interrupt handler
The primary interrupt handler disables the lmh interrupt. But this is already taken care by IRQF_ONESHOT flag. Remove the primary interrupt handler and disable the interrupt in the interrupt thread function. Change-Id: I6c607e0cdef09ffe4f758f9498ee6241d099ee26 Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
Diffstat (limited to 'drivers/thermal/lmh_lite.c')
-rw-r--r--drivers/thermal/lmh_lite.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/thermal/lmh_lite.c b/drivers/thermal/lmh_lite.c
index e15c7b2f2b77..7b6aa107231d 100644
--- a/drivers/thermal/lmh_lite.c
+++ b/drivers/thermal/lmh_lite.c
@@ -413,12 +413,6 @@ static void lmh_trim_error(void)
return;
}
-static irqreturn_t lmh_handle_isr(int irq, void *dev_id)
-{
- disable_irq_nosync(irq);
- return IRQ_WAKE_THREAD;
-}
-
static irqreturn_t lmh_isr_thread(int irq, void *data)
{
struct lmh_driver_data *lmh_dat = data;
@@ -426,6 +420,7 @@ static irqreturn_t lmh_isr_thread(int irq, void *data)
pr_debug("LMH Interrupt triggered\n");
trace_lmh_event_call("Lmh Interrupt");
+ disable_irq_nosync(irq);
down_write(&lmh_sensor_access);
if (lmh_dat->intr_state != LMH_ISR_MONITOR) {
pr_err("Invalid software state\n");
@@ -521,7 +516,7 @@ static int lmh_get_sensor_devicetree(struct platform_device *pdev)
goto dev_exit;
}
- ret = request_threaded_irq(lmh_data->irq_num, lmh_handle_isr,
+ ret = request_threaded_irq(lmh_data->irq_num, NULL,
lmh_isr_thread, IRQF_TRIGGER_HIGH | IRQF_ONESHOT,
LMH_INTERRUPT, lmh_data);
if (ret) {