[media] davinci: vpif_capture: remove hard-coded I2C adapter id
authorKevin Hilman <khilman@baylibre.com>
Wed, 7 Dec 2016 18:30:22 +0000 (16:30 -0200)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Tue, 31 Jan 2017 09:59:12 +0000 (07:59 -0200)
Remove hard-coded I2C adapter in favor of getting the
ID from platform_data.

Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/platform/davinci/vpif_capture.c
include/media/davinci/vpif_types.h

index d489f04..54c4397 100644 (file)
@@ -1475,7 +1475,10 @@ static __init int vpif_probe(struct platform_device *pdev)
        }
 
        if (!vpif_obj.config->asd_sizes) {
-               i2c_adap = i2c_get_adapter(1);
+               int i2c_id = vpif_obj.config->i2c_adapter_id;
+
+               i2c_adap = i2c_get_adapter(i2c_id);
+               WARN_ON(!i2c_adap);
                for (i = 0; i < subdev_count; i++) {
                        subdevdata = &vpif_obj.config->subdev_info[i];
                        vpif_obj.sd[i] =
index 11b0516..c49c306 100644 (file)
@@ -78,6 +78,7 @@ struct vpif_capture_config {
        struct vpif_capture_chan_config chan_config[VPIF_CAPTURE_MAX_CHANNELS];
        struct vpif_subdev_info *subdev_info;
        int subdev_count;
+       int i2c_adapter_id;
        const char *card_name;
        struct v4l2_async_subdev **asd; /* Flat array, arranged in groups */
        int *asd_sizes;         /* 0-terminated array of asd group sizes */