diff options
author | Sakari Ailus <sakari.ailus@linux.intel.com> | 2016-09-05 10:02:09 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2016-10-21 14:18:24 -0200 |
commit | cc1488a1fcdcf8fee3ca12c82f5a48745b7fa45d (patch) | |
tree | b1434aef960b57f99c747ecd4fdbec4de91863d0 /drivers/media/i2c/smiapp | |
parent | b7547ef8670057b1143e9a47a300180db97a0e5b (diff) |
[media] smiapp: Explicitly define number of pads in initialisation
Define the number of pads explicitly in initialising the sub-devices.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media/i2c/smiapp')
-rw-r--r-- | drivers/media/i2c/smiapp/smiapp-core.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/drivers/media/i2c/smiapp/smiapp-core.c b/drivers/media/i2c/smiapp/smiapp-core.c index 957e37e1c25f..2090b7f2b9aa 100644 --- a/drivers/media/i2c/smiapp/smiapp-core.c +++ b/drivers/media/i2c/smiapp/smiapp-core.c @@ -2536,7 +2536,8 @@ static void smiapp_cleanup(struct smiapp_sensor *sensor) } static void smiapp_create_subdev(struct smiapp_sensor *sensor, - struct smiapp_subdev *ssd, const char *name) + struct smiapp_subdev *ssd, const char *name, + unsigned short num_pads) { struct i2c_client *client = v4l2_get_subdevdata(&sensor->src->sd); @@ -2548,12 +2549,8 @@ static void smiapp_create_subdev(struct smiapp_sensor *sensor, ssd->sensor = sensor; - if (ssd == sensor->pixel_array) { - ssd->npads = 1; - } else { - ssd->npads = 2; - ssd->source_pad = 1; - } + ssd->npads = num_pads; + ssd->source_pad = num_pads - 1; snprintf(ssd->sd.name, sizeof(ssd->sd.name), "%s %s %d-%4.4x", sensor->minfo.name, @@ -2747,9 +2744,9 @@ static int smiapp_init(struct smiapp_sensor *sensor) if (sensor->minfo.smiapp_profile == SMIAPP_PROFILE_0) pll->flags |= SMIAPP_PLL_FLAG_NO_OP_CLOCKS; - smiapp_create_subdev(sensor, sensor->scaler, "scaler"); - smiapp_create_subdev(sensor, sensor->binner, "binner"); - smiapp_create_subdev(sensor, sensor->pixel_array, "pixel_array"); + smiapp_create_subdev(sensor, sensor->scaler, "scaler", 2); + smiapp_create_subdev(sensor, sensor->binner, "binner", 2); + smiapp_create_subdev(sensor, sensor->pixel_array, "pixel_array", 1); dev_dbg(&client->dev, "profile %d\n", sensor->minfo.smiapp_profile); |