Subject: [PATCH 11/12] mfd: twl4030-irq: Return twl6030_mmc_card_detect IRQ for board setup

From: [email-masked] (Cousson, Benoit)
Date: Fri, 2 Mar 2012 21:28:34 +0100

Hi Tony,

On 3/2/2012 8:20 PM, Tony Lindgren wrote:
> * Felipe Balbi<[email-masked]>  [120302 09:43]:
>> Hi,
>>
>> On Fri, Mar 02, 2012 at 05:50:23PM +0100, Benoit Cousson wrote:
>>> 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<[email-masked]>
>>> Cc: Felipe Balbi<[email-masked]>
>>> Cc: Tony Lindgren<[email-masked]>
>>> Cc: Rajendra Nayak<[email-masked]>
>>
>> Reviewed-by: Felipe Balbi<[email-masked]>
>>
>>> ---
>>>   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.
>
> I'm trying to leave out the need for this callback to pdata..
> See mmc: omap_hsmmc: Simplify init for twl6030 MMC card detect
> that does pretty much the same as Benoit's patch plus removes
> the need for the callback.

That's cool. I did that patch to still have a working MMC after my TWL 
series, and I missed your MMC series.

The patch #4 "mmc: omap_hsmmc: Simplify init for twl6030 MMC card 
detect" is indeed simplifying a lot that IRQ mess.

I will check with that TWL series, but since you are already using the 
twl6030_irq_base it should work without any trouble.

Thanks,
Benoit