[PATCH 08/14] mfd: Add IRQ domain support for the AB8500

Mark Brown broonie at opensource.wolfsonmicro.com
Thu Jun 14 14:32:32 EDT 2012


On Mon, Jun 11, 2012 at 04:25:01PM +0100, Lee Jones wrote:

> +	if (np) {
> +		ab8500->domain = irq_domain_add_linear(
> +			np, num_irqs, &ab8500_irq_ops, ab8500);
> +	}
> +	else {
> +		ab8500->domain = irq_domain_add_legacy(
> +			NULL, num_irqs, ab8500->irq_base,
> +			0, &ab8500_irq_ops, ab8500);
> +	}

This is odd, why are you forcing non-DT systems to use a legacy mapping?
The more usual approach is to use a legacy mapping if and only if a base
for the legacy range has been provided, otherwise the system will
needlessly fail to initialise the device...

> +	if (!(ab8500->irq_base || np)) {
> +		dev_info(&pdev->dev, "couldn't find irq-base and not doing DT boot\n");

...like this.  See regmap_irq for an example.



More information about the linux-arm-kernel mailing list