]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mmc: sdhci-pci: Remove dead code (cd_gpio, cd_irq et al)
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 14 Oct 2021 13:26:12 +0000 (16:26 +0300)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 19 Oct 2021 10:43:21 +0000 (12:43 +0200)
The last user of this struct gone couple of releases ago.
Remove the dead code for good and encourage people to use
MMC core functionality for that.

The removal is dependent on the previous removal of the
struct sdhci_pci_data.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/20211014132613.27861-5-andriy.shevchenko@linux.intel.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-pci-core.c
drivers/mmc/host/sdhci-pci.h

index 8938c63b1e773639db1403cbbaf0940b7c9808a2..e2b6f60e9f01b93bdff9948ec1b6462f544d2889 100644 (file)
@@ -345,73 +345,6 @@ static int pch_hc_probe_slot(struct sdhci_pci_slot *slot)
        return 0;
 }
 
-#ifdef CONFIG_PM
-
-static irqreturn_t sdhci_pci_sd_cd(int irq, void *dev_id)
-{
-       struct sdhci_pci_slot *slot = dev_id;
-       struct sdhci_host *host = slot->host;
-
-       mmc_detect_change(host->mmc, msecs_to_jiffies(200));
-       return IRQ_HANDLED;
-}
-
-static void sdhci_pci_add_own_cd(struct sdhci_pci_slot *slot)
-{
-       int err, irq, gpio = slot->cd_gpio;
-
-       slot->cd_gpio = -EINVAL;
-       slot->cd_irq = -EINVAL;
-
-       if (!gpio_is_valid(gpio))
-               return;
-
-       err = devm_gpio_request(&slot->chip->pdev->dev, gpio, "sd_cd");
-       if (err < 0)
-               goto out;
-
-       err = gpio_direction_input(gpio);
-       if (err < 0)
-               goto out_free;
-
-       irq = gpio_to_irq(gpio);
-       if (irq < 0)
-               goto out_free;
-
-       err = request_irq(irq, sdhci_pci_sd_cd, IRQF_TRIGGER_RISING |
-                         IRQF_TRIGGER_FALLING, "sd_cd", slot);
-       if (err)
-               goto out_free;
-
-       slot->cd_gpio = gpio;
-       slot->cd_irq = irq;
-
-       return;
-
-out_free:
-       devm_gpio_free(&slot->chip->pdev->dev, gpio);
-out:
-       dev_warn(&slot->chip->pdev->dev, "failed to setup card detect wake up\n");
-}
-
-static void sdhci_pci_remove_own_cd(struct sdhci_pci_slot *slot)
-{
-       if (slot->cd_irq >= 0)
-               free_irq(slot->cd_irq, slot);
-}
-
-#else
-
-static inline void sdhci_pci_add_own_cd(struct sdhci_pci_slot *slot)
-{
-}
-
-static inline void sdhci_pci_remove_own_cd(struct sdhci_pci_slot *slot)
-{
-}
-
-#endif
-
 static int mfd_emmc_probe_slot(struct sdhci_pci_slot *slot)
 {
        slot->host->mmc->caps |= MMC_CAP_8_BIT_DATA | MMC_CAP_NONREMOVABLE;
@@ -2128,7 +2061,6 @@ static struct sdhci_pci_slot *sdhci_pci_probe_slot(
        slot->chip = chip;
        slot->host = host;
        slot->rst_n_gpio = -EINVAL;
-       slot->cd_gpio = -EINVAL;
        slot->cd_idx = -1;
 
        host->hw_name = "PCI";
@@ -2199,15 +2131,11 @@ static struct sdhci_pci_slot *sdhci_pci_probe_slot(
        if (ret)
                goto remove;
 
-       sdhci_pci_add_own_cd(slot);
-
        /*
         * Check if the chip needs a separate GPIO for card detect to wake up
         * from runtime suspend.  If it is not there, don't allow runtime PM.
-        * Note sdhci_pci_add_own_cd() sets slot->cd_gpio to -EINVAL on failure.
         */
-       if (chip->fixes && chip->fixes->own_cd_for_runtime_pm &&
-           !gpio_is_valid(slot->cd_gpio) && slot->cd_idx < 0)
+       if (chip->fixes && chip->fixes->own_cd_for_runtime_pm && slot->cd_idx < 0)
                chip->allow_runtime_pm = false;
 
        return slot;
@@ -2227,8 +2155,6 @@ static void sdhci_pci_remove_slot(struct sdhci_pci_slot *slot)
        int dead;
        u32 scratch;
 
-       sdhci_pci_remove_own_cd(slot);
-
        dead = 0;
        scratch = readl(slot->host->ioaddr + SDHCI_INT_STATUS);
        if (scratch == (u32)-1)
index 15b36cd47860646caa4b85ea5652f3f6562346ef..8bb3b9c78589a8749fd0d41c25d7eb2f86446ce0 100644 (file)
@@ -158,8 +158,6 @@ struct sdhci_pci_slot {
        struct sdhci_host       *host;
 
        int                     rst_n_gpio;
-       int                     cd_gpio;
-       int                     cd_irq;
 
        int                     cd_idx;
        bool                    cd_override_level;