None of this code is currently used: there are no definitions of
struct sdhci_plat_data in arch/arm, neither are there any DT properties
which use card_power_gpio/power_active_high/power_always_enb.  In any
case, slot power control should be rigged up via vmmc and the regulator
subsystem in the DT case.

Signed-off-by: Russell King <rmk+ker...@arm.linux.org.uk>
---
 drivers/mmc/host/sdhci-spear.c  | 32 --------------------------------
 include/linux/mmc/sdhci-spear.h |  8 --------
 2 files changed, 40 deletions(-)

diff --git a/drivers/mmc/host/sdhci-spear.c b/drivers/mmc/host/sdhci-spear.c
index fca8ed1167cb..2a208a9b4de1 100644
--- a/drivers/mmc/host/sdhci-spear.c
+++ b/drivers/mmc/host/sdhci-spear.c
@@ -56,14 +56,6 @@ static irqreturn_t sdhci_gpio_irq(int irq, void *dev_id)
        gpio_irq_type = val ? IRQF_TRIGGER_LOW : IRQF_TRIGGER_HIGH;
        irq_set_irq_type(irq, gpio_irq_type);
 
-       if (sdhci->data->card_power_gpio >= 0) {
-               if (!sdhci->data->power_always_enb) {
-                       /* if card inserted, give power, otherwise remove it */
-                       val = sdhci->data->power_active_high ? !val : val ;
-                       gpio_set_value(sdhci->data->card_power_gpio, val);
-               }
-       }
-
        /* inform sdhci driver about card insertion/removal */
        tasklet_schedule(&host->card_tasklet);
 
@@ -181,30 +173,6 @@ static int sdhci_probe(struct platform_device *pdev)
        if (!sdhci->data)
                return 0;
 
-       if (sdhci->data->card_power_gpio >= 0) {
-               int val = 0;
-
-               ret = devm_gpio_request(&pdev->dev,
-                               sdhci->data->card_power_gpio, "sdhci");
-               if (ret < 0) {
-                       dev_dbg(&pdev->dev, "gpio request fail: %d\n",
-                                       sdhci->data->card_power_gpio);
-                       goto set_drvdata;
-               }
-
-               if (sdhci->data->power_always_enb)
-                       val = sdhci->data->power_active_high;
-               else
-                       val = !sdhci->data->power_active_high;
-
-               ret = gpio_direction_output(sdhci->data->card_power_gpio, val);
-               if (ret) {
-                       dev_dbg(&pdev->dev, "gpio set direction fail: %d\n",
-                                       sdhci->data->card_power_gpio);
-                       goto set_drvdata;
-               }
-       }
-
        if (sdhci->data->card_int_gpio >= 0) {
                ret = devm_gpio_request(&pdev->dev, sdhci->data->card_int_gpio,
                                "sdhci");
diff --git a/include/linux/mmc/sdhci-spear.h b/include/linux/mmc/sdhci-spear.h
index e78c0e236e9d..8cc095a76cf8 100644
--- a/include/linux/mmc/sdhci-spear.h
+++ b/include/linux/mmc/sdhci-spear.h
@@ -18,17 +18,9 @@
 /*
  * struct sdhci_plat_data: spear sdhci platform data structure
  *
- * @card_power_gpio: gpio pin for enabling/disabling power to sdhci socket
- * @power_active_high: if set, enable power to sdhci socket by setting
- *                     card_power_gpio
- * @power_always_enb: If set, then enable power on probe, otherwise enable only
- *                     on card insertion and disable on card removal.
  * card_int_gpio: gpio pin used for card detection
  */
 struct sdhci_plat_data {
-       int card_power_gpio;
-       int power_active_high;
-       int power_always_enb;
        int card_int_gpio;
 };
 
-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to