SH: convert migor to soc-camera as platform-device
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Tue, 12 May 2009 15:13:40 +0000 (15:13 +0000)
committerPaul Mundt <lethal@linux-sh.org>
Wed, 17 Jun 2009 07:22:48 +0000 (16:22 +0900)
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/boards/mach-migor/setup.c

index 95d9021..f70f464 100644 (file)
@@ -381,21 +381,6 @@ static struct platform_device migor_ceu_device = {
        },
 };
 
-static struct ov772x_camera_info ov7725_info = {
-       .buswidth  = SOCAM_DATAWIDTH_8,
-       .link = {
-               .power  = ov7725_power,
-       },
-};
-
-static struct tw9910_video_info tw9910_info = {
-       .buswidth = SOCAM_DATAWIDTH_8,
-       .mpout    = TW9910_MPO_FIELD,
-       .link = {
-               .power  = tw9910_power,
-       }
-};
-
 struct spi_gpio_platform_data sdcard_cn9_platform_data = {
        .sck = GPIO_PTD0,
        .mosi = GPIO_PTD1,
@@ -410,16 +395,6 @@ static struct platform_device sdcard_cn9_device = {
        },
 };
 
-static struct platform_device *migor_devices[] __initdata = {
-       &smc91x_eth_device,
-       &sh_keysc_device,
-       &migor_lcdc_device,
-       &migor_ceu_device,
-       &migor_nor_flash_device,
-       &migor_nand_flash_device,
-       &sdcard_cn9_device,
-};
-
 static struct i2c_board_info migor_i2c_devices[] = {
        {
                I2C_BOARD_INFO("rs5c372b", 0x32),
@@ -428,16 +403,66 @@ static struct i2c_board_info migor_i2c_devices[] = {
                I2C_BOARD_INFO("migor_ts", 0x51),
                .irq = 38, /* IRQ6 */
        },
+};
+
+static struct i2c_board_info migor_i2c_camera[] = {
        {
                I2C_BOARD_INFO("ov772x", 0x21),
-               .platform_data = &ov7725_info.link,
        },
        {
                I2C_BOARD_INFO("tw9910", 0x45),
-               .platform_data = &tw9910_info.link,
        },
 };
 
+static struct ov772x_camera_info ov7725_info = {
+       .buswidth       = SOCAM_DATAWIDTH_8,
+       .link = {
+               .power          = ov7725_power,
+               .board_info     = &migor_i2c_camera[0],
+               .i2c_adapter_id = 0,
+               .module_name    = "ov772x",
+       },
+};
+
+static struct tw9910_video_info tw9910_info = {
+       .buswidth       = SOCAM_DATAWIDTH_8,
+       .mpout          = TW9910_MPO_FIELD,
+       .link = {
+               .power          = tw9910_power,
+               .board_info     = &migor_i2c_camera[1],
+               .i2c_adapter_id = 0,
+               .module_name    = "tw9910",
+       }
+};
+
+static struct platform_device migor_camera[] = {
+       {
+               .name   = "soc-camera-pdrv",
+               .id     = 0,
+               .dev    = {
+                       .platform_data = &ov7725_info.link,
+               },
+       }, {
+               .name   = "soc-camera-pdrv",
+               .id     = 1,
+               .dev    = {
+                       .platform_data = &tw9910_info.link,
+               },
+       },
+};
+
+static struct platform_device *migor_devices[] __initdata = {
+       &smc91x_eth_device,
+       &sh_keysc_device,
+       &migor_lcdc_device,
+       &migor_ceu_device,
+       &migor_nor_flash_device,
+       &migor_nand_flash_device,
+       &sdcard_cn9_device,
+       &migor_camera[0],
+       &migor_camera[1],
+};
+
 static struct spi_board_info migor_spi_devices[] = {
        {
                .modalias = "mmc_spi",