V4L/DVB (5759): Tuner-simple: store tuning operations in tuner_operations struct
authorMichael Krufky <mkrufky@linuxtv.org>
Wed, 6 Jun 2007 19:17:57 +0000 (16:17 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Wed, 18 Jul 2007 17:24:06 +0000 (14:24 -0300)
Create static struct tuner_operations simple_tuner_ops
for tuner-simple tuning function callback pointers

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/tuner-simple.c

index fb4addb..fd23c1d 100644 (file)
@@ -479,6 +479,13 @@ static void default_set_radio_freq(struct i2c_client *c, unsigned int freq)
                tuner_warn("i2c i/o error: rc == %d (should be 4)\n",rc);
 }
 
+static struct tuner_operations simple_tuner_ops = {
+       .set_tv_freq    = default_set_tv_freq,
+       .set_radio_freq = default_set_radio_freq,
+       .has_signal     = tuner_signal,
+       .is_stereo      = tuner_stereo,
+};
+
 int default_tuner_init(struct i2c_client *c)
 {
        struct tuner *t = i2c_get_clientdata(c);
@@ -487,11 +494,7 @@ int default_tuner_init(struct i2c_client *c)
                   t->type, tuners[t->type].name);
        strlcpy(c->name, tuners[t->type].name, sizeof(c->name));
 
-       t->ops.set_tv_freq = default_set_tv_freq;
-       t->ops.set_radio_freq = default_set_radio_freq;
-       t->ops.has_signal = tuner_signal;
-       t->ops.is_stereo = tuner_stereo;
-       t->ops.standby = NULL;
+       memcpy(&t->ops, &simple_tuner_ops, sizeof(struct tuner_operations));
 
        return 0;
 }