summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2008-04-22 14:41:50 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-04-24 13:42:23 -0300
commit65e8d29f7a37faaf9c73c633447bebd4b31b2c89 (patch)
tree9e4d72f4a6710d3435ae51499d74cdf2c7a8f916
parent82b3083d2673e5fe8ac508071038b2b4c10bbf9c (diff)
V4L/DVB (7126): tuner: move tuner type ID check to simple_tuner_attach
Move tuner type ID check from tuner-core::set_type to simple_tuner_attach. Since tuner-core forwards all attach requests to tuner-simple as the default case, unless a specific attach function is specified in set_type, this change is an appropriate cleanup. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r--drivers/media/video/tuner-core.c5
-rw-r--r--drivers/media/video/tuner-simple.c6
2 files changed, 6 insertions, 5 deletions
diff --git a/drivers/media/video/tuner-core.c b/drivers/media/video/tuner-core.c
index 770dbcbecb63..4d791766ce11 100644
--- a/drivers/media/video/tuner-core.c
+++ b/drivers/media/video/tuner-core.c
@@ -352,11 +352,6 @@ static void set_type(struct i2c_client *c, unsigned int type,
return;
}
- if (type >= tuner_count) {
- tuner_warn ("tuner 0x%02x: Tuner count greater than %d\n",c->addr,tuner_count);
- return;
- }
-
t->type = type;
t->config = new_config;
if (tuner_callback != NULL) {
diff --git a/drivers/media/video/tuner-simple.c b/drivers/media/video/tuner-simple.c
index 85556d44c8ab..d3362703e258 100644
--- a/drivers/media/video/tuner-simple.c
+++ b/drivers/media/video/tuner-simple.c
@@ -688,6 +688,12 @@ struct dvb_frontend *simple_tuner_attach(struct dvb_frontend *fe,
{
struct tuner_simple_priv *priv = NULL;
+ if (type >= tuner_count) {
+ printk(KERN_WARNING "%s: invalid tuner type: %d (max: %d)\n",
+ __FUNCTION__, type, tuner_count-1);
+ return NULL;
+ }
+
priv = kzalloc(sizeof(struct tuner_simple_priv), GFP_KERNEL);
if (priv == NULL)
return NULL;