Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bc974305 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

V4L/DVB (9969): tvp5150: add support for VIDIOC_G_CHIP_IDENT ioctl

parent b3ee7e21
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@
#include <media/v4l2-device.h>
#include <media/tvp5150.h>
#include <media/v4l2-i2c-drv-legacy.h>
#include <media/v4l2-chip-ident.h>

#include "tvp5150_reg.h"

@@ -961,6 +962,20 @@ static int tvp5150_g_fmt(struct v4l2_subdev *sd, struct v4l2_format *fmt)
}


static int tvp5150_g_chip_ident(struct v4l2_subdev *sd,
				struct v4l2_chip_ident *chip)
{
	int rev;
	struct i2c_client *client = v4l2_get_subdevdata(sd);

	rev = tvp5150_read(sd, TVP5150_ROM_MAJOR_VER) << 8 |
	      tvp5150_read(sd, TVP5150_ROM_MINOR_VER);

	return v4l2_chip_ident_i2c_client(client, chip, V4L2_IDENT_TVP5150,
					  rev);
}


#ifdef CONFIG_VIDEO_ADV_DEBUG
static int tvp5150_g_register(struct v4l2_subdev *sd, struct v4l2_register *reg)
{
@@ -1026,6 +1041,7 @@ static const struct v4l2_subdev_core_ops tvp5150_core_ops = {
	.s_ctrl = tvp5150_s_ctrl,
	.queryctrl = tvp5150_queryctrl,
	.reset = tvp5150_reset,
	.g_chip_ident = tvp5150_g_chip_ident,
#ifdef CONFIG_VIDEO_ADV_DEBUG
	.g_register = tvp5150_g_register,
	.s_register = tvp5150_s_register,
+3 −0
Original line number Diff line number Diff line
@@ -70,6 +70,9 @@ enum {
	/* module vp27smpx: just ident 2700 */
	V4L2_IDENT_VP27SMPX = 2700,

	/* module tvp5150 */
	V4L2_IDENT_TVP5150 = 5150,

	/* module cs5345: just ident 5345 */
	V4L2_IDENT_CS5345 = 5345,