aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2009-02-11 17:28:30 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 11:42:45 -0400
commitf1f8c907b752ed281b1b4e6ca3605db50a8d6250 (patch)
treeb37a3112f8d86cab7448020e56a82b8700e8c651
parentc3fda7f835b025f3c020fa0865086fd23609e7ca (diff)
V4L/DVB (10538): saa6588: add g_chip_ident support.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/video/saa6588.c9
-rw-r--r--include/media/v4l2-chip-ident.h3
2 files changed, 12 insertions, 0 deletions
diff --git a/drivers/media/video/saa6588.c b/drivers/media/video/saa6588.c
index 4d31c320ac17..5f4e9858cb9d 100644
--- a/drivers/media/video/saa6588.c
+++ b/drivers/media/video/saa6588.c
@@ -33,6 +33,7 @@
33 33
34#include <media/rds.h> 34#include <media/rds.h>
35#include <media/v4l2-device.h> 35#include <media/v4l2-device.h>
36#include <media/v4l2-chip-ident.h>
36#include <media/v4l2-i2c-drv-legacy.h> 37#include <media/v4l2-i2c-drv-legacy.h>
37 38
38/* Addresses to scan */ 39/* Addresses to scan */
@@ -431,6 +432,13 @@ static long saa6588_ioctl(struct v4l2_subdev *sd, unsigned int cmd, void *arg)
431 return 0; 432 return 0;
432} 433}
433 434
435static int saa6588_g_chip_ident(struct v4l2_subdev *sd, struct v4l2_dbg_chip_ident *chip)
436{
437 struct i2c_client *client = v4l2_get_subdevdata(sd);
438
439 return v4l2_chip_ident_i2c_client(client, chip, V4L2_IDENT_SAA6588, 0);
440}
441
434static int saa6588_command(struct i2c_client *client, unsigned cmd, void *arg) 442static int saa6588_command(struct i2c_client *client, unsigned cmd, void *arg)
435{ 443{
436 return v4l2_subdev_command(i2c_get_clientdata(client), cmd, arg); 444 return v4l2_subdev_command(i2c_get_clientdata(client), cmd, arg);
@@ -439,6 +447,7 @@ static int saa6588_command(struct i2c_client *client, unsigned cmd, void *arg)
439/* ----------------------------------------------------------------------- */ 447/* ----------------------------------------------------------------------- */
440 448
441static const struct v4l2_subdev_core_ops saa6588_core_ops = { 449static const struct v4l2_subdev_core_ops saa6588_core_ops = {
450 .g_chip_ident = saa6588_g_chip_ident,
442 .ioctl = saa6588_ioctl, 451 .ioctl = saa6588_ioctl,
443}; 452};
444 453
diff --git a/include/media/v4l2-chip-ident.h b/include/media/v4l2-chip-ident.h
index 4e2182e52a8e..bbe2bb6a596a 100644
--- a/include/media/v4l2-chip-ident.h
+++ b/include/media/v4l2-chip-ident.h
@@ -92,6 +92,9 @@ enum {
92 /* module tea6420: just ident 6420 */ 92 /* module tea6420: just ident 6420 */
93 V4L2_IDENT_TEA6420 = 6420, 93 V4L2_IDENT_TEA6420 = 6420,
94 94
95 /* module saa6588: just ident 6588 */
96 V4L2_IDENT_SAA6588 = 6588,
97
95 /* module saa6752hs: reserved range 6750-6759 */ 98 /* module saa6752hs: reserved range 6750-6759 */
96 V4L2_IDENT_SAA6752HS = 6752, 99 V4L2_IDENT_SAA6752HS = 6752,
97 V4L2_IDENT_SAA6752HS_AC3 = 6753, 100 V4L2_IDENT_SAA6752HS_AC3 = 6753,