Commit 42c1add9 authored by Russell King's avatar Russell King Committed by Chris Ball

mmc: sdhci-spear: remove support for power gpio

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: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: default avatarChris Ball <chris@printf.net>
parent 475d9e3e
...@@ -56,14 +56,6 @@ static irqreturn_t sdhci_gpio_irq(int irq, void *dev_id) ...@@ -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; gpio_irq_type = val ? IRQF_TRIGGER_LOW : IRQF_TRIGGER_HIGH;
irq_set_irq_type(irq, gpio_irq_type); 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 */ /* inform sdhci driver about card insertion/removal */
tasklet_schedule(&host->card_tasklet); tasklet_schedule(&host->card_tasklet);
...@@ -179,30 +171,6 @@ static int sdhci_probe(struct platform_device *pdev) ...@@ -179,30 +171,6 @@ static int sdhci_probe(struct platform_device *pdev)
if (!sdhci->data) if (!sdhci->data)
return 0; 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) { if (sdhci->data->card_int_gpio >= 0) {
ret = devm_gpio_request(&pdev->dev, sdhci->data->card_int_gpio, ret = devm_gpio_request(&pdev->dev, sdhci->data->card_int_gpio,
"sdhci"); "sdhci");
......
...@@ -18,17 +18,9 @@ ...@@ -18,17 +18,9 @@
/* /*
* struct sdhci_plat_data: spear sdhci platform data structure * 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 * card_int_gpio: gpio pin used for card detection
*/ */
struct sdhci_plat_data { struct sdhci_plat_data {
int card_power_gpio;
int power_active_high;
int power_always_enb;
int card_int_gpio; int card_int_gpio;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment