Replace custom subdev registration with a call to
v4l2_new_subdev_board().

Signed-off-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
---
 drivers/media/video/omap3isp/isp.c |   32 +++++++++-----------------------
 drivers/media/video/omap3isp/isp.h |    7 +------
 2 files changed, 10 insertions(+), 29 deletions(-)

diff --git a/drivers/media/video/omap3isp/isp.c 
b/drivers/media/video/omap3isp/isp.c
index 472a693..8280165 100644
--- a/drivers/media/video/omap3isp/isp.c
+++ b/drivers/media/video/omap3isp/isp.c
@@ -1642,9 +1642,9 @@ static void isp_unregister_entities(struct isp_device 
*isp)
 /*
  * isp_register_subdev_group - Register a group of subdevices
  * @isp: OMAP3 ISP device
- * @board_info: I2C subdevs board information array
+ * @board_info: V4L2 subdevs board information array
  *
- * Register all I2C subdevices in the board_info array. The array must be
+ * Register all V4L2 subdevices in the board_info array. The array must be
  * terminated by a NULL entry, and the first entry must be the sensor.
  *
  * Return a pointer to the sensor media entity if it has been successfully
@@ -1652,36 +1652,22 @@ static void isp_unregister_entities(struct isp_device 
*isp)
  */
 static struct v4l2_subdev *
 isp_register_subdev_group(struct isp_device *isp,
-                    struct isp_subdev_i2c_board_info *board_info)
+                    struct v4l2_subdev_board_info *board_info)
 {
        struct v4l2_subdev *sensor = NULL;
-       unsigned int first;
-
-       if (board_info->board_info == NULL)
-               return NULL;
+       unsigned int i;
 
-       for (first = 1; board_info->board_info; ++board_info, first = 0) {
+       for (i = 0; board_info; ++board_info, ++i) {
                struct v4l2_subdev *subdev;
-               struct i2c_adapter *adapter;
-
-               adapter = i2c_get_adapter(board_info->i2c_adapter_id);
-               if (adapter == NULL) {
-                       printk(KERN_ERR "%s: Unable to get I2C adapter %d for "
-                               "device %s\n", __func__,
-                               board_info->i2c_adapter_id,
-                               board_info->board_info->type);
-                       continue;
-               }
 
-               subdev = v4l2_i2c_new_subdev_board(&isp->v4l2_dev, adapter,
-                               board_info->board_info, NULL);
+               subdev = v4l2_new_subdev_board(&isp->v4l2_dev, board_info);
                if (subdev == NULL) {
-                       printk(KERN_ERR "%s: Unable to register subdev %s\n",
-                               __func__, board_info->board_info->type);
+                       printk(KERN_ERR "%s: Unable to register subdev %u\n",
+                               __func__, i);
                        continue;
                }
 
-               if (first)
+               if (i == 0)
                        sensor = subdev;
        }
 
diff --git a/drivers/media/video/omap3isp/isp.h 
b/drivers/media/video/omap3isp/isp.h
index 2620c40..c3ecc36 100644
--- a/drivers/media/video/omap3isp/isp.h
+++ b/drivers/media/video/omap3isp/isp.h
@@ -180,13 +180,8 @@ struct isp_csi2_platform_data {
        unsigned vpclk_div:2;
 };
 
-struct isp_subdev_i2c_board_info {
-       struct i2c_board_info *board_info;
-       int i2c_adapter_id;
-};
-
 struct isp_v4l2_subdevs_group {
-       struct isp_subdev_i2c_board_info *subdevs;
+       struct v4l2_subdev_board_info *subdevs;
        enum isp_interface_type interface;
        union {
                struct isp_parallel_platform_data parallel;
-- 
1.7.3.4

--
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