diff options
author | Lee Jones <lee.jones@linaro.org> | 2012-12-07 09:00:51 -0500 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2013-03-01 17:30:20 -0500 |
commit | fcab564e2fd3c9048e457fb699c253db9a169c67 (patch) | |
tree | f0682dfed5d1ad3640824d060f844d000d0292bf /arch/arm/mach-ux500/board-mop500-sdi.c | |
parent | cd2fa6d6035adb92b49ef04cbd1950c59f592cf6 (diff) |
ARM: ux500: Remove traces of the ios_handler from platform code
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>
Diffstat (limited to 'arch/arm/mach-ux500/board-mop500-sdi.c')
-rw-r--r-- | arch/arm/mach-ux500/board-mop500-sdi.c | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-sdi.c b/arch/arm/mach-ux500/board-mop500-sdi.c index 051b62c27102..6db0740128de 100644 --- a/arch/arm/mach-ux500/board-mop500-sdi.c +++ b/arch/arm/mach-ux500/board-mop500-sdi.c | |||
@@ -31,35 +31,6 @@ | |||
31 | * SDI 0 (MicroSD slot) | 31 | * SDI 0 (MicroSD slot) |
32 | */ | 32 | */ |
33 | 33 | ||
34 | /* GPIO pins used by the sdi0 level shifter */ | ||
35 | static int sdi0_en = -1; | ||
36 | static int sdi0_vsel = -1; | ||
37 | |||
38 | static int mop500_sdi0_ios_handler(struct device *dev, struct mmc_ios *ios) | ||
39 | { | ||
40 | switch (ios->power_mode) { | ||
41 | case MMC_POWER_UP: | ||
42 | case MMC_POWER_ON: | ||
43 | /* | ||
44 | * Level shifter voltage should depend on vdd to when deciding | ||
45 | * on either 1.8V or 2.9V. Once the decision has been made the | ||
46 | * level shifter must be disabled and re-enabled with a changed | ||
47 | * select signal in order to switch the voltage. Since there is | ||
48 | * no framework support yet for indicating 1.8V in vdd, use the | ||
49 | * default 2.9V. | ||
50 | */ | ||
51 | gpio_direction_output(sdi0_vsel, 0); | ||
52 | gpio_direction_output(sdi0_en, 1); | ||
53 | break; | ||
54 | case MMC_POWER_OFF: | ||
55 | gpio_direction_output(sdi0_vsel, 0); | ||
56 | gpio_direction_output(sdi0_en, 0); | ||
57 | break; | ||
58 | } | ||
59 | |||
60 | return 0; | ||
61 | } | ||
62 | |||
63 | #ifdef CONFIG_STE_DMA40 | 34 | #ifdef CONFIG_STE_DMA40 |
64 | struct stedma40_chan_cfg mop500_sdi0_dma_cfg_rx = { | 35 | struct stedma40_chan_cfg mop500_sdi0_dma_cfg_rx = { |
65 | .mode = STEDMA40_MODE_LOGICAL, | 36 | .mode = STEDMA40_MODE_LOGICAL, |
@@ -81,7 +52,6 @@ static struct stedma40_chan_cfg mop500_sdi0_dma_cfg_tx = { | |||
81 | #endif | 52 | #endif |
82 | 53 | ||
83 | struct mmci_platform_data mop500_sdi0_data = { | 54 | struct mmci_platform_data mop500_sdi0_data = { |
84 | .ios_handler = mop500_sdi0_ios_handler, | ||
85 | .ocr_mask = MMC_VDD_29_30, | 55 | .ocr_mask = MMC_VDD_29_30, |
86 | .f_max = 50000000, | 56 | .f_max = 50000000, |
87 | .capabilities = MMC_CAP_4_BIT_DATA | | 57 | .capabilities = MMC_CAP_4_BIT_DATA | |
@@ -101,22 +71,6 @@ struct mmci_platform_data mop500_sdi0_data = { | |||
101 | 71 | ||
102 | static void sdi0_configure(struct device *parent) | 72 | static void sdi0_configure(struct device *parent) |
103 | { | 73 | { |
104 | int ret; | ||
105 | |||
106 | ret = gpio_request(sdi0_en, "level shifter enable"); | ||
107 | if (!ret) | ||
108 | ret = gpio_request(sdi0_vsel, | ||
109 | "level shifter 1v8-3v select"); | ||
110 | |||
111 | if (ret) { | ||
112 | pr_warning("unable to config sdi0 gpios for level shifter.\n"); | ||
113 | return; | ||
114 | } | ||
115 | |||
116 | /* Select the default 2.9V and enable level shifter */ | ||
117 | gpio_direction_output(sdi0_vsel, 0); | ||
118 | gpio_direction_output(sdi0_en, 1); | ||
119 | |||
120 | /* Add the device, force v2 to subrevision 1 */ | 74 | /* Add the device, force v2 to subrevision 1 */ |
121 | db8500_add_sdi0(parent, &mop500_sdi0_data, U8500_SDI_V2_PERIPHID); | 75 | db8500_add_sdi0(parent, &mop500_sdi0_data, U8500_SDI_V2_PERIPHID); |
122 | } | 76 | } |
@@ -124,8 +78,6 @@ static void sdi0_configure(struct device *parent) | |||
124 | void mop500_sdi_tc35892_init(struct device *parent) | 78 | void mop500_sdi_tc35892_init(struct device *parent) |
125 | { | 79 | { |
126 | mop500_sdi0_data.gpio_cd = GPIO_SDMMC_CD; | 80 | mop500_sdi0_data.gpio_cd = GPIO_SDMMC_CD; |
127 | sdi0_en = GPIO_SDMMC_EN; | ||
128 | sdi0_vsel = GPIO_SDMMC_1V8_3V_SEL; | ||
129 | sdi0_configure(parent); | 81 | sdi0_configure(parent); |
130 | } | 82 | } |
131 | 83 | ||
@@ -264,8 +216,6 @@ void __init snowball_sdi_init(struct device *parent) | |||
264 | /* External Micro SD slot */ | 216 | /* External Micro SD slot */ |
265 | mop500_sdi0_data.gpio_cd = SNOWBALL_SDMMC_CD_GPIO; | 217 | mop500_sdi0_data.gpio_cd = SNOWBALL_SDMMC_CD_GPIO; |
266 | mop500_sdi0_data.cd_invert = true; | 218 | mop500_sdi0_data.cd_invert = true; |
267 | sdi0_en = SNOWBALL_SDMMC_EN_GPIO; | ||
268 | sdi0_vsel = SNOWBALL_SDMMC_1V8_3V_GPIO; | ||
269 | sdi0_configure(parent); | 219 | sdi0_configure(parent); |
270 | } | 220 | } |
271 | 221 | ||
@@ -277,8 +227,6 @@ void __init hrefv60_sdi_init(struct device *parent) | |||
277 | db8500_add_sdi4(parent, &mop500_sdi4_data, U8500_SDI_V2_PERIPHID); | 227 | db8500_add_sdi4(parent, &mop500_sdi4_data, U8500_SDI_V2_PERIPHID); |
278 | /* External Micro SD slot */ | 228 | /* External Micro SD slot */ |
279 | mop500_sdi0_data.gpio_cd = HREFV60_SDMMC_CD_GPIO; | 229 | mop500_sdi0_data.gpio_cd = HREFV60_SDMMC_CD_GPIO; |
280 | sdi0_en = HREFV60_SDMMC_EN_GPIO; | ||
281 | sdi0_vsel = HREFV60_SDMMC_1V8_3V_GPIO; | ||
282 | sdi0_configure(parent); | 230 | sdi0_configure(parent); |
283 | /* WLAN SDIO channel */ | 231 | /* WLAN SDIO channel */ |
284 | db8500_add_sdi1(parent, &mop500_sdi1_data, U8500_SDI_V2_PERIPHID); | 232 | db8500_add_sdi1(parent, &mop500_sdi1_data, U8500_SDI_V2_PERIPHID); |