irqchip: crossbar: Change allocation logic by reversing search for free irqs
authorNishanth Menon <nm@ti.com>
Thu, 26 Jun 2014 07:10:23 +0000 (12:40 +0530)
committerJason Cooper <jason@lakedaemon.net>
Mon, 30 Jun 2014 19:11:21 +0000 (19:11 +0000)
commitddee0fb46d26174e71ee1df225b9f9feaff05e10
tree3b0813201fa35005125d22ce0f381055c97bbaf0
parenta35057d1dcb11ae67c9347ef7987cf65ac743c36
irqchip: crossbar: Change allocation logic by reversing search for free irqs

Reverse the search algorithm to ensure that address mapping and IRQ
allocation logics are proper. This makes the below bugs visible sooner.

class 1. address space errors -> example:
reg = <a size_b>
ti,max-irqs =  is a wrong parameter

class 2: irq-reserved list - which decides which entries in the
address space is not actually wired in

class 3: wrong list of routable-irqs.

In general allocating from max to min tends to have benefits in
ensuring the different issues that may be present in dts is easily
caught at definition time, rather than at a later point in time.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Sricharan R <r.sricharan@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Link: https://lkml.kernel.org/r/1403766634-18543-6-git-send-email-r.sricharan@ti.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
drivers/irqchip/irq-crossbar.c