[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 8 Aug 2012 08:28:35 +0000
From: Arnd Bergmann <arnd@...db.de>
To: Lee Jones <lee.jones@...aro.org>
Cc: Mark Brown <broonie@...nsource.wolfsonmicro.com>,
Dmitry Torokhov <dmitry.torokhov@...il.com>,
linus.walleij@...ricsson.com, linux-kernel@...r.kernel.org,
linux-input@...r.kernel.org, STEricsson_nomadik_linux@...t.st.com,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH 1/1] Input: ab8500-ponkey: Make the distinction between DT and non-DT boots
On Wednesday 08 August 2012, Lee Jones wrote:
> Okay, actually this isn't so easy. Currently we have:
>
> During DT boot:
> - No platform data is passed, hence no IRQ base for AB8500 is either
> - No IRQ base means we register a Linear IRQ Domain
> - MFD sees there is no base and leaves the IRQ resource as a hwirq
> - AB8500 child devices use *_get_virq() to convert the hwirq to a virq
>
> During non-DT boot:
> - Platform data is passed, which contains an IRQ base
> - If an IRQ base is requested we use it to register a Legacy IRQ Domain
> - MFD adds the IRQ base to the hwirq and registers it as a virq
> - AB8500 child devices use *_get_virq() to convert virq to virq - ERROR
>
> I guess my suggestion falls-back to placing logic in *_get_virq() to only
> call irq_create_mapping() when when !ab8500->irq_base.
In general, it seems easier to use the same domain type for both cases.
I don't think that MOP500_AB8500_VIR_GPIO_IRQ_BASE is used anywhere
else besides the .irq_base definition in board-mop500.c, so I would guess
that you can just remove that identifier and always use the linear
domain.
Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists