diff options
author | Shawn Guo <shawn.guo@linaro.org> | 2012-09-16 04:26:20 -0400 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2012-10-14 22:05:41 -0400 |
commit | 27b76486a3e5be1cfd19dc59452e4185c5d43dff (patch) | |
tree | 7751490f66c7f52dc3f7e516d1fcd1b7f7076102 /arch/arm/mach-imx/devices | |
parent | e51d0f0ac4b7f513808743c6a62f0387eebd0144 (diff) |
media: mx2_camera: 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: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Tested-by: Javier Martin <javier.martin@vista-silicon.com>
Cc: linux-media@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-mx2-camera.c | 12 |
2 files changed, 8 insertions, 5 deletions
diff --git a/arch/arm/mach-imx/devices/devices-common.h b/arch/arm/mach-imx/devices/devices-common.h index 36eb3f09f5d7..d213da9dfd93 100644 --- a/arch/arm/mach-imx/devices/devices-common.h +++ b/arch/arm/mach-imx/devices/devices-common.h | |||
@@ -220,6 +220,7 @@ struct platform_device *__init imx_add_mx1_camera( | |||
220 | 220 | ||
221 | #include <linux/platform_data/camera-mx2.h> | 221 | #include <linux/platform_data/camera-mx2.h> |
222 | struct imx_mx2_camera_data { | 222 | struct imx_mx2_camera_data { |
223 | const char *devid; | ||
223 | resource_size_t iobasecsi; | 224 | resource_size_t iobasecsi; |
224 | resource_size_t iosizecsi; | 225 | resource_size_t iosizecsi; |
225 | resource_size_t irqcsi; | 226 | resource_size_t irqcsi; |
diff --git a/arch/arm/mach-imx/devices/platform-mx2-camera.c b/arch/arm/mach-imx/devices/platform-mx2-camera.c index 9ad5b2d97054..b88877d54d7f 100644 --- a/arch/arm/mach-imx/devices/platform-mx2-camera.c +++ b/arch/arm/mach-imx/devices/platform-mx2-camera.c | |||
@@ -9,14 +9,16 @@ | |||
9 | #include <mach/hardware.h> | 9 | #include <mach/hardware.h> |
10 | #include "devices-common.h" | 10 | #include "devices-common.h" |
11 | 11 | ||
12 | #define imx_mx2_camera_data_entry_single(soc) \ | 12 | #define imx_mx2_camera_data_entry_single(soc, _devid) \ |
13 | { \ | 13 | { \ |
14 | .devid = _devid, \ | ||
14 | .iobasecsi = soc ## _CSI_BASE_ADDR, \ | 15 | .iobasecsi = soc ## _CSI_BASE_ADDR, \ |
15 | .iosizecsi = SZ_4K, \ | 16 | .iosizecsi = SZ_4K, \ |
16 | .irqcsi = soc ## _INT_CSI, \ | 17 | .irqcsi = soc ## _INT_CSI, \ |
17 | } | 18 | } |
18 | #define imx_mx2_camera_data_entry_single_emma(soc) \ | 19 | #define imx_mx2_camera_data_entry_single_emma(soc, _devid) \ |
19 | { \ | 20 | { \ |
21 | .devid = _devid, \ | ||
20 | .iobasecsi = soc ## _CSI_BASE_ADDR, \ | 22 | .iobasecsi = soc ## _CSI_BASE_ADDR, \ |
21 | .iosizecsi = SZ_32, \ | 23 | .iosizecsi = SZ_32, \ |
22 | .irqcsi = soc ## _INT_CSI, \ | 24 | .irqcsi = soc ## _INT_CSI, \ |
@@ -27,12 +29,12 @@ | |||
27 | 29 | ||
28 | #ifdef CONFIG_SOC_IMX25 | 30 | #ifdef CONFIG_SOC_IMX25 |
29 | const struct imx_mx2_camera_data imx25_mx2_camera_data __initconst = | 31 | const struct imx_mx2_camera_data imx25_mx2_camera_data __initconst = |
30 | imx_mx2_camera_data_entry_single(MX25); | 32 | imx_mx2_camera_data_entry_single(MX25, "imx25-camera"); |
31 | #endif /* ifdef CONFIG_SOC_IMX25 */ | 33 | #endif /* ifdef CONFIG_SOC_IMX25 */ |
32 | 34 | ||
33 | #ifdef CONFIG_SOC_IMX27 | 35 | #ifdef CONFIG_SOC_IMX27 |
34 | const struct imx_mx2_camera_data imx27_mx2_camera_data __initconst = | 36 | const struct imx_mx2_camera_data imx27_mx2_camera_data __initconst = |
35 | imx_mx2_camera_data_entry_single_emma(MX27); | 37 | imx_mx2_camera_data_entry_single_emma(MX27, "imx27-camera"); |
36 | #endif /* ifdef CONFIG_SOC_IMX27 */ | 38 | #endif /* ifdef CONFIG_SOC_IMX27 */ |
37 | 39 | ||
38 | struct platform_device *__init imx_add_mx2_camera( | 40 | struct platform_device *__init imx_add_mx2_camera( |
@@ -58,7 +60,7 @@ struct platform_device *__init imx_add_mx2_camera( | |||
58 | .flags = IORESOURCE_IRQ, | 60 | .flags = IORESOURCE_IRQ, |
59 | }, | 61 | }, |
60 | }; | 62 | }; |
61 | return imx_add_platform_device_dmamask("mx2-camera", 0, | 63 | return imx_add_platform_device_dmamask(data->devid, 0, |
62 | res, data->iobaseemmaprp ? 4 : 2, | 64 | res, data->iobaseemmaprp ? 4 : 2, |
63 | pdata, sizeof(*pdata), DMA_BIT_MASK(32)); | 65 | pdata, sizeof(*pdata), DMA_BIT_MASK(32)); |
64 | } | 66 | } |