V4L/DVB (5756): Tda9887: store tuning operations in tuner_operations structure
authorMichael Krufky <mkrufky@linuxtv.org>
Wed, 6 Jun 2007 19:15:48 +0000 (16:15 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Wed, 18 Jul 2007 17:24:04 +0000 (14:24 -0300)
Create static struct tuner_operations tda9887_tuner_ops
for tda9887 tuning function callback pointers

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

index 5bb7d19edfbcdeab0b6d21a292947a9f171d0a31..caca1092790ec61a04f02206415f18c06eaff32d 100644 (file)
@@ -599,6 +599,15 @@ static void tda9887_release(struct i2c_client *c)
        t->priv = NULL;
 }
 
+static struct tuner_operations tda9887_tuner_ops = {
+       .set_tv_freq    = tda9887_set_freq,
+       .set_radio_freq = tda9887_set_freq,
+       .standby        = tda9887_standby,
+       .tuner_status   = tda9887_tuner_status,
+       .get_afc        = tda9887_get_afc,
+       .release        = tda9887_release,
+};
+
 int tda9887_tuner_init(struct i2c_client *c)
 {
        struct tda9887_priv *priv = NULL;
@@ -614,12 +623,7 @@ int tda9887_tuner_init(struct i2c_client *c)
        tda9887_info("tda988[5/6/7] found @ 0x%x (%s)\n", t->i2c.addr,
                                                t->i2c.driver->driver.name);
 
-       t->ops.set_tv_freq = tda9887_set_freq;
-       t->ops.set_radio_freq = tda9887_set_freq;
-       t->ops.standby = tda9887_standby;
-       t->ops.tuner_status = tda9887_tuner_status;
-       t->ops.get_afc = tda9887_get_afc;
-       t->ops.release = tda9887_release;
+       memcpy(&t->ops, &tda9887_tuner_ops, sizeof(struct tuner_operations));
 
        return 0;
 }