Re: [PATCH 1/5] MFD: twl6040: Add irq variable for slave devices

From: Felipe Balbi
Date: Tue Jul 05 2011 - 07:22:56 EST


Hi,

On Tue, Jul 05, 2011 at 12:14:22PM +0300, Peter Ujfalusi wrote:
> Add new variable to pass the irq number for the slaves
> devices of twl6040.
> The irq number configuration is done in the twl6040-core
> at probe time, so machine drivers do not need to be
> modified.
>
> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx>
> ---
> drivers/mfd/twl6040-core.c | 2 ++
> include/linux/i2c/twl.h | 2 ++
> 2 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/mfd/twl6040-core.c b/drivers/mfd/twl6040-core.c
> index cfaedb5..8607793 100644
> --- a/drivers/mfd/twl6040-core.c
> +++ b/drivers/mfd/twl6040-core.c
> @@ -501,6 +501,7 @@ static int __devinit twl6040_probe(struct platform_device *pdev)
> if (pdata->codec) {
> cell = &twl6040->cells[children];
> cell->name = "twl6040-codec";
> + pdata->codec->plug_irq = twl6040->irq_base + TWL6040_IRQ_PLUG;

are the slave devices platform_devices ?? If so, you could use struct
resource to pass IRQs as that's the "approved" way to do so. Then, on
child driver, you could either rely on a particular order of the
resources or assign them names and use platform_get_irq_byname() to
fetch the correct one (if you have more than one, that is).

--
balbi

Attachment: signature.asc
Description: Digital signature