[PATCH 11/12] mfd: twl4030-irq: Return twl6030_mmc_card_detect IRQ for board setup
From: Cousson, Benoit <hidden>
Date: 2012-03-05 08:58:37
Also in:
linux-omap
On 3/5/2012 9:19 AM, Rajendra Nayak wrote:
On Friday 02 March 2012 11:45 PM, Felipe Balbi wrote:quoted
Hi, On Fri, Mar 02, 2012 at 05:50:23PM +0100, Benoit Cousson wrote:quoted
Card detect IRQ from the TWL6030 used to be provided to the MMC controller code using a statically allocated IRQ scheme: card_detect_irq = TWL6030_IRQ_BASE + MMCDETECT_INTR_OFFSET; This is no longer valid in a SPARSE_IRQ context since there is no more pre-defined TWL6030_IRQ_BASE. Return the proper card detect IRQ value in the twl6030_mmc_card_detect_config that will be called from the MMC controller. Signed-off-by: Benoit Cousson<redacted> Cc: Felipe Balbi<redacted> Cc: Tony Lindgren<tony@atomide.com> Cc: Rajendra Nayak<redacted>Reviewed-by: Felipe Balbi<redacted>quoted
--- drivers/mfd/twl6030-irq.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)diff --git a/drivers/mfd/twl6030-irq.c b/drivers/mfd/twl6030-irq.c index a1c7183..4a63de2 100644 --- a/drivers/mfd/twl6030-irq.c +++ b/drivers/mfd/twl6030-irq.c@@ -308,7 +308,8 @@ int twl6030_mmc_card_detect_config(void)ret); return ret; } - return 0; + + return twl6030_irq_base + MMCDETECT_INTR_OFFSET; } EXPORT_SYMBOL(twl6030_mmc_card_detect_config);At some point this twl6030_mmc_card_detect_config() needs to vanish in favor of a better mechanism. Maybe passing the GPIO number an requiring the driver to request the GPIO, set its direction and use it as IRQ line. the only problem would arise if we end up hooking the Card Detect pin to a real IRQ line, but then we can use a flag to differentiate.Shouldn't this be hidden from the driver completely if the card detect pin is a GPIO or connected to a real IRQ line? And the board/DT handle this instead of the driver knowing when to do a gpio_to_irq()?
It work fine for a pure GPIO, but in this case, this is an IRQ handled by twl6030. So I'm not sure we have any API for the non-DT case. DT will clearly help getting rid of such hacks. Regards, Benoit