diff options
Diffstat (limited to 'drivers/media/dvb')
-rw-r--r-- | drivers/media/dvb/frontends/xc5000.c | 4 | ||||
-rw-r--r-- | drivers/media/dvb/frontends/xc5000.h | 12 |
2 files changed, 12 insertions, 4 deletions
diff --git a/drivers/media/dvb/frontends/xc5000.c b/drivers/media/dvb/frontends/xc5000.c index 28048d5307a..a0705a640ba 100644 --- a/drivers/media/dvb/frontends/xc5000.c +++ b/drivers/media/dvb/frontends/xc5000.c @@ -22,7 +22,7 @@ #include <linux/module.h> #include <linux/moduleparam.h> -#include <linux/videodev2.h> +#include <linux/videodev.h> #include <linux/delay.h> #include <linux/dvb/frontend.h> #include <linux/i2c.h> @@ -212,7 +212,7 @@ static void xc5000_TunerReset(struct dvb_frontend *fe) dprintk(1, "%s()\n", __FUNCTION__); if (priv->cfg->tuner_callback) { - ret = priv->cfg->tuner_callback(priv->cfg->video_dev, + ret = priv->cfg->tuner_callback(priv->cfg->priv, XC5000_TUNER_RESET, 0); if (ret) printk(KERN_ERR "xc5000: reset failed\n"); diff --git a/drivers/media/dvb/frontends/xc5000.h b/drivers/media/dvb/frontends/xc5000.h index 85b2d438fa4..e0e84562aed 100644 --- a/drivers/media/dvb/frontends/xc5000.h +++ b/drivers/media/dvb/frontends/xc5000.h @@ -30,8 +30,16 @@ struct i2c_adapter; struct xc5000_config { u8 i2c_address; u32 if_khz; - void *video_dev; - int (*tuner_callback) (void *dev, int command, int arg); + + /* For each bridge framework, when it attaches either analog or digital, + * it has to store a reference back to its _core equivalent structure, + * so that it can service the hardware by steering gpio's etc. + * Each bridge implementation is different so cast priv accordingly. + * The xc5000 driver cares not for this value, other than ensuring + * it's passed back to a bridge during tuner_callback(). + */ + void *priv; + int (*tuner_callback) (void *priv, int command, int arg); }; /* xc5000 callback command */ |