diff options
author | Manjunathappa, Prakash <prakash.pm@ti.com> | 2013-03-28 09:11:59 -0400 |
---|---|---|
committer | Sekhar Nori <nsekhar@ti.com> | 2013-04-03 00:12:16 -0400 |
commit | d7ca4c755a82eda8f0fc4f72c52130056b28c7d2 (patch) | |
tree | a7ed22e94854f51fa43483c4cb4fecc8460bf0ad | |
parent | bb170e6118e76903bf03fc14ab60a34c26aac747 (diff) |
ARM: davinci: mmc: derive version information from device name
Remove specifying mmc controller IP version information via platform
data, instead specify device name so that driver derives it from
platform_device_id table. Also change the clock node name to match
the changed dev_id.
Tested on da850-evm to make sure driver loads without clk_get failures.
Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Reviewed-by: Sekhar Nori <nsekhar@ti.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
-rw-r--r-- | arch/arm/mach-davinci/board-da830-evm.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-davinci/board-da850-evm.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-davinci/board-dm355-evm.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-davinci/board-dm365-evm.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-davinci/board-dm644x-evm.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-davinci/board-neuros-osd2.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-davinci/board-omapl138-hawk.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-davinci/board-tnetv107x-evm.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-davinci/da830.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-davinci/da850.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-davinci/devices-da8xx.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-davinci/devices-tnetv107x.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-davinci/devices.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-davinci/dm355.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-davinci/dm365.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-davinci/dm644x.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-davinci/tnetv107x.c | 4 | ||||
-rw-r--r-- | drivers/mmc/host/davinci_mmc.c | 18 | ||||
-rw-r--r-- | include/linux/platform_data/mmc-davinci.h | 3 |
19 files changed, 35 insertions, 29 deletions
diff --git a/arch/arm/mach-davinci/board-da830-evm.c b/arch/arm/mach-davinci/board-da830-evm.c index 6da25eebf911..12e6f756361d 100644 --- a/arch/arm/mach-davinci/board-da830-evm.c +++ b/arch/arm/mach-davinci/board-da830-evm.c | |||
@@ -246,7 +246,6 @@ static struct davinci_mmc_config da830_evm_mmc_config = { | |||
246 | .wires = 8, | 246 | .wires = 8, |
247 | .max_freq = 50000000, | 247 | .max_freq = 50000000, |
248 | .caps = MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED, | 248 | .caps = MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED, |
249 | .version = MMC_CTLR_VERSION_2, | ||
250 | }; | 249 | }; |
251 | 250 | ||
252 | static inline void da830_evm_init_mmc(void) | 251 | static inline void da830_evm_init_mmc(void) |
diff --git a/arch/arm/mach-davinci/board-da850-evm.c b/arch/arm/mach-davinci/board-da850-evm.c index c2dfe06563df..dcc8710936a5 100644 --- a/arch/arm/mach-davinci/board-da850-evm.c +++ b/arch/arm/mach-davinci/board-da850-evm.c | |||
@@ -802,7 +802,6 @@ static struct davinci_mmc_config da850_mmc_config = { | |||
802 | .wires = 4, | 802 | .wires = 4, |
803 | .max_freq = 50000000, | 803 | .max_freq = 50000000, |
804 | .caps = MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED, | 804 | .caps = MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED, |
805 | .version = MMC_CTLR_VERSION_2, | ||
806 | }; | 805 | }; |
807 | 806 | ||
808 | static const short da850_evm_mmcsd0_pins[] __initconst = { | 807 | static const short da850_evm_mmcsd0_pins[] __initconst = { |
@@ -1372,7 +1371,6 @@ static struct davinci_mmc_config da850_wl12xx_mmc_config = { | |||
1372 | .max_freq = 25000000, | 1371 | .max_freq = 25000000, |
1373 | .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_NONREMOVABLE | | 1372 | .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_NONREMOVABLE | |
1374 | MMC_CAP_POWER_OFF_CARD, | 1373 | MMC_CAP_POWER_OFF_CARD, |
1375 | .version = MMC_CTLR_VERSION_2, | ||
1376 | }; | 1374 | }; |
1377 | 1375 | ||
1378 | static const short da850_wl12xx_pins[] __initconst = { | 1376 | static const short da850_wl12xx_pins[] __initconst = { |
diff --git a/arch/arm/mach-davinci/board-dm355-evm.c b/arch/arm/mach-davinci/board-dm355-evm.c index 147b8e1a4407..bfdf8b979a64 100644 --- a/arch/arm/mach-davinci/board-dm355-evm.c +++ b/arch/arm/mach-davinci/board-dm355-evm.c | |||
@@ -280,7 +280,6 @@ static struct davinci_mmc_config dm355evm_mmc_config = { | |||
280 | .wires = 4, | 280 | .wires = 4, |
281 | .max_freq = 50000000, | 281 | .max_freq = 50000000, |
282 | .caps = MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED, | 282 | .caps = MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED, |
283 | .version = MMC_CTLR_VERSION_1, | ||
284 | }; | 283 | }; |
285 | 284 | ||
286 | /* Don't connect anything to J10 unless you're only using USB host | 285 | /* Don't connect anything to J10 unless you're only using USB host |
diff --git a/arch/arm/mach-davinci/board-dm365-evm.c b/arch/arm/mach-davinci/board-dm365-evm.c index c2d4958a0cb6..4cfdd9109e19 100644 --- a/arch/arm/mach-davinci/board-dm365-evm.c +++ b/arch/arm/mach-davinci/board-dm365-evm.c | |||
@@ -253,7 +253,6 @@ static struct davinci_mmc_config dm365evm_mmc_config = { | |||
253 | .wires = 4, | 253 | .wires = 4, |
254 | .max_freq = 50000000, | 254 | .max_freq = 50000000, |
255 | .caps = MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED, | 255 | .caps = MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED, |
256 | .version = MMC_CTLR_VERSION_2, | ||
257 | }; | 256 | }; |
258 | 257 | ||
259 | static void dm365evm_emac_configure(void) | 258 | static void dm365evm_emac_configure(void) |
diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c index 71735e7797cc..c0206d5f2bf6 100644 --- a/arch/arm/mach-davinci/board-dm644x-evm.c +++ b/arch/arm/mach-davinci/board-dm644x-evm.c | |||
@@ -570,7 +570,6 @@ static struct davinci_mmc_config dm6446evm_mmc_config = { | |||
570 | .get_cd = dm6444evm_mmc_get_cd, | 570 | .get_cd = dm6444evm_mmc_get_cd, |
571 | .get_ro = dm6444evm_mmc_get_ro, | 571 | .get_ro = dm6444evm_mmc_get_ro, |
572 | .wires = 4, | 572 | .wires = 4, |
573 | .version = MMC_CTLR_VERSION_1 | ||
574 | }; | 573 | }; |
575 | 574 | ||
576 | static struct i2c_board_info __initdata i2c_info[] = { | 575 | static struct i2c_board_info __initdata i2c_info[] = { |
diff --git a/arch/arm/mach-davinci/board-neuros-osd2.c b/arch/arm/mach-davinci/board-neuros-osd2.c index 1c98107527fa..b70e83c03bed 100644 --- a/arch/arm/mach-davinci/board-neuros-osd2.c +++ b/arch/arm/mach-davinci/board-neuros-osd2.c | |||
@@ -164,7 +164,6 @@ static void __init davinci_ntosd2_map_io(void) | |||
164 | 164 | ||
165 | static struct davinci_mmc_config davinci_ntosd2_mmc_config = { | 165 | static struct davinci_mmc_config davinci_ntosd2_mmc_config = { |
166 | .wires = 4, | 166 | .wires = 4, |
167 | .version = MMC_CTLR_VERSION_1 | ||
168 | }; | 167 | }; |
169 | 168 | ||
170 | 169 | ||
diff --git a/arch/arm/mach-davinci/board-omapl138-hawk.c b/arch/arm/mach-davinci/board-omapl138-hawk.c index 5a2bd44da54d..328dbd8a37f5 100644 --- a/arch/arm/mach-davinci/board-omapl138-hawk.c +++ b/arch/arm/mach-davinci/board-omapl138-hawk.c | |||
@@ -136,7 +136,6 @@ static struct davinci_mmc_config da850_mmc_config = { | |||
136 | .wires = 4, | 136 | .wires = 4, |
137 | .max_freq = 50000000, | 137 | .max_freq = 50000000, |
138 | .caps = MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED, | 138 | .caps = MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED, |
139 | .version = MMC_CTLR_VERSION_2, | ||
140 | }; | 139 | }; |
141 | 140 | ||
142 | static __init void omapl138_hawk_mmc_init(void) | 141 | static __init void omapl138_hawk_mmc_init(void) |
diff --git a/arch/arm/mach-davinci/board-tnetv107x-evm.c b/arch/arm/mach-davinci/board-tnetv107x-evm.c index 4f416023d4e2..ba798370fc96 100644 --- a/arch/arm/mach-davinci/board-tnetv107x-evm.c +++ b/arch/arm/mach-davinci/board-tnetv107x-evm.c | |||
@@ -85,7 +85,6 @@ static struct davinci_mmc_config mmc_config = { | |||
85 | .wires = 4, | 85 | .wires = 4, |
86 | .max_freq = 50000000, | 86 | .max_freq = 50000000, |
87 | .caps = MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED, | 87 | .caps = MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED, |
88 | .version = MMC_CTLR_VERSION_1, | ||
89 | }; | 88 | }; |
90 | 89 | ||
91 | static const short sdio1_pins[] __initconst = { | 90 | static const short sdio1_pins[] __initconst = { |
diff --git a/arch/arm/mach-davinci/da830.c b/arch/arm/mach-davinci/da830.c index 678a54a64dae..abbaf0270be6 100644 --- a/arch/arm/mach-davinci/da830.c +++ b/arch/arm/mach-davinci/da830.c | |||
@@ -394,7 +394,7 @@ static struct clk_lookup da830_clks[] = { | |||
394 | CLK(NULL, "tpcc", &tpcc_clk), | 394 | CLK(NULL, "tpcc", &tpcc_clk), |
395 | CLK(NULL, "tptc0", &tptc0_clk), | 395 | CLK(NULL, "tptc0", &tptc0_clk), |
396 | CLK(NULL, "tptc1", &tptc1_clk), | 396 | CLK(NULL, "tptc1", &tptc1_clk), |
397 | CLK("davinci_mmc.0", NULL, &mmcsd_clk), | 397 | CLK("da830-mmc.0", NULL, &mmcsd_clk), |
398 | CLK(NULL, "uart0", &uart0_clk), | 398 | CLK(NULL, "uart0", &uart0_clk), |
399 | CLK(NULL, "uart1", &uart1_clk), | 399 | CLK(NULL, "uart1", &uart1_clk), |
400 | CLK(NULL, "uart2", &uart2_clk), | 400 | CLK(NULL, "uart2", &uart2_clk), |
diff --git a/arch/arm/mach-davinci/da850.c b/arch/arm/mach-davinci/da850.c index 2a2f60c54ec6..4d6933848abf 100644 --- a/arch/arm/mach-davinci/da850.c +++ b/arch/arm/mach-davinci/da850.c | |||
@@ -463,8 +463,8 @@ static struct clk_lookup da850_clks[] = { | |||
463 | CLK("davinci_emac.1", NULL, &emac_clk), | 463 | CLK("davinci_emac.1", NULL, &emac_clk), |
464 | CLK("davinci-mcasp.0", NULL, &mcasp_clk), | 464 | CLK("davinci-mcasp.0", NULL, &mcasp_clk), |
465 | CLK("da8xx_lcdc.0", "fck", &lcdc_clk), | 465 | CLK("da8xx_lcdc.0", "fck", &lcdc_clk), |
466 | CLK("davinci_mmc.0", NULL, &mmcsd0_clk), | 466 | CLK("da830-mmc.0", NULL, &mmcsd0_clk), |
467 | CLK("davinci_mmc.1", NULL, &mmcsd1_clk), | 467 | CLK("da830-mmc.1", NULL, &mmcsd1_clk), |
468 | CLK(NULL, "aemif", &aemif_clk), | 468 | CLK(NULL, "aemif", &aemif_clk), |
469 | CLK(NULL, "usb11", &usb11_clk), | 469 | CLK(NULL, "usb11", &usb11_clk), |
470 | CLK(NULL, "usb20", &usb20_clk), | 470 | CLK(NULL, "usb20", &usb20_clk), |
diff --git a/arch/arm/mach-davinci/devices-da8xx.c b/arch/arm/mach-davinci/devices-da8xx.c index fc50243b1481..cb97e07db284 100644 --- a/arch/arm/mach-davinci/devices-da8xx.c +++ b/arch/arm/mach-davinci/devices-da8xx.c | |||
@@ -664,7 +664,7 @@ static struct resource da8xx_mmcsd0_resources[] = { | |||
664 | }; | 664 | }; |
665 | 665 | ||
666 | static struct platform_device da8xx_mmcsd0_device = { | 666 | static struct platform_device da8xx_mmcsd0_device = { |
667 | .name = "davinci_mmc", | 667 | .name = "da830-mmc", |
668 | .id = 0, | 668 | .id = 0, |
669 | .num_resources = ARRAY_SIZE(da8xx_mmcsd0_resources), | 669 | .num_resources = ARRAY_SIZE(da8xx_mmcsd0_resources), |
670 | .resource = da8xx_mmcsd0_resources, | 670 | .resource = da8xx_mmcsd0_resources, |
@@ -701,7 +701,7 @@ static struct resource da850_mmcsd1_resources[] = { | |||
701 | }; | 701 | }; |
702 | 702 | ||
703 | static struct platform_device da850_mmcsd1_device = { | 703 | static struct platform_device da850_mmcsd1_device = { |
704 | .name = "davinci_mmc", | 704 | .name = "da830-mmc", |
705 | .id = 1, | 705 | .id = 1, |
706 | .num_resources = ARRAY_SIZE(da850_mmcsd1_resources), | 706 | .num_resources = ARRAY_SIZE(da850_mmcsd1_resources), |
707 | .resource = da850_mmcsd1_resources, | 707 | .resource = da850_mmcsd1_resources, |
diff --git a/arch/arm/mach-davinci/devices-tnetv107x.c b/arch/arm/mach-davinci/devices-tnetv107x.c index 773ab07a71a0..cfb194df18ed 100644 --- a/arch/arm/mach-davinci/devices-tnetv107x.c +++ b/arch/arm/mach-davinci/devices-tnetv107x.c | |||
@@ -218,7 +218,7 @@ static u64 mmc1_dma_mask = DMA_BIT_MASK(32); | |||
218 | 218 | ||
219 | static struct platform_device mmc_devices[2] = { | 219 | static struct platform_device mmc_devices[2] = { |
220 | { | 220 | { |
221 | .name = "davinci_mmc", | 221 | .name = "dm6441-mmc", |
222 | .id = 0, | 222 | .id = 0, |
223 | .dev = { | 223 | .dev = { |
224 | .dma_mask = &mmc0_dma_mask, | 224 | .dma_mask = &mmc0_dma_mask, |
@@ -228,7 +228,7 @@ static struct platform_device mmc_devices[2] = { | |||
228 | .resource = mmc0_resources | 228 | .resource = mmc0_resources |
229 | }, | 229 | }, |
230 | { | 230 | { |
231 | .name = "davinci_mmc", | 231 | .name = "dm6441-mmc", |
232 | .id = 1, | 232 | .id = 1, |
233 | .dev = { | 233 | .dev = { |
234 | .dma_mask = &mmc1_dma_mask, | 234 | .dma_mask = &mmc1_dma_mask, |
diff --git a/arch/arm/mach-davinci/devices.c b/arch/arm/mach-davinci/devices.c index 4c48a36ee567..f6927df2dda8 100644 --- a/arch/arm/mach-davinci/devices.c +++ b/arch/arm/mach-davinci/devices.c | |||
@@ -150,7 +150,7 @@ static struct resource mmcsd0_resources[] = { | |||
150 | }; | 150 | }; |
151 | 151 | ||
152 | static struct platform_device davinci_mmcsd0_device = { | 152 | static struct platform_device davinci_mmcsd0_device = { |
153 | .name = "davinci_mmc", | 153 | .name = "dm6441-mmc", |
154 | .id = 0, | 154 | .id = 0, |
155 | .dev = { | 155 | .dev = { |
156 | .dma_mask = &mmcsd0_dma_mask, | 156 | .dma_mask = &mmcsd0_dma_mask, |
@@ -187,7 +187,7 @@ static struct resource mmcsd1_resources[] = { | |||
187 | }; | 187 | }; |
188 | 188 | ||
189 | static struct platform_device davinci_mmcsd1_device = { | 189 | static struct platform_device davinci_mmcsd1_device = { |
190 | .name = "davinci_mmc", | 190 | .name = "dm6441-mmc", |
191 | .id = 1, | 191 | .id = 1, |
192 | .dev = { | 192 | .dev = { |
193 | .dma_mask = &mmcsd1_dma_mask, | 193 | .dma_mask = &mmcsd1_dma_mask, |
@@ -235,6 +235,7 @@ void __init davinci_setup_mmc(int module, struct davinci_mmc_config *config) | |||
235 | mmcsd1_resources[0].end = DM365_MMCSD1_BASE + | 235 | mmcsd1_resources[0].end = DM365_MMCSD1_BASE + |
236 | SZ_4K - 1; | 236 | SZ_4K - 1; |
237 | mmcsd1_resources[2].start = IRQ_DM365_SDIOINT1; | 237 | mmcsd1_resources[2].start = IRQ_DM365_SDIOINT1; |
238 | davinci_mmcsd1_device.name = "da830-mmc"; | ||
238 | } else | 239 | } else |
239 | break; | 240 | break; |
240 | 241 | ||
@@ -256,6 +257,7 @@ void __init davinci_setup_mmc(int module, struct davinci_mmc_config *config) | |||
256 | mmcsd0_resources[0].end = DM365_MMCSD0_BASE + | 257 | mmcsd0_resources[0].end = DM365_MMCSD0_BASE + |
257 | SZ_4K - 1; | 258 | SZ_4K - 1; |
258 | mmcsd0_resources[2].start = IRQ_DM365_SDIOINT0; | 259 | mmcsd0_resources[2].start = IRQ_DM365_SDIOINT0; |
260 | davinci_mmcsd0_device.name = "da830-mmc"; | ||
259 | } else if (cpu_is_davinci_dm644x()) { | 261 | } else if (cpu_is_davinci_dm644x()) { |
260 | /* REVISIT: should this be in board-init code? */ | 262 | /* REVISIT: should this be in board-init code? */ |
261 | /* Power-on 3.3V IO cells */ | 263 | /* Power-on 3.3V IO cells */ |
diff --git a/arch/arm/mach-davinci/dm355.c b/arch/arm/mach-davinci/dm355.c index b49c3b77d55e..87e6104f45e6 100644 --- a/arch/arm/mach-davinci/dm355.c +++ b/arch/arm/mach-davinci/dm355.c | |||
@@ -361,8 +361,8 @@ static struct clk_lookup dm355_clks[] = { | |||
361 | CLK("i2c_davinci.1", NULL, &i2c_clk), | 361 | CLK("i2c_davinci.1", NULL, &i2c_clk), |
362 | CLK("davinci-mcbsp.0", NULL, &asp0_clk), | 362 | CLK("davinci-mcbsp.0", NULL, &asp0_clk), |
363 | CLK("davinci-mcbsp.1", NULL, &asp1_clk), | 363 | CLK("davinci-mcbsp.1", NULL, &asp1_clk), |
364 | CLK("davinci_mmc.0", NULL, &mmcsd0_clk), | 364 | CLK("dm6441-mmc.0", NULL, &mmcsd0_clk), |
365 | CLK("davinci_mmc.1", NULL, &mmcsd1_clk), | 365 | CLK("dm6441-mmc.1", NULL, &mmcsd1_clk), |
366 | CLK("spi_davinci.0", NULL, &spi0_clk), | 366 | CLK("spi_davinci.0", NULL, &spi0_clk), |
367 | CLK("spi_davinci.1", NULL, &spi1_clk), | 367 | CLK("spi_davinci.1", NULL, &spi1_clk), |
368 | CLK("spi_davinci.2", NULL, &spi2_clk), | 368 | CLK("spi_davinci.2", NULL, &spi2_clk), |
diff --git a/arch/arm/mach-davinci/dm365.c b/arch/arm/mach-davinci/dm365.c index 6c3980540be0..2791df9187b3 100644 --- a/arch/arm/mach-davinci/dm365.c +++ b/arch/arm/mach-davinci/dm365.c | |||
@@ -454,8 +454,8 @@ static struct clk_lookup dm365_clks[] = { | |||
454 | CLK(NULL, "uart0", &uart0_clk), | 454 | CLK(NULL, "uart0", &uart0_clk), |
455 | CLK(NULL, "uart1", &uart1_clk), | 455 | CLK(NULL, "uart1", &uart1_clk), |
456 | CLK("i2c_davinci.1", NULL, &i2c_clk), | 456 | CLK("i2c_davinci.1", NULL, &i2c_clk), |
457 | CLK("davinci_mmc.0", NULL, &mmcsd0_clk), | 457 | CLK("da830-mmc.0", NULL, &mmcsd0_clk), |
458 | CLK("davinci_mmc.1", NULL, &mmcsd1_clk), | 458 | CLK("da830-mmc.1", NULL, &mmcsd1_clk), |
459 | CLK("spi_davinci.0", NULL, &spi0_clk), | 459 | CLK("spi_davinci.0", NULL, &spi0_clk), |
460 | CLK("spi_davinci.1", NULL, &spi1_clk), | 460 | CLK("spi_davinci.1", NULL, &spi1_clk), |
461 | CLK("spi_davinci.2", NULL, &spi2_clk), | 461 | CLK("spi_davinci.2", NULL, &spi2_clk), |
diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c index db1dd92e00af..ab6bf54c65c7 100644 --- a/arch/arm/mach-davinci/dm644x.c +++ b/arch/arm/mach-davinci/dm644x.c | |||
@@ -310,7 +310,7 @@ static struct clk_lookup dm644x_clks[] = { | |||
310 | CLK("i2c_davinci.1", NULL, &i2c_clk), | 310 | CLK("i2c_davinci.1", NULL, &i2c_clk), |
311 | CLK("palm_bk3710", NULL, &ide_clk), | 311 | CLK("palm_bk3710", NULL, &ide_clk), |
312 | CLK("davinci-mcbsp", NULL, &asp_clk), | 312 | CLK("davinci-mcbsp", NULL, &asp_clk), |
313 | CLK("davinci_mmc.0", NULL, &mmcsd_clk), | 313 | CLK("dm6441-mmc.0", NULL, &mmcsd_clk), |
314 | CLK(NULL, "spi", &spi_clk), | 314 | CLK(NULL, "spi", &spi_clk), |
315 | CLK(NULL, "gpio", &gpio_clk), | 315 | CLK(NULL, "gpio", &gpio_clk), |
316 | CLK(NULL, "usb", &usb_clk), | 316 | CLK(NULL, "usb", &usb_clk), |
diff --git a/arch/arm/mach-davinci/tnetv107x.c b/arch/arm/mach-davinci/tnetv107x.c index dc1a209b9b66..3b2a70d43efa 100644 --- a/arch/arm/mach-davinci/tnetv107x.c +++ b/arch/arm/mach-davinci/tnetv107x.c | |||
@@ -272,7 +272,7 @@ static struct clk_lookup clks[] = { | |||
272 | CLK("tnetv107x-keypad.0", NULL, &clk_keypad), | 272 | CLK("tnetv107x-keypad.0", NULL, &clk_keypad), |
273 | CLK(NULL, "clk_gpio", &clk_gpio), | 273 | CLK(NULL, "clk_gpio", &clk_gpio), |
274 | CLK(NULL, "clk_mdio", &clk_mdio), | 274 | CLK(NULL, "clk_mdio", &clk_mdio), |
275 | CLK("davinci_mmc.0", NULL, &clk_sdio0), | 275 | CLK("dm6441-mmc.0", NULL, &clk_sdio0), |
276 | CLK(NULL, "uart0", &clk_uart0), | 276 | CLK(NULL, "uart0", &clk_uart0), |
277 | CLK(NULL, "uart1", &clk_uart1), | 277 | CLK(NULL, "uart1", &clk_uart1), |
278 | CLK(NULL, "timer0", &clk_timer0), | 278 | CLK(NULL, "timer0", &clk_timer0), |
@@ -292,7 +292,7 @@ static struct clk_lookup clks[] = { | |||
292 | CLK(NULL, "clk_system", &clk_system), | 292 | CLK(NULL, "clk_system", &clk_system), |
293 | CLK(NULL, "clk_imcop", &clk_imcop), | 293 | CLK(NULL, "clk_imcop", &clk_imcop), |
294 | CLK(NULL, "clk_spare", &clk_spare), | 294 | CLK(NULL, "clk_spare", &clk_spare), |
295 | CLK("davinci_mmc.1", NULL, &clk_sdio1), | 295 | CLK("dm6441-mmc.1", NULL, &clk_sdio1), |
296 | CLK(NULL, "clk_ddr2_vrst", &clk_ddr2_vrst), | 296 | CLK(NULL, "clk_ddr2_vrst", &clk_ddr2_vrst), |
297 | CLK(NULL, "clk_ddr2_vctl_rst", &clk_ddr2_vctl_rst), | 297 | CLK(NULL, "clk_ddr2_vctl_rst", &clk_ddr2_vctl_rst), |
298 | CLK(NULL, NULL, NULL), | 298 | CLK(NULL, NULL, NULL), |
diff --git a/drivers/mmc/host/davinci_mmc.c b/drivers/mmc/host/davinci_mmc.c index 20636772c09b..b5f1c019ecad 100644 --- a/drivers/mmc/host/davinci_mmc.c +++ b/drivers/mmc/host/davinci_mmc.c | |||
@@ -1157,6 +1157,18 @@ static void __init init_mmcsd_host(struct mmc_davinci_host *host) | |||
1157 | mmc_davinci_reset_ctrl(host, 0); | 1157 | mmc_davinci_reset_ctrl(host, 0); |
1158 | } | 1158 | } |
1159 | 1159 | ||
1160 | static struct platform_device_id davinci_mmc_devtype[] = { | ||
1161 | { | ||
1162 | .name = "dm6441-mmc", | ||
1163 | .driver_data = MMC_CTLR_VERSION_1, | ||
1164 | }, { | ||
1165 | .name = "da830-mmc", | ||
1166 | .driver_data = MMC_CTLR_VERSION_2, | ||
1167 | }, | ||
1168 | {}, | ||
1169 | }; | ||
1170 | MODULE_DEVICE_TABLE(platform, davinci_mmc_devtype); | ||
1171 | |||
1160 | static int __init davinci_mmcsd_probe(struct platform_device *pdev) | 1172 | static int __init davinci_mmcsd_probe(struct platform_device *pdev) |
1161 | { | 1173 | { |
1162 | struct davinci_mmc_config *pdata = pdev->dev.platform_data; | 1174 | struct davinci_mmc_config *pdata = pdev->dev.platform_data; |
@@ -1165,6 +1177,7 @@ static int __init davinci_mmcsd_probe(struct platform_device *pdev) | |||
1165 | struct resource *r, *mem = NULL; | 1177 | struct resource *r, *mem = NULL; |
1166 | int ret = 0, irq = 0; | 1178 | int ret = 0, irq = 0; |
1167 | size_t mem_size; | 1179 | size_t mem_size; |
1180 | const struct platform_device_id *id_entry; | ||
1168 | 1181 | ||
1169 | /* REVISIT: when we're fully converted, fail if pdata is NULL */ | 1182 | /* REVISIT: when we're fully converted, fail if pdata is NULL */ |
1170 | 1183 | ||
@@ -1237,7 +1250,9 @@ static int __init davinci_mmcsd_probe(struct platform_device *pdev) | |||
1237 | if (pdata && (pdata->wires == 8)) | 1250 | if (pdata && (pdata->wires == 8)) |
1238 | mmc->caps |= (MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA); | 1251 | mmc->caps |= (MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA); |
1239 | 1252 | ||
1240 | host->version = pdata->version; | 1253 | id_entry = platform_get_device_id(pdev); |
1254 | if (id_entry) | ||
1255 | host->version = id_entry->driver_data; | ||
1241 | 1256 | ||
1242 | mmc->ops = &mmc_davinci_ops; | 1257 | mmc->ops = &mmc_davinci_ops; |
1243 | mmc->f_min = 312500; | 1258 | mmc->f_min = 312500; |
@@ -1408,6 +1423,7 @@ static struct platform_driver davinci_mmcsd_driver = { | |||
1408 | .pm = davinci_mmcsd_pm_ops, | 1423 | .pm = davinci_mmcsd_pm_ops, |
1409 | }, | 1424 | }, |
1410 | .remove = __exit_p(davinci_mmcsd_remove), | 1425 | .remove = __exit_p(davinci_mmcsd_remove), |
1426 | .id_table = davinci_mmc_devtype, | ||
1411 | }; | 1427 | }; |
1412 | 1428 | ||
1413 | static int __init davinci_mmcsd_init(void) | 1429 | static int __init davinci_mmcsd_init(void) |
diff --git a/include/linux/platform_data/mmc-davinci.h b/include/linux/platform_data/mmc-davinci.h index 5ba6b22ce338..9cea4ee377b5 100644 --- a/include/linux/platform_data/mmc-davinci.h +++ b/include/linux/platform_data/mmc-davinci.h | |||
@@ -23,9 +23,6 @@ struct davinci_mmc_config { | |||
23 | /* any additional host capabilities: OR'd in to mmc->f_caps */ | 23 | /* any additional host capabilities: OR'd in to mmc->f_caps */ |
24 | u32 caps; | 24 | u32 caps; |
25 | 25 | ||
26 | /* Version of the MMC/SD controller */ | ||
27 | u8 version; | ||
28 | |||
29 | /* Number of sg segments */ | 26 | /* Number of sg segments */ |
30 | u8 nr_sg; | 27 | u8 nr_sg; |
31 | }; | 28 | }; |