Loading sound/soc/codecs/msm8916-wcd-irq.c +4 −17 Original line number Diff line number Diff line /* Copyright (c) 2015, The Linux Foundation. All rights reserved. /* Copyright (c) 2015,2017, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -210,14 +210,9 @@ static int get_irq_bit(int linux_irq) return i; } static int get_order_irq(int i) { return order[i]; } static irqreturn_t wcd9xxx_spmi_irq_handler(int linux_irq, void *data) { int irq, i, j; int irq, i; unsigned long status[NUM_IRQ_REGS] = {0}; if (unlikely(wcd9xxx_spmi_lock_sleep() == false)) { Loading @@ -236,16 +231,8 @@ static irqreturn_t wcd9xxx_spmi_irq_handler(int linux_irq, void *data) MSM8X16_WCD_A_DIGITAL_INT_LATCHED_STS); status[i] &= ~map.mask[i]; } for (i = 0; i < MAX_NUM_IRQS; i++) { j = get_order_irq(i); if ((status[BIT_BYTE(j)] & BYTE_BIT_MASK(j)) && ((map.handled[BIT_BYTE(j)] & BYTE_BIT_MASK(j)) == 0)) { map.handler[j](irq, data); map.handled[BIT_BYTE(j)] |= BYTE_BIT_MASK(j); } } map.handler[irq](irq, data); map.handled[BIT_BYTE(irq)] &= ~BYTE_BIT_MASK(irq); wcd9xxx_spmi_unlock_sleep(); Loading Loading
sound/soc/codecs/msm8916-wcd-irq.c +4 −17 Original line number Diff line number Diff line /* Copyright (c) 2015, The Linux Foundation. All rights reserved. /* Copyright (c) 2015,2017, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -210,14 +210,9 @@ static int get_irq_bit(int linux_irq) return i; } static int get_order_irq(int i) { return order[i]; } static irqreturn_t wcd9xxx_spmi_irq_handler(int linux_irq, void *data) { int irq, i, j; int irq, i; unsigned long status[NUM_IRQ_REGS] = {0}; if (unlikely(wcd9xxx_spmi_lock_sleep() == false)) { Loading @@ -236,16 +231,8 @@ static irqreturn_t wcd9xxx_spmi_irq_handler(int linux_irq, void *data) MSM8X16_WCD_A_DIGITAL_INT_LATCHED_STS); status[i] &= ~map.mask[i]; } for (i = 0; i < MAX_NUM_IRQS; i++) { j = get_order_irq(i); if ((status[BIT_BYTE(j)] & BYTE_BIT_MASK(j)) && ((map.handled[BIT_BYTE(j)] & BYTE_BIT_MASK(j)) == 0)) { map.handler[j](irq, data); map.handled[BIT_BYTE(j)] |= BYTE_BIT_MASK(j); } } map.handler[irq](irq, data); map.handled[BIT_BYTE(irq)] &= ~BYTE_BIT_MASK(irq); wcd9xxx_spmi_unlock_sleep(); Loading