diff options
author | Ram Chandrasekar <rkumbako@codeaurora.org> | 2015-09-29 12:19:01 -0600 |
---|---|---|
committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 21:15:27 -0700 |
commit | ff6a8d71234c32d4824c9fa74c14b0bbe7f02425 (patch) | |
tree | 47a738d480257bda12185d567dde74a6da238c0b /drivers/thermal/lmh_lite.c | |
parent | 1271a44387218fb9d625820bf3cc0db890b54143 (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.c | 9 |
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) { |