aboutsummaryrefslogtreecommitdiffstats
path: root/arch
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
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')
-rw-r--r--arch/arm/mach-imx/clk-imx21.c2
-rw-r--r--arch/arm/mach-imx/clk-imx25.c2
-rw-r--r--arch/arm/mach-imx/clk-imx27.c2
-rw-r--r--arch/arm/mach-imx/clk-imx31.c2
-rw-r--r--arch/arm/mach-imx/clk-imx35.c2
-rw-r--r--arch/arm/mach-imx/clk-imx51-imx53.c2
-rw-r--r--arch/arm/mach-imx/devices/devices-common.h1
-rw-r--r--arch/arm/mach-imx/devices/platform-mxc_nand.c20
-rw-r--r--arch/arm/mach-imx/imx27-dt.c2
9 files changed, 19 insertions, 16 deletions
diff --git a/arch/arm/mach-imx/clk-imx21.c b/arch/arm/mach-imx/clk-imx21.c
index 09fc31c58474..96a4788032d1 100644
--- a/arch/arm/mach-imx/clk-imx21.c
+++ b/arch/arm/mach-imx/clk-imx21.c
@@ -162,7 +162,7 @@ int __init mx21_clocks_init(unsigned long lref, unsigned long href)
162 clk_register_clkdev(clk[lcdc_hclk_gate], "ahb", "imx-fb.0"); 162 clk_register_clkdev(clk[lcdc_hclk_gate], "ahb", "imx-fb.0");
163 clk_register_clkdev(clk[usb_gate], "per", "imx21-hcd.0"); 163 clk_register_clkdev(clk[usb_gate], "per", "imx21-hcd.0");
164 clk_register_clkdev(clk[usb_hclk_gate], "ahb", "imx21-hcd.0"); 164 clk_register_clkdev(clk[usb_hclk_gate], "ahb", "imx21-hcd.0");
165 clk_register_clkdev(clk[nfc_gate], NULL, "mxc_nand.0"); 165 clk_register_clkdev(clk[nfc_gate], NULL, "imx21-nand.0");
166 clk_register_clkdev(clk[dma_hclk_gate], "ahb", "imx-dma"); 166 clk_register_clkdev(clk[dma_hclk_gate], "ahb", "imx-dma");
167 clk_register_clkdev(clk[dma_gate], "ipg", "imx-dma"); 167 clk_register_clkdev(clk[dma_gate], "ipg", "imx-dma");
168 clk_register_clkdev(clk[wdog_gate], NULL, "imx2-wdt.0"); 168 clk_register_clkdev(clk[wdog_gate], NULL, "imx2-wdt.0");
diff --git a/arch/arm/mach-imx/clk-imx25.c b/arch/arm/mach-imx/clk-imx25.c
index f1d75e72e002..f0f82f204de7 100644
--- a/arch/arm/mach-imx/clk-imx25.c
+++ b/arch/arm/mach-imx/clk-imx25.c
@@ -198,7 +198,7 @@ int __init mx25_clocks_init(void)
198 clk_register_clkdev(clk[ipg], "ipg", "fsl-usb2-udc"); 198 clk_register_clkdev(clk[ipg], "ipg", "fsl-usb2-udc");
199 clk_register_clkdev(clk[usbotg_ahb], "ahb", "fsl-usb2-udc"); 199 clk_register_clkdev(clk[usbotg_ahb], "ahb", "fsl-usb2-udc");
200 clk_register_clkdev(clk[usb_div], "per", "fsl-usb2-udc"); 200 clk_register_clkdev(clk[usb_div], "per", "fsl-usb2-udc");
201 clk_register_clkdev(clk[nfc_ipg_per], NULL, "mxc_nand.0"); 201 clk_register_clkdev(clk[nfc_ipg_per], NULL, "imx25-nand.0");
202 /* i.mx25 has the i.mx35 type cspi */ 202 /* i.mx25 has the i.mx35 type cspi */
203 clk_register_clkdev(clk[cspi1_ipg], NULL, "imx35-cspi.0"); 203 clk_register_clkdev(clk[cspi1_ipg], NULL, "imx35-cspi.0");
204 clk_register_clkdev(clk[cspi2_ipg], NULL, "imx35-cspi.1"); 204 clk_register_clkdev(clk[cspi2_ipg], NULL, "imx35-cspi.1");
diff --git a/arch/arm/mach-imx/clk-imx27.c b/arch/arm/mach-imx/clk-imx27.c
index c2f111f42ddb..100e38c48f9f 100644
--- a/arch/arm/mach-imx/clk-imx27.c
+++ b/arch/arm/mach-imx/clk-imx27.c
@@ -239,7 +239,7 @@ int __init mx27_clocks_init(unsigned long fref)
239 clk_register_clkdev(clk[usb_ahb_gate], "ahb", "mxc-ehci.2"); 239 clk_register_clkdev(clk[usb_ahb_gate], "ahb", "mxc-ehci.2");
240 clk_register_clkdev(clk[ssi1_ipg_gate], NULL, "imx-ssi.0"); 240 clk_register_clkdev(clk[ssi1_ipg_gate], NULL, "imx-ssi.0");
241 clk_register_clkdev(clk[ssi2_ipg_gate], NULL, "imx-ssi.1"); 241 clk_register_clkdev(clk[ssi2_ipg_gate], NULL, "imx-ssi.1");
242 clk_register_clkdev(clk[nfc_baud_gate], NULL, "mxc_nand.0"); 242 clk_register_clkdev(clk[nfc_baud_gate], NULL, "imx27-nand.0");
243 clk_register_clkdev(clk[vpu_baud_gate], "per", "coda-imx27.0"); 243 clk_register_clkdev(clk[vpu_baud_gate], "per", "coda-imx27.0");
244 clk_register_clkdev(clk[vpu_ahb_gate], "ahb", "coda-imx27.0"); 244 clk_register_clkdev(clk[vpu_ahb_gate], "ahb", "coda-imx27.0");
245 clk_register_clkdev(clk[dma_ahb_gate], "ahb", "imx-dma"); 245 clk_register_clkdev(clk[dma_ahb_gate], "ahb", "imx-dma");
diff --git a/arch/arm/mach-imx/clk-imx31.c b/arch/arm/mach-imx/clk-imx31.c
index 76e6462cf9ae..729d1a9dbf6a 100644
--- a/arch/arm/mach-imx/clk-imx31.c
+++ b/arch/arm/mach-imx/clk-imx31.c
@@ -127,7 +127,7 @@ int __init mx31_clocks_init(unsigned long fref)
127 clk_register_clkdev(clk[rtc_gate], NULL, "mxc_rtc"); 127 clk_register_clkdev(clk[rtc_gate], NULL, "mxc_rtc");
128 clk_register_clkdev(clk[epit1_gate], "epit", NULL); 128 clk_register_clkdev(clk[epit1_gate], "epit", NULL);
129 clk_register_clkdev(clk[epit2_gate], "epit", NULL); 129 clk_register_clkdev(clk[epit2_gate], "epit", NULL);
130 clk_register_clkdev(clk[nfc], NULL, "mxc_nand.0"); 130 clk_register_clkdev(clk[nfc], NULL, "imx27-nand.0");
131 clk_register_clkdev(clk[ipu_gate], NULL, "ipu-core"); 131 clk_register_clkdev(clk[ipu_gate], NULL, "ipu-core");
132 clk_register_clkdev(clk[ipu_gate], NULL, "mx3_sdc_fb"); 132 clk_register_clkdev(clk[ipu_gate], NULL, "mx3_sdc_fb");
133 clk_register_clkdev(clk[kpp_gate], NULL, "imx-keypad"); 133 clk_register_clkdev(clk[kpp_gate], NULL, "imx-keypad");
diff --git a/arch/arm/mach-imx/clk-imx35.c b/arch/arm/mach-imx/clk-imx35.c
index ee2581254fbc..fec48e656efa 100644
--- a/arch/arm/mach-imx/clk-imx35.c
+++ b/arch/arm/mach-imx/clk-imx35.c
@@ -256,7 +256,7 @@ int __init mx35_clocks_init()
256 clk_register_clkdev(clk[ipg], "ipg", "fsl-usb2-udc"); 256 clk_register_clkdev(clk[ipg], "ipg", "fsl-usb2-udc");
257 clk_register_clkdev(clk[usbotg_gate], "ahb", "fsl-usb2-udc"); 257 clk_register_clkdev(clk[usbotg_gate], "ahb", "fsl-usb2-udc");
258 clk_register_clkdev(clk[wdog_gate], NULL, "imx2-wdt.0"); 258 clk_register_clkdev(clk[wdog_gate], NULL, "imx2-wdt.0");
259 clk_register_clkdev(clk[nfc_div], NULL, "mxc_nand.0"); 259 clk_register_clkdev(clk[nfc_div], NULL, "imx25-nand.0");
260 clk_register_clkdev(clk[csi_gate], NULL, "mx3-camera.0"); 260 clk_register_clkdev(clk[csi_gate], NULL, "mx3-camera.0");
261 261
262 clk_prepare_enable(clk[spba_gate]); 262 clk_prepare_enable(clk[spba_gate]);
diff --git a/arch/arm/mach-imx/clk-imx51-imx53.c b/arch/arm/mach-imx/clk-imx51-imx53.c
index 2449d8ff4a18..4836b4d39a07 100644
--- a/arch/arm/mach-imx/clk-imx51-imx53.c
+++ b/arch/arm/mach-imx/clk-imx51-imx53.c
@@ -272,7 +272,7 @@ static void __init mx5_clocks_common_init(unsigned long rate_ckil,
272 clk_register_clkdev(clk[usboh3_per_gate], "per", "fsl-usb2-udc"); 272 clk_register_clkdev(clk[usboh3_per_gate], "per", "fsl-usb2-udc");
273 clk_register_clkdev(clk[usboh3_gate], "ipg", "fsl-usb2-udc"); 273 clk_register_clkdev(clk[usboh3_gate], "ipg", "fsl-usb2-udc");
274 clk_register_clkdev(clk[usboh3_gate], "ahb", "fsl-usb2-udc"); 274 clk_register_clkdev(clk[usboh3_gate], "ahb", "fsl-usb2-udc");
275 clk_register_clkdev(clk[nfc_gate], NULL, "mxc_nand"); 275 clk_register_clkdev(clk[nfc_gate], NULL, "imx51-nand");
276 clk_register_clkdev(clk[ssi1_ipg_gate], NULL, "imx-ssi.0"); 276 clk_register_clkdev(clk[ssi1_ipg_gate], NULL, "imx-ssi.0");
277 clk_register_clkdev(clk[ssi2_ipg_gate], NULL, "imx-ssi.1"); 277 clk_register_clkdev(clk[ssi2_ipg_gate], NULL, "imx-ssi.1");
278 clk_register_clkdev(clk[ssi3_ipg_gate], NULL, "imx-ssi.2"); 278 clk_register_clkdev(clk[ssi3_ipg_gate], NULL, "imx-ssi.2");
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}
diff --git a/arch/arm/mach-imx/imx27-dt.c b/arch/arm/mach-imx/imx27-dt.c
index 43fbf8640109..a6c288e180ce 100644
--- a/arch/arm/mach-imx/imx27-dt.c
+++ b/arch/arm/mach-imx/imx27-dt.c
@@ -29,7 +29,7 @@ static const struct of_dev_auxdata imx27_auxdata_lookup[] __initconst = {
29 OF_DEV_AUXDATA("fsl,imx27-cspi", MX27_CSPI2_BASE_ADDR, "imx27-cspi.1", NULL), 29 OF_DEV_AUXDATA("fsl,imx27-cspi", MX27_CSPI2_BASE_ADDR, "imx27-cspi.1", NULL),
30 OF_DEV_AUXDATA("fsl,imx27-cspi", MX27_CSPI3_BASE_ADDR, "imx27-cspi.2", NULL), 30 OF_DEV_AUXDATA("fsl,imx27-cspi", MX27_CSPI3_BASE_ADDR, "imx27-cspi.2", NULL),
31 OF_DEV_AUXDATA("fsl,imx27-wdt", MX27_WDOG_BASE_ADDR, "imx2-wdt.0", NULL), 31 OF_DEV_AUXDATA("fsl,imx27-wdt", MX27_WDOG_BASE_ADDR, "imx2-wdt.0", NULL),
32 OF_DEV_AUXDATA("fsl,imx27-nand", MX27_NFC_BASE_ADDR, "mxc_nand.0", NULL), 32 OF_DEV_AUXDATA("fsl,imx27-nand", MX27_NFC_BASE_ADDR, "imx27-nand.0", NULL),
33 { /* sentinel */ } 33 { /* sentinel */ }
34}; 34};
35 35