Re: [PATCH 2/3] MFD: twl6040: Allocate IRQ numbers dynamically

Peter Ujfalusi
2012-05-07T06:49:47Z

On 05/04/2012 03:47 PM, Mark Brown wrote:
> This doesn't really work for board files, though - you can only call
> gpio_to_irq() at runtime so if you're statically registering the devices
> on the board you'd need to make the structures non-const, manage to find
> the GPIO controller at runtime then do the lookup, update the struct and
> finally register the device.

I've seen some board files doing this already (obviously not for the
twl6040). Which is not the nicest thing...

>> If there is "irq expander" type of chip I assume it would have similar
>> way to get the IRQ number based on either GPIO number or some other
>> enumeration value.
>
> No, there's no generic interface for this.

This dynamic range allocation for IRQ, GPIO will work nicely with DT at
the end. In legacy way we will need to have workarounds. Or just forget
about booting without DT.

>> The twl6040 does not have such a feature. The interrupts are generated
>> internally and it has one IRQ line towards the host. We have nested
>> interrupts for the childs (plug detect is handled by ASoC codec, Vibra
>> overcurrent is handled by the vibra driver, etc).
>
> OK, that's fine then - you should put this in the changelog to make it
> clear that there are no external users who could be affected.

I'll do that.

Thank you,
Péter