On Thu, Aug 9, 2012 at 5:53 PM, Lee Jones <[email protected]> wrote:
> Before the AB8500 had its own IRQ domain, the IRQ handler would take > the fired local IRQ (hwirq) and add it to the irq_base to convert it > to an IRQ number which Linux would understand (virq). However, the > IRQ base is not always used anymore since we can make use of Linear > domains. It's better to use the AB8500 hwirq -> virq mapping helper > function to convert them instead. That's what we do here. > > CC: Samuel Ortiz <[email protected]> > Signed-off-by: Lee Jones <[email protected]> This looks better that what was in there before so Acked-by: Linus Walleij <[email protected]> However: > @@ -501,8 +501,9 @@ static irqreturn_t ab8500_irq(int irq, void *dev) > do { > int bit = __ffs(value); > int line = i * 8 + bit; > + int virq = ab8500_irq_get_virq(ab8500, line); > > - handle_nested_irq(ab8500->irq_base + line); > + handle_nested_irq(virq); > value &= ~(1 << bit); Still this ab8500_irq_get_virq() business. But is this a static local function in the ab8500-core.c now? Then it's fine, it's the kernel-wide interface that is the problem. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

