From a55db8cd7f8a107f3abcb4c803b1873b2be63663 Mon Sep 17 00:00:00 2001 From: Michael Krufky Date: Sun, 9 Dec 2007 13:52:51 -0300 Subject: [PATCH] V4L/DVB (6786): tuner: add struct analog_demod_info to struct analog_tuner_ops Store the analog demodulator name in fe.ops.analog_demod_ops.info.name Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab --- drivers/media/video/tda8290.c | 6 ++++++ drivers/media/video/tda9887.c | 3 +++ drivers/media/video/tuner-core.c | 3 +++ drivers/media/video/tuner-driver.h | 7 +++++++ 4 files changed, 19 insertions(+) diff --git a/drivers/media/video/tda8290.c b/drivers/media/video/tda8290.c index d0d13bc6125..403f96f998e 100644 --- a/drivers/media/video/tda8290.c +++ b/drivers/media/video/tda8290.c @@ -636,6 +636,9 @@ static int tda8295_probe(struct tuner_i2c_props *i2c_props) } static struct analog_tuner_ops tda8290_tuner_ops = { + .info = { + .name = "TDA8290", + }, .set_params = tda8290_set_params, .has_signal = tda8290_has_signal, .standby = tda8290_standby, @@ -644,6 +647,9 @@ static struct analog_tuner_ops tda8290_tuner_ops = { }; static struct analog_tuner_ops tda8295_tuner_ops = { + .info = { + .name = "TDA8295", + }, .set_params = tda8295_set_params, .has_signal = tda8295_has_signal, .standby = tda8295_standby, diff --git a/drivers/media/video/tda9887.c b/drivers/media/video/tda9887.c index 98d45c4912b..8a95f097ba2 100644 --- a/drivers/media/video/tda9887.c +++ b/drivers/media/video/tda9887.c @@ -636,6 +636,9 @@ static void tda9887_release(struct dvb_frontend *fe) } static struct analog_tuner_ops tda9887_tuner_ops = { + .info = { + .name = "TDA9887", + }, .set_params = tda9887_set_params, .standby = tda9887_standby, .tuner_status = tda9887_tuner_status, diff --git a/drivers/media/video/tuner-core.c b/drivers/media/video/tuner-core.c index 0cc190761e2..59e67c92575 100644 --- a/drivers/media/video/tuner-core.c +++ b/drivers/media/video/tuner-core.c @@ -410,6 +410,9 @@ static void set_type(struct i2c_client *c, unsigned int type, t->fe.ops.analog_demod_ops = &tuner_core_ops; t->fe.analog_demod_priv = t; + } else { + strlcpy(t->i2c->name, ops->info.name, + sizeof(t->i2c->name)); } tuner_dbg("type set to %s\n", t->i2c->name); diff --git a/drivers/media/video/tuner-driver.h b/drivers/media/video/tuner-driver.h index a215161d024..c245f501a31 100644 --- a/drivers/media/video/tuner-driver.h +++ b/drivers/media/video/tuner-driver.h @@ -28,7 +28,14 @@ extern unsigned const int tuner_count; +struct analog_demod_info { + char name[128]; +}; + struct analog_tuner_ops { + + struct analog_demod_info info; + void (*set_params)(struct dvb_frontend *fe, struct analog_parameters *params); int (*has_signal)(struct dvb_frontend *fe); -- 2.39.5