ARM: ux500: Remove traces of the ios_handler from platform code
authorLee Jones <lee.jones@linaro.org>
Fri, 7 Dec 2012 14:00:51 +0000 (14:00 +0000)
committerLinus Walleij <linus.walleij@linaro.org>
Fri, 1 Mar 2013 22:30:20 +0000 (23:30 +0100)
Now MMCI on/off functionality is using the regulator framework
from the MMCI driver, there is no need to keep the ios_handler
laying around, duplicating functionality. So we're removing it.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
arch/arm/mach-ux500/board-mop500-sdi.c

index 051b62c2710208537a3442a0ec03af57c11cc530..6db0740128de5912c24ebd614c18fadf35cce087 100644 (file)
  * SDI 0 (MicroSD slot)
  */
 
-/* GPIO pins used by the sdi0 level shifter */
-static int sdi0_en = -1;
-static int sdi0_vsel = -1;
-
-static int mop500_sdi0_ios_handler(struct device *dev, struct mmc_ios *ios)
-{
-       switch (ios->power_mode) {
-       case MMC_POWER_UP:
-       case MMC_POWER_ON:
-               /*
-                * Level shifter voltage should depend on vdd to when deciding
-                * on either 1.8V or 2.9V. Once the decision has been made the
-                * level shifter must be disabled and re-enabled with a changed
-                * select signal in order to switch the voltage. Since there is
-                * no framework support yet for indicating 1.8V in vdd, use the
-                * default 2.9V.
-                */
-               gpio_direction_output(sdi0_vsel, 0);
-               gpio_direction_output(sdi0_en, 1);
-               break;
-       case MMC_POWER_OFF:
-               gpio_direction_output(sdi0_vsel, 0);
-               gpio_direction_output(sdi0_en, 0);
-               break;
-       }
-
-       return 0;
-}
-
 #ifdef CONFIG_STE_DMA40
 struct stedma40_chan_cfg mop500_sdi0_dma_cfg_rx = {
        .mode = STEDMA40_MODE_LOGICAL,
@@ -81,7 +52,6 @@ static struct stedma40_chan_cfg mop500_sdi0_dma_cfg_tx = {
 #endif
 
 struct mmci_platform_data mop500_sdi0_data = {
-       .ios_handler    = mop500_sdi0_ios_handler,
        .ocr_mask       = MMC_VDD_29_30,
        .f_max          = 50000000,
        .capabilities   = MMC_CAP_4_BIT_DATA |
@@ -101,22 +71,6 @@ struct mmci_platform_data mop500_sdi0_data = {
 
 static void sdi0_configure(struct device *parent)
 {
-       int ret;
-
-       ret = gpio_request(sdi0_en, "level shifter enable");
-       if (!ret)
-               ret = gpio_request(sdi0_vsel,
-                                  "level shifter 1v8-3v select");
-
-       if (ret) {
-               pr_warning("unable to config sdi0 gpios for level shifter.\n");
-               return;
-       }
-
-       /* Select the default 2.9V and enable level shifter */
-       gpio_direction_output(sdi0_vsel, 0);
-       gpio_direction_output(sdi0_en, 1);
-
        /* Add the device, force v2 to subrevision 1 */
        db8500_add_sdi0(parent, &mop500_sdi0_data, U8500_SDI_V2_PERIPHID);
 }
@@ -124,8 +78,6 @@ static void sdi0_configure(struct device *parent)
 void mop500_sdi_tc35892_init(struct device *parent)
 {
        mop500_sdi0_data.gpio_cd = GPIO_SDMMC_CD;
-       sdi0_en = GPIO_SDMMC_EN;
-       sdi0_vsel = GPIO_SDMMC_1V8_3V_SEL;
        sdi0_configure(parent);
 }
 
@@ -264,8 +216,6 @@ void __init snowball_sdi_init(struct device *parent)
        /* External Micro SD slot */
        mop500_sdi0_data.gpio_cd = SNOWBALL_SDMMC_CD_GPIO;
        mop500_sdi0_data.cd_invert = true;
-       sdi0_en = SNOWBALL_SDMMC_EN_GPIO;
-       sdi0_vsel = SNOWBALL_SDMMC_1V8_3V_GPIO;
        sdi0_configure(parent);
 }
 
@@ -277,8 +227,6 @@ void __init hrefv60_sdi_init(struct device *parent)
        db8500_add_sdi4(parent, &mop500_sdi4_data, U8500_SDI_V2_PERIPHID);
        /* External Micro SD slot */
        mop500_sdi0_data.gpio_cd = HREFV60_SDMMC_CD_GPIO;
-       sdi0_en = HREFV60_SDMMC_EN_GPIO;
-       sdi0_vsel = HREFV60_SDMMC_1V8_3V_GPIO;
        sdi0_configure(parent);
        /* WLAN SDIO channel */
        db8500_add_sdi1(parent, &mop500_sdi1_data, U8500_SDI_V2_PERIPHID);