mmc: sdhci-spear: remove support for power gpio
authorRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 28 Feb 2014 21:32:44 +0000 (21:32 +0000)
committerChris Ball <chris@printf.net>
Tue, 4 Mar 2014 21:28:44 +0000 (16:28 -0500)
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+kernel@arm.linux.org.uk>
Signed-off-by: Chris Ball <chris@printf.net>
drivers/mmc/host/sdhci-spear.c
include/linux/mmc/sdhci-spear.h

index fc6eac5b106462d73668d50e0f064b260cd80daa..676df4623057ab4e794a3115d7415f9dde98c0bd 100644 (file)
@@ -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);
 
@@ -179,30 +171,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");
index e78c0e236e9dce163fc8df904698f43c455fcf85..8cc095a76cf8e8d7e5ddb75dc5d08f12c5159583 100644 (file)
 /*
  * 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;
 };