[PATCH 2/2] mmc: meson-gx: support platform interrupt as card detect interrupt

Heiner Kallweit hkallweit1 at gmail.com
Mon Jan 30 11:04:06 PST 2023


On 30.01.2023 12:06, Neil Armstrong wrote:
> On 30/01/2023 00:10, Heiner Kallweit wrote:
>> Use a new mmc core feature and support specifying the card detect
>> gpio interrupt in device tree.
>>
>> Signed-off-by: Heiner Kallweit <hkallweit1 at gmail.com>
>> ---
>>   drivers/mmc/host/meson-gx-mmc.c | 3 +++
>>   1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
>> index be1a972c2..c87bc31d0 100644
>> --- a/drivers/mmc/host/meson-gx-mmc.c
>> +++ b/drivers/mmc/host/meson-gx-mmc.c
>> @@ -1236,6 +1236,9 @@ static int meson_mmc_probe(struct platform_device *pdev)
>>           goto free_host;
>>       }
>>   +    /* gpio card detect interrupt */
>> +    mmc->cd_irq = platform_get_irq_optional(pdev, 1);
> 
> Ok it's fine but beware GXBB/GXL/AXG doesn't support Rising + Falling GPIO IRQ,
> so this should only be used on G12A/B/SM1 and later.
> 
Thanks for the hint. I'm aware of the constraint for older versions.
There the mmc core would silently fall back to polling.
At the time when the gpio irqchip code was developed Jerome and me had
intense discussions on whether there's an acceptable workaround to
support edge-both on these chip versions.

I tested on SC2, there the proposed way to support the gpio cd irq
works fine.

> Neil
> 
>> +
>>       host->pinctrl = devm_pinctrl_get(&pdev->dev);
>>       if (IS_ERR(host->pinctrl)) {
>>           ret = PTR_ERR(host->pinctrl);
> 




More information about the linux-arm-kernel mailing list