diff options
author | Shawn Guo <shawn.guo@linaro.org> | 2012-09-16 04:54:30 -0400 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2012-10-14 22:05:41 -0400 |
commit | 7f917a8df68985aa38a90b7110b5f42bfa0d7cda (patch) | |
tree | 1b7f0449267b5f573ccf0b51df0616a4f5533159 /arch/arm/mach-imx/devices | |
parent | 27b76486a3e5be1cfd19dc59452e4185c5d43dff (diff) |
mmc: mxcmmc: remove cpu_is_xxx by using platform_device_id
It changes the driver to use platform_device_id rather than cpu_is_xxx
to determine the controller type, and updates the platform code
accordingly.
As the result, mach/hardware.h inclusion gets removed from the driver.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Chris Ball <cjb@laptop.org>
Tested-by: Javier Martin <javier.martin@vista-silicon.com>
Cc: linux-mmc@vger.kernel.org
Diffstat (limited to 'arch/arm/mach-imx/devices')
-rw-r--r-- | arch/arm/mach-imx/devices/devices-common.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-imx/devices/platform-mxc-mmc.c | 15 |
2 files changed, 9 insertions, 7 deletions
diff --git a/arch/arm/mach-imx/devices/devices-common.h b/arch/arm/mach-imx/devices/devices-common.h index d213da9dfd93..4caf1c61e350 100644 --- a/arch/arm/mach-imx/devices/devices-common.h +++ b/arch/arm/mach-imx/devices/devices-common.h | |||
@@ -246,6 +246,7 @@ struct platform_device *__init imx_add_mxc_ehci( | |||
246 | 246 | ||
247 | #include <linux/platform_data/mmc-mxcmmc.h> | 247 | #include <linux/platform_data/mmc-mxcmmc.h> |
248 | struct imx_mxc_mmc_data { | 248 | struct imx_mxc_mmc_data { |
249 | const char *devid; | ||
249 | int id; | 250 | int id; |
250 | resource_size_t iobase; | 251 | resource_size_t iobase; |
251 | resource_size_t iosize; | 252 | resource_size_t iosize; |
diff --git a/arch/arm/mach-imx/devices/platform-mxc-mmc.c b/arch/arm/mach-imx/devices/platform-mxc-mmc.c index ce90ab0c22fc..487f61cfbc8f 100644 --- a/arch/arm/mach-imx/devices/platform-mxc-mmc.c +++ b/arch/arm/mach-imx/devices/platform-mxc-mmc.c | |||
@@ -10,21 +10,22 @@ | |||
10 | #include <mach/hardware.h> | 10 | #include <mach/hardware.h> |
11 | #include "devices-common.h" | 11 | #include "devices-common.h" |
12 | 12 | ||
13 | #define imx_mxc_mmc_data_entry_single(soc, _id, _hwid, _size) \ | 13 | #define imx_mxc_mmc_data_entry_single(soc, _devid, _id, _hwid, _size) \ |
14 | { \ | 14 | { \ |
15 | .devid = _devid, \ | ||
15 | .id = _id, \ | 16 | .id = _id, \ |
16 | .iobase = soc ## _SDHC ## _hwid ## _BASE_ADDR, \ | 17 | .iobase = soc ## _SDHC ## _hwid ## _BASE_ADDR, \ |
17 | .iosize = _size, \ | 18 | .iosize = _size, \ |
18 | .irq = soc ## _INT_SDHC ## _hwid, \ | 19 | .irq = soc ## _INT_SDHC ## _hwid, \ |
19 | .dmareq = soc ## _DMA_REQ_SDHC ## _hwid, \ | 20 | .dmareq = soc ## _DMA_REQ_SDHC ## _hwid, \ |
20 | } | 21 | } |
21 | #define imx_mxc_mmc_data_entry(soc, _id, _hwid, _size) \ | 22 | #define imx_mxc_mmc_data_entry(soc, _devid, _id, _hwid, _size) \ |
22 | [_id] = imx_mxc_mmc_data_entry_single(soc, _id, _hwid, _size) | 23 | [_id] = imx_mxc_mmc_data_entry_single(soc, _devid, _id, _hwid, _size) |
23 | 24 | ||
24 | #ifdef CONFIG_SOC_IMX21 | 25 | #ifdef CONFIG_SOC_IMX21 |
25 | const struct imx_mxc_mmc_data imx21_mxc_mmc_data[] __initconst = { | 26 | const struct imx_mxc_mmc_data imx21_mxc_mmc_data[] __initconst = { |
26 | #define imx21_mxc_mmc_data_entry(_id, _hwid) \ | 27 | #define imx21_mxc_mmc_data_entry(_id, _hwid) \ |
27 | imx_mxc_mmc_data_entry(MX21, _id, _hwid, SZ_4K) | 28 | imx_mxc_mmc_data_entry(MX21, "imx21-mmc", _id, _hwid, SZ_4K) |
28 | imx21_mxc_mmc_data_entry(0, 1), | 29 | imx21_mxc_mmc_data_entry(0, 1), |
29 | imx21_mxc_mmc_data_entry(1, 2), | 30 | imx21_mxc_mmc_data_entry(1, 2), |
30 | }; | 31 | }; |
@@ -33,7 +34,7 @@ const struct imx_mxc_mmc_data imx21_mxc_mmc_data[] __initconst = { | |||
33 | #ifdef CONFIG_SOC_IMX27 | 34 | #ifdef CONFIG_SOC_IMX27 |
34 | const struct imx_mxc_mmc_data imx27_mxc_mmc_data[] __initconst = { | 35 | const struct imx_mxc_mmc_data imx27_mxc_mmc_data[] __initconst = { |
35 | #define imx27_mxc_mmc_data_entry(_id, _hwid) \ | 36 | #define imx27_mxc_mmc_data_entry(_id, _hwid) \ |
36 | imx_mxc_mmc_data_entry(MX27, _id, _hwid, SZ_4K) | 37 | imx_mxc_mmc_data_entry(MX27, "imx21-mmc", _id, _hwid, SZ_4K) |
37 | imx27_mxc_mmc_data_entry(0, 1), | 38 | imx27_mxc_mmc_data_entry(0, 1), |
38 | imx27_mxc_mmc_data_entry(1, 2), | 39 | imx27_mxc_mmc_data_entry(1, 2), |
39 | }; | 40 | }; |
@@ -42,7 +43,7 @@ const struct imx_mxc_mmc_data imx27_mxc_mmc_data[] __initconst = { | |||
42 | #ifdef CONFIG_SOC_IMX31 | 43 | #ifdef CONFIG_SOC_IMX31 |
43 | const struct imx_mxc_mmc_data imx31_mxc_mmc_data[] __initconst = { | 44 | const struct imx_mxc_mmc_data imx31_mxc_mmc_data[] __initconst = { |
44 | #define imx31_mxc_mmc_data_entry(_id, _hwid) \ | 45 | #define imx31_mxc_mmc_data_entry(_id, _hwid) \ |
45 | imx_mxc_mmc_data_entry(MX31, _id, _hwid, SZ_16K) | 46 | imx_mxc_mmc_data_entry(MX31, "imx31-mmc", _id, _hwid, SZ_16K) |
46 | imx31_mxc_mmc_data_entry(0, 1), | 47 | imx31_mxc_mmc_data_entry(0, 1), |
47 | imx31_mxc_mmc_data_entry(1, 2), | 48 | imx31_mxc_mmc_data_entry(1, 2), |
48 | }; | 49 | }; |
@@ -67,7 +68,7 @@ struct platform_device *__init imx_add_mxc_mmc( | |||
67 | .flags = IORESOURCE_DMA, | 68 | .flags = IORESOURCE_DMA, |
68 | }, | 69 | }, |
69 | }; | 70 | }; |
70 | return imx_add_platform_device_dmamask("mxc-mmc", data->id, | 71 | return imx_add_platform_device_dmamask(data->devid, data->id, |
71 | res, ARRAY_SIZE(res), | 72 | res, ARRAY_SIZE(res), |
72 | pdata, sizeof(*pdata), DMA_BIT_MASK(32)); | 73 | pdata, sizeof(*pdata), DMA_BIT_MASK(32)); |
73 | } | 74 | } |