From: John Crispin Date: Thu, 9 Jun 2016 15:09:52 +0000 (+0200) Subject: MIPS: Lantiq: Use the real EXIN count X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=f97e5e8ef8e18b7a2799068880cc3e5b10ac4efc;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git MIPS: Lantiq: Use the real EXIN count We runtime load the available external interrupts into an array and store the number inside exin_avail. Some of the code however uses MAX_EIU for looping over the array which may partially be 0. This is a cosmetic fix as the existing code works as is. It is just nicer to only loop over the array elements that were actually populated during probe. Signed-off-by: John Crispin Cc: Linux-MIPS Patchwork: https://patchwork.linux-mips.org/patch/13602/ Signed-off-by: Ralf Baechle --- diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c index bb1c39e0ce4d..67495beaf8eb 100644 --- a/arch/mips/lantiq/irq.c +++ b/arch/mips/lantiq/irq.c @@ -125,7 +125,7 @@ static int ltq_eiu_settype(struct irq_data *d, unsigned int type) { int i; - for (i = 0; i < MAX_EIU; i++) { + for (i = 0; i < exin_avail; i++) { if (d->hwirq == ltq_eiu_irq[i]) { int val = 0; int edge = 0; @@ -173,7 +173,7 @@ static unsigned int ltq_startup_eiu_irq(struct irq_data *d) int i; ltq_enable_irq(d); - for (i = 0; i < MAX_EIU; i++) { + for (i = 0; i < exin_avail; i++) { if (d->hwirq == ltq_eiu_irq[i]) { /* by default we are low level triggered */ ltq_eiu_settype(d, IRQF_TRIGGER_LOW); @@ -195,7 +195,7 @@ static void ltq_shutdown_eiu_irq(struct irq_data *d) int i; ltq_disable_irq(d); - for (i = 0; i < MAX_EIU; i++) { + for (i = 0; i < exin_avail; i++) { if (d->hwirq == ltq_eiu_irq[i]) { /* disable */ ltq_eiu_w32(ltq_eiu_r32(LTQ_EIU_EXIN_INEN) & ~BIT(i),