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
This commit is contained in:
@@ -231,9 +231,9 @@ int __init mx25_clocks_init(void)
|
||||
clk_register_clkdev(clk[esdhc2_ipg_per], "per", "sdhci-esdhc-imx25.1");
|
||||
clk_register_clkdev(clk[esdhc2_ipg], "ipg", "sdhci-esdhc-imx25.1");
|
||||
clk_register_clkdev(clk[esdhc2_ahb], "ahb", "sdhci-esdhc-imx25.1");
|
||||
clk_register_clkdev(clk[csi_ipg_per], "per", "mx2-camera.0");
|
||||
clk_register_clkdev(clk[csi_ipg], "ipg", "mx2-camera.0");
|
||||
clk_register_clkdev(clk[csi_ahb], "ahb", "mx2-camera.0");
|
||||
clk_register_clkdev(clk[csi_ipg_per], "per", "imx25-camera.0");
|
||||
clk_register_clkdev(clk[csi_ipg], "ipg", "imx25-camera.0");
|
||||
clk_register_clkdev(clk[csi_ahb], "ahb", "imx25-camera.0");
|
||||
clk_register_clkdev(clk[dummy], "audmux", NULL);
|
||||
clk_register_clkdev(clk[can1_ipg], NULL, "flexcan.0");
|
||||
clk_register_clkdev(clk[can2_ipg], NULL, "flexcan.1");
|
||||
|
@@ -224,7 +224,7 @@ int __init mx27_clocks_init(unsigned long fref)
|
||||
clk_register_clkdev(clk[per3_gate], "per", "imx-fb.0");
|
||||
clk_register_clkdev(clk[lcdc_ipg_gate], "ipg", "imx-fb.0");
|
||||
clk_register_clkdev(clk[lcdc_ahb_gate], "ahb", "imx-fb.0");
|
||||
clk_register_clkdev(clk[csi_ahb_gate], "ahb", "mx2-camera.0");
|
||||
clk_register_clkdev(clk[csi_ahb_gate], "ahb", "imx27-camera.0");
|
||||
clk_register_clkdev(clk[usb_div], "per", "fsl-usb2-udc");
|
||||
clk_register_clkdev(clk[usb_ipg_gate], "ipg", "fsl-usb2-udc");
|
||||
clk_register_clkdev(clk[usb_ahb_gate], "ahb", "fsl-usb2-udc");
|
||||
@@ -251,8 +251,8 @@ int __init mx27_clocks_init(unsigned long fref)
|
||||
clk_register_clkdev(clk[i2c2_ipg_gate], NULL, "imx21-i2c.1");
|
||||
clk_register_clkdev(clk[owire_ipg_gate], NULL, "mxc_w1.0");
|
||||
clk_register_clkdev(clk[kpp_ipg_gate], NULL, "imx-keypad");
|
||||
clk_register_clkdev(clk[emma_ahb_gate], "emma-ahb", "mx2-camera.0");
|
||||
clk_register_clkdev(clk[emma_ipg_gate], "emma-ipg", "mx2-camera.0");
|
||||
clk_register_clkdev(clk[emma_ahb_gate], "emma-ahb", "imx27-camera.0");
|
||||
clk_register_clkdev(clk[emma_ipg_gate], "emma-ipg", "imx27-camera.0");
|
||||
clk_register_clkdev(clk[emma_ahb_gate], "ahb", "m2m-emmaprp.0");
|
||||
clk_register_clkdev(clk[emma_ipg_gate], "ipg", "m2m-emmaprp.0");
|
||||
clk_register_clkdev(clk[iim_ipg_gate], "iim", NULL);
|
||||
|
@@ -220,6 +220,7 @@ struct platform_device *__init imx_add_mx1_camera(
|
||||
|
||||
#include <linux/platform_data/camera-mx2.h>
|
||||
struct imx_mx2_camera_data {
|
||||
const char *devid;
|
||||
resource_size_t iobasecsi;
|
||||
resource_size_t iosizecsi;
|
||||
resource_size_t irqcsi;
|
||||
|
@@ -9,14 +9,16 @@
|
||||
#include <mach/hardware.h>
|
||||
#include "devices-common.h"
|
||||
|
||||
#define imx_mx2_camera_data_entry_single(soc) \
|
||||
#define imx_mx2_camera_data_entry_single(soc, _devid) \
|
||||
{ \
|
||||
.devid = _devid, \
|
||||
.iobasecsi = soc ## _CSI_BASE_ADDR, \
|
||||
.iosizecsi = SZ_4K, \
|
||||
.irqcsi = soc ## _INT_CSI, \
|
||||
}
|
||||
#define imx_mx2_camera_data_entry_single_emma(soc) \
|
||||
#define imx_mx2_camera_data_entry_single_emma(soc, _devid) \
|
||||
{ \
|
||||
.devid = _devid, \
|
||||
.iobasecsi = soc ## _CSI_BASE_ADDR, \
|
||||
.iosizecsi = SZ_32, \
|
||||
.irqcsi = soc ## _INT_CSI, \
|
||||
@@ -27,12 +29,12 @@
|
||||
|
||||
#ifdef CONFIG_SOC_IMX25
|
||||
const struct imx_mx2_camera_data imx25_mx2_camera_data __initconst =
|
||||
imx_mx2_camera_data_entry_single(MX25);
|
||||
imx_mx2_camera_data_entry_single(MX25, "imx25-camera");
|
||||
#endif /* ifdef CONFIG_SOC_IMX25 */
|
||||
|
||||
#ifdef CONFIG_SOC_IMX27
|
||||
const struct imx_mx2_camera_data imx27_mx2_camera_data __initconst =
|
||||
imx_mx2_camera_data_entry_single_emma(MX27);
|
||||
imx_mx2_camera_data_entry_single_emma(MX27, "imx27-camera");
|
||||
#endif /* ifdef CONFIG_SOC_IMX27 */
|
||||
|
||||
struct platform_device *__init imx_add_mx2_camera(
|
||||
@@ -58,7 +60,7 @@ struct platform_device *__init imx_add_mx2_camera(
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
};
|
||||
return imx_add_platform_device_dmamask("mx2-camera", 0,
|
||||
return imx_add_platform_device_dmamask(data->devid, 0,
|
||||
res, data->iobaseemmaprp ? 4 : 2,
|
||||
pdata, sizeof(*pdata), DMA_BIT_MASK(32));
|
||||
}
|
||||
|
Reference in New Issue
Block a user