mmc: meson-gx: support platform interrupt as card detect interrupt
authorHeiner Kallweit <hkallweit1@gmail.com>
Tue, 14 Feb 2023 21:44:03 +0000 (22:44 +0100)
committerUlf Hansson <ulf.hansson@linaro.org>
Wed, 15 Feb 2023 12:46:10 +0000 (13:46 +0100)
Use a new mmc core feature and support specifying the card detect
gpio interrupt in device tree.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Link: https://lore.kernel.org/r/2bb70611-5dea-1144-51bd-93c46b455392@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/meson-gx-mmc.c

index f4b5079..079c52d 100644 (file)
@@ -1166,7 +1166,7 @@ static int meson_mmc_probe(struct platform_device *pdev)
        struct resource *res;
        struct meson_host *host;
        struct mmc_host *mmc;
-       int ret;
+       int cd_irq, ret;
 
        mmc = devm_mmc_alloc_host(&pdev->dev, sizeof(struct meson_host));
        if (!mmc)
@@ -1213,6 +1213,9 @@ static int meson_mmc_probe(struct platform_device *pdev)
        if (host->irq <= 0)
                return -EINVAL;
 
+       cd_irq = platform_get_irq_optional(pdev, 1);
+       mmc_gpio_set_cd_irq(mmc, cd_irq);
+
        host->pinctrl = devm_pinctrl_get(&pdev->dev);
        if (IS_ERR(host->pinctrl))
                return PTR_ERR(host->pinctrl);