This patch moves almost all SH soc-camera users towards re-using subdevice
drivers. Only mach-ap325rxa/setup.c will be updated separately, together
with other soc-camera-platform users.

Signed-off-by: Guennadi Liakhovetski <g.liakhovet...@gmx.de>
---
 arch/sh/boards/mach-ecovec24/setup.c |   51 ++++++++++++++++++++++------------
 arch/sh/boards/mach-kfr2r09/setup.c  |   15 ++++++---
 arch/sh/boards/mach-migor/setup.c    |   30 +++++++++++++------
 3 files changed, 63 insertions(+), 33 deletions(-)

diff --git a/arch/sh/boards/mach-ecovec24/setup.c 
b/arch/sh/boards/mach-ecovec24/setup.c
index aaff767..51e25e1 100644
--- a/arch/sh/boards/mach-ecovec24/setup.c
+++ b/arch/sh/boards/mach-ecovec24/setup.c
@@ -809,12 +809,17 @@ static struct tw9910_video_info tw9910_info = {
        .mpout          = TW9910_MPO_FIELD,
 };
 
-static struct soc_camera_link tw9910_link = {
-       .i2c_adapter_id = 0,
-       .bus_id         = 1,
-       .power          = tw9910_power,
-       .board_info     = &i2c_camera[0],
-       .priv           = &tw9910_info,
+static struct soc_camera_desc tw9910_link = {
+       .subdev_desc    = {
+               .sd_pdata.host_priv = &tw9910_link,
+               .power          = tw9910_power,
+               .drv_priv       = &tw9910_info,
+       },
+       .host_desc      = {
+               .i2c_adapter_id = 0,
+               .bus_id         = 1,
+               .board_info     = &i2c_camera[0],
+       },
 };
 
 /* mt9t112 */
@@ -832,12 +837,17 @@ static struct mt9t112_camera_info mt9t112_info1 = {
        .divider = { 0x49, 0x6, 0, 6, 0, 9, 9, 6, 0 }, /* for 24MHz */
 };
 
-static struct soc_camera_link mt9t112_link1 = {
-       .i2c_adapter_id = 0,
-       .power          = mt9t112_power1,
-       .bus_id         = 0,
-       .board_info     = &i2c_camera[1],
-       .priv           = &mt9t112_info1,
+static struct soc_camera_desc mt9t112_link1 = {
+       .subdev_desc    = {
+               .sd_pdata.host_priv = &mt9t112_link1,
+               .power          = mt9t112_power1,
+               .drv_priv       = &mt9t112_info1,
+       },
+       .host_desc      = {
+               .i2c_adapter_id = 0,
+               .bus_id         = 0,
+               .board_info     = &i2c_camera[1],
+       },
 };
 
 static int mt9t112_power2(struct device *dev, int mode)
@@ -854,12 +864,17 @@ static struct mt9t112_camera_info mt9t112_info2 = {
        .divider = { 0x49, 0x6, 0, 6, 0, 9, 9, 6, 0 }, /* for 24MHz */
 };
 
-static struct soc_camera_link mt9t112_link2 = {
-       .i2c_adapter_id = 1,
-       .power          = mt9t112_power2,
-       .bus_id         = 1,
-       .board_info     = &i2c_camera[2],
-       .priv           = &mt9t112_info2,
+static struct soc_camera_desc mt9t112_link2 = {
+       .subdev_desc    = {
+               .sd_pdata.host_priv = &mt9t112_link2,
+               .power          = mt9t112_power2,
+               .drv_priv       = &mt9t112_info2,
+       },
+       .host_desc      = {
+               .i2c_adapter_id = 1,
+               .bus_id         = 1,
+               .board_info     = &i2c_camera[2],
+       },
 };
 
 static struct platform_device camera_devices[] = {
diff --git a/arch/sh/boards/mach-kfr2r09/setup.c 
b/arch/sh/boards/mach-kfr2r09/setup.c
index ab502f12..5cb62c7 100644
--- a/arch/sh/boards/mach-kfr2r09/setup.c
+++ b/arch/sh/boards/mach-kfr2r09/setup.c
@@ -331,11 +331,16 @@ static struct rj54n1_pdata rj54n1_priv = {
        .ioctl_high     = false,
 };
 
-static struct soc_camera_link rj54n1_link = {
-       .power          = camera_power,
-       .board_info     = &kfr2r09_i2c_camera,
-       .i2c_adapter_id = 1,
-       .priv           = &rj54n1_priv,
+static struct soc_camera_desc rj54n1_link = {
+       .subdev_desc    = {
+               .sd_pdata.host_priv = &rj54n1_link,
+               .power          = camera_power,
+               .drv_priv       = &rj54n1_priv,
+       },
+       .host_desc      = {
+               .board_info     = &kfr2r09_i2c_camera,
+               .i2c_adapter_id = 1,
+       },
 };
 
 static struct platform_device kfr2r09_camera = {
diff --git a/arch/sh/boards/mach-migor/setup.c 
b/arch/sh/boards/mach-migor/setup.c
index 8b73194e..5df19d7 100644
--- a/arch/sh/boards/mach-migor/setup.c
+++ b/arch/sh/boards/mach-migor/setup.c
@@ -447,11 +447,16 @@ static struct i2c_board_info migor_i2c_camera[] = {
 
 static struct ov772x_camera_info ov7725_info;
 
-static struct soc_camera_link ov7725_link = {
-       .power          = ov7725_power,
-       .board_info     = &migor_i2c_camera[0],
-       .i2c_adapter_id = 0,
-       .priv           = &ov7725_info,
+static struct soc_camera_desc ov7725_link = {
+       .subdev_desc    = {
+               .sd_pdata.host_priv = &ov7725_link,
+               .power          = ov7725_power,
+               .drv_priv       = &ov7725_info,
+       },
+       .host_desc      = {
+               .board_info     = &migor_i2c_camera[0],
+               .i2c_adapter_id = 0,
+       },
 };
 
 static struct tw9910_video_info tw9910_info = {
@@ -459,11 +464,16 @@ static struct tw9910_video_info tw9910_info = {
        .mpout          = TW9910_MPO_FIELD,
 };
 
-static struct soc_camera_link tw9910_link = {
-       .power          = tw9910_power,
-       .board_info     = &migor_i2c_camera[1],
-       .i2c_adapter_id = 0,
-       .priv           = &tw9910_info,
+static struct soc_camera_desc tw9910_link = {
+       .subdev_desc    = {
+               .sd_pdata.host_priv = &tw9910_link,
+               .power          = tw9910_power,
+               .drv_priv       = &tw9910_info,
+       },
+       .host_desc      = {
+               .board_info     = &migor_i2c_camera[1],
+               .i2c_adapter_id = 0,
+       },
 };
 
 static struct platform_device migor_camera[] = {
-- 
1.7.2.5

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to