[media] tc358743: Add enum_mbus_code
authorDave Stevenson <dave.stevenson@raspberrypi.org>
Fri, 2 Jun 2017 12:18:12 +0000 (09:18 -0300)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Wed, 7 Jun 2017 12:29:48 +0000 (09:29 -0300)
There was no way to query the supported mbus formats from this
driver. enum_mbus_code is the function to expose that, so
implement it.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/i2c/tc358743.c

index 8f8bb9ee3e6db7efc3947a829bd4f318665048cf..6ba65c783161e2668aa50d885dff7fe2c3d5adf6 100644 (file)
@@ -1474,6 +1474,23 @@ static int tc358743_s_stream(struct v4l2_subdev *sd, int enable)
 
 /* --------------- PAD OPS --------------- */
 
+static int tc358743_enum_mbus_code(struct v4l2_subdev *sd,
+               struct v4l2_subdev_pad_config *cfg,
+               struct v4l2_subdev_mbus_code_enum *code)
+{
+       switch (code->index) {
+       case 0:
+               code->code = MEDIA_BUS_FMT_RGB888_1X24;
+               break;
+       case 1:
+               code->code = MEDIA_BUS_FMT_UYVY8_1X16;
+               break;
+       default:
+               return -EINVAL;
+       }
+       return 0;
+}
+
 static int tc358743_get_fmt(struct v4l2_subdev *sd,
                struct v4l2_subdev_pad_config *cfg,
                struct v4l2_subdev_format *format)
@@ -1643,6 +1660,7 @@ static const struct v4l2_subdev_video_ops tc358743_video_ops = {
 };
 
 static const struct v4l2_subdev_pad_ops tc358743_pad_ops = {
+       .enum_mbus_code = tc358743_enum_mbus_code,
        .set_fmt = tc358743_set_fmt,
        .get_fmt = tc358743_get_fmt,
        .get_edid = tc358743_g_edid,