Re: [PATCH] mfd: arizona: convert to regmap_add_irq_chips

From: Mark Brown
Date: Sun Jul 29 2012 - 16:38:51 EST


On Fri, Jul 27, 2012 at 01:02:56PM -0600, Stephen Warren wrote:
> From: Stephen Warren <swarren@xxxxxxxxxx>
>
> The Arizona chip contains a single interrupt that represents the unified
> output of multiple internal interrupt controllers. This pattern has been
> factored out into regmap-irq, so convert the Arizona driver to use the
> new regmap-irq code.

So, I didn't like the patch this depends on but anyway..

> 1) regmap_add_irq_chips() calls regmap_add_irq_chip() with irq==0 rather
> than -1, so in turn irq_domain_add_linear() is called rather than
> irq_domain_add_legacy(). This change could be avoided by providing an
> irq_bases array to regmap_add_irq_chips().

This is a problem.

> 2) regmap_add_irq_chips() requests the top-level interrupt itself, so this
> happens before the Arizona driver hooks the child BOOT_DONE and
> CTRLIF_ERR interrupts. In the original, all the IRQ chips were created
> first, and then the top-level IRQ was requested. This may cause a
> functional difference if those interrupts are pending at probe() time.

Boot done is very likely to be asserted.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/