aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx/devices
diff options
context:
space:
mode:
authorShawn Guo <shawn.guo@linaro.org>2012-09-15 01:34:09 -0400
committerShawn Guo <shawn.guo@linaro.org>2012-10-14 22:03:15 -0400
commit4d62435f0601ecec379fdc48749a10353fee8217 (patch)
treeae6b8397b554700283b86150dd852763d39bbe5d /arch/arm/mach-imx/devices
parent5bdfba29f18f0a36df8e28328315213ea47eb529 (diff)
mtd: mxc_nand: 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> Cc: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Cc: linux-mtd@lists.infradead.org
Diffstat (limited to 'arch/arm/mach-imx/devices')
-rw-r--r--arch/arm/mach-imx/devices/devices-common.h1
-rw-r--r--arch/arm/mach-imx/devices/platform-mxc_nand.c20
2 files changed, 12 insertions, 9 deletions
diff --git a/arch/arm/mach-imx/devices/devices-common.h b/arch/arm/mach-imx/devices/devices-common.h
index 86bf34cd4865..30a842ffc553 100644
--- a/arch/arm/mach-imx/devices/devices-common.h
+++ b/arch/arm/mach-imx/devices/devices-common.h
@@ -257,6 +257,7 @@ struct platform_device *__init imx_add_mxc_mmc(
257 257
258#include <linux/platform_data/mtd-mxc_nand.h> 258#include <linux/platform_data/mtd-mxc_nand.h>
259struct imx_mxc_nand_data { 259struct imx_mxc_nand_data {
260 const char *devid;
260 /* 261 /*
261 * id is traditionally 0, but -1 is more appropriate. We use -1 for new 262 * id is traditionally 0, but -1 is more appropriate. We use -1 for new
262 * machines but don't change existing devices as the nand device usually 263 * machines but don't change existing devices as the nand device usually
diff --git a/arch/arm/mach-imx/devices/platform-mxc_nand.c b/arch/arm/mach-imx/devices/platform-mxc_nand.c
index 54b1d02cc27b..24aaad1a58c9 100644
--- a/arch/arm/mach-imx/devices/platform-mxc_nand.c
+++ b/arch/arm/mach-imx/devices/platform-mxc_nand.c
@@ -10,15 +10,17 @@
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_nand_data_entry_single(soc, _size) \ 13#define imx_mxc_nand_data_entry_single(soc, _devid, _size) \
14 { \ 14 { \
15 .devid = _devid, \
15 .iobase = soc ## _NFC_BASE_ADDR, \ 16 .iobase = soc ## _NFC_BASE_ADDR, \
16 .iosize = _size, \ 17 .iosize = _size, \
17 .irq = soc ## _INT_NFC \ 18 .irq = soc ## _INT_NFC \
18 } 19 }
19 20
20#define imx_mxc_nandv3_data_entry_single(soc, _size) \ 21#define imx_mxc_nandv3_data_entry_single(soc, _devid, _size) \
21 { \ 22 { \
23 .devid = _devid, \
22 .id = -1, \ 24 .id = -1, \
23 .iobase = soc ## _NFC_BASE_ADDR, \ 25 .iobase = soc ## _NFC_BASE_ADDR, \
24 .iosize = _size, \ 26 .iosize = _size, \
@@ -28,32 +30,32 @@
28 30
29#ifdef CONFIG_SOC_IMX21 31#ifdef CONFIG_SOC_IMX21
30const struct imx_mxc_nand_data imx21_mxc_nand_data __initconst = 32const struct imx_mxc_nand_data imx21_mxc_nand_data __initconst =
31 imx_mxc_nand_data_entry_single(MX21, SZ_4K); 33 imx_mxc_nand_data_entry_single(MX21, "imx21-nand", SZ_4K);
32#endif /* ifdef CONFIG_SOC_IMX21 */ 34#endif /* ifdef CONFIG_SOC_IMX21 */
33 35
34#ifdef CONFIG_SOC_IMX25 36#ifdef CONFIG_SOC_IMX25
35const struct imx_mxc_nand_data imx25_mxc_nand_data __initconst = 37const struct imx_mxc_nand_data imx25_mxc_nand_data __initconst =
36 imx_mxc_nand_data_entry_single(MX25, SZ_8K); 38 imx_mxc_nand_data_entry_single(MX25, "imx25-nand", SZ_8K);
37#endif /* ifdef CONFIG_SOC_IMX25 */ 39#endif /* ifdef CONFIG_SOC_IMX25 */
38 40
39#ifdef CONFIG_SOC_IMX27 41#ifdef CONFIG_SOC_IMX27
40const struct imx_mxc_nand_data imx27_mxc_nand_data __initconst = 42const struct imx_mxc_nand_data imx27_mxc_nand_data __initconst =
41 imx_mxc_nand_data_entry_single(MX27, SZ_4K); 43 imx_mxc_nand_data_entry_single(MX27, "imx27-nand", SZ_4K);
42#endif /* ifdef CONFIG_SOC_IMX27 */ 44#endif /* ifdef CONFIG_SOC_IMX27 */
43 45
44#ifdef CONFIG_SOC_IMX31 46#ifdef CONFIG_SOC_IMX31
45const struct imx_mxc_nand_data imx31_mxc_nand_data __initconst = 47const struct imx_mxc_nand_data imx31_mxc_nand_data __initconst =
46 imx_mxc_nand_data_entry_single(MX31, SZ_4K); 48 imx_mxc_nand_data_entry_single(MX31, "imx27-nand", SZ_4K);
47#endif 49#endif
48 50
49#ifdef CONFIG_SOC_IMX35 51#ifdef CONFIG_SOC_IMX35
50const struct imx_mxc_nand_data imx35_mxc_nand_data __initconst = 52const struct imx_mxc_nand_data imx35_mxc_nand_data __initconst =
51 imx_mxc_nand_data_entry_single(MX35, SZ_8K); 53 imx_mxc_nand_data_entry_single(MX35, "imx25-nand", SZ_8K);
52#endif 54#endif
53 55
54#ifdef CONFIG_SOC_IMX51 56#ifdef CONFIG_SOC_IMX51
55const struct imx_mxc_nand_data imx51_mxc_nand_data __initconst = 57const struct imx_mxc_nand_data imx51_mxc_nand_data __initconst =
56 imx_mxc_nandv3_data_entry_single(MX51, SZ_16K); 58 imx_mxc_nandv3_data_entry_single(MX51, "imx51-nand", SZ_16K);
57#endif 59#endif
58 60
59struct platform_device *__init imx_add_mxc_nand( 61struct platform_device *__init imx_add_mxc_nand(
@@ -76,7 +78,7 @@ struct platform_device *__init imx_add_mxc_nand(
76 .flags = IORESOURCE_MEM, 78 .flags = IORESOURCE_MEM,
77 }, 79 },
78 }; 80 };
79 return imx_add_platform_device("mxc_nand", data->id, 81 return imx_add_platform_device(data->devid, data->id,
80 res, ARRAY_SIZE(res) - !data->axibase, 82 res, ARRAY_SIZE(res) - !data->axibase,
81 pdata, sizeof(*pdata)); 83 pdata, sizeof(*pdata));
82} 84}