Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=73c993a8294077ae1b724286da8ac323c25d90db
Commit:     73c993a8294077ae1b724286da8ac323c25d90db
Parent:     8c70017f5793e68ea48085a65008d713c9a85dde
Author:     Steven Toth <[EMAIL PROTECTED]>
AuthorDate: Sat Jan 5 17:08:05 2008 -0300
Committer:  Mauro Carvalho Chehab <[EMAIL PROTECTED]>
CommitDate: Fri Jan 25 19:05:07 2008 -0200

    V4L/DVB (7045): xc5000: Small amount of cleanup and commenting
    
    xc5000: Small amount of cleanup and commenting, just for clarification.
    
    Signed-off-by: Steven Toth <[EMAIL PROTECTED]>
    Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
---
 drivers/media/dvb/frontends/xc5000.c        |    4 ++--
 drivers/media/dvb/frontends/xc5000.h        |   12 ++++++++++--
 drivers/media/video/cx23885/cx23885-cards.c |    6 +++---
 drivers/media/video/cx23885/cx23885-dvb.c   |    7 +------
 drivers/media/video/cx23885/cx23885.h       |    2 +-
 drivers/media/video/cx88/cx88-cards.c       |    7 +++----
 drivers/media/video/cx88/cx88-dvb.c         |    3 +--
 drivers/media/video/tuner-core.c            |    2 +-
 8 files changed, 22 insertions(+), 21 deletions(-)

diff --git a/drivers/media/dvb/frontends/xc5000.c 
b/drivers/media/dvb/frontends/xc5000.c
index 28048d5..a0705a6 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 85b2d43..e0e8456 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 */
diff --git a/drivers/media/video/cx23885/cx23885-cards.c 
b/drivers/media/video/cx23885/cx23885-cards.c
index ee3f1b0..2d414da 100644
--- a/drivers/media/video/cx23885/cx23885-cards.c
+++ b/drivers/media/video/cx23885/cx23885-cards.c
@@ -247,9 +247,9 @@ static void hauppauge_eeprom(struct cx23885_dev *dev, u8 
*eeprom_data)
 /* Tuner callback function for cx23885 boards. Currently only needed
  * for HVR1500Q, which has an xc5000 tuner.
  */
-int cx23885_tuner_callback(void *i2c_bus, int command, int arg)
+int cx23885_tuner_callback(void *priv, int command, int arg)
 {
-       struct cx23885_i2c *bus = i2c_bus;
+       struct cx23885_i2c *bus = priv;
        struct cx23885_dev *dev = bus->dev;
 
        switch(dev->board) {
@@ -271,7 +271,7 @@ int cx23885_tuner_callback(void *i2c_bus, int command, int 
arg)
 
        return 0; /* Should never be here */
 }
-EXPORT_SYMBOL(cx23885_tuner_callback);
+
 void cx23885_gpio_setup(struct cx23885_dev *dev)
 {
        switch(dev->board) {
diff --git a/drivers/media/video/cx23885/cx23885-dvb.c 
b/drivers/media/video/cx23885/cx23885-dvb.c
index 61d75d0..ed465c0 100644
--- a/drivers/media/video/cx23885/cx23885-dvb.c
+++ b/drivers/media/video/cx23885/cx23885-dvb.c
@@ -156,7 +156,6 @@ static struct s5h1409_config hauppauge_hvr1500q_config = {
 static struct xc5000_config hauppauge_hvr1500q_tunerconfig = {
        .i2c_address      = 0x61,
        .if_khz           = 5380,
-       /* cannot set .video_dev here, do it before attach. */
        .tuner_callback   = cx23885_tuner_callback
 };
 
@@ -282,11 +281,7 @@ static int dvb_register(struct cx23885_tsport *port)
                                                &hauppauge_hvr1500q_config,
                                                &dev->i2c_bus[0].i2c_adap);
                if (port->dvb.frontend != NULL) {
-                       /* tunerconfig.video_dev must point to
-                        * i2c_adap.algo_data
-                        */
-                       hauppauge_hvr1500q_tunerconfig.video_dev =
-                               i2c_bus->i2c_adap.algo_data;
+                       hauppauge_hvr1500q_tunerconfig.priv = i2c_bus;
                        dvb_attach(xc5000_attach, port->dvb.frontend,
                                &i2c_bus->i2c_adap,
                                &hauppauge_hvr1500q_tunerconfig);
diff --git a/drivers/media/video/cx23885/cx23885.h 
b/drivers/media/video/cx23885/cx23885.h
index ac9a766..7cb2179 100644
--- a/drivers/media/video/cx23885/cx23885.h
+++ b/drivers/media/video/cx23885/cx23885.h
@@ -393,7 +393,7 @@ extern const unsigned int cx23885_bcount;
 extern struct cx23885_subid cx23885_subids[];
 extern const unsigned int cx23885_idcount;
 
-extern int cx23885_tuner_callback(void *i2c_bus, int command, int arg);
+extern int cx23885_tuner_callback(void *priv, int command, int arg);
 extern void cx23885_card_list(struct cx23885_dev *dev);
 extern int  cx23885_ir_init(struct cx23885_dev *dev);
 extern void cx23885_gpio_setup(struct cx23885_dev *dev);
diff --git a/drivers/media/video/cx88/cx88-cards.c 
b/drivers/media/video/cx88/cx88-cards.c
index 3ba3157..2542909 100644
--- a/drivers/media/video/cx88/cx88-cards.c
+++ b/drivers/media/video/cx88/cx88-cards.c
@@ -1885,10 +1885,10 @@ static void dvico_fusionhdtv_hybrid_init(struct 
cx88_core *core)
  * PCTV HD 800i with an xc5000 sillicon tuner. This is used for both      *
  * analog tuner attach (tuner-core.c) and dvb tuner attach (cx88-dvb.c)    */
 
-int cx88_tuner_callback(void *i2c_algo, int command, int arg)
+int cx88_tuner_callback(void *priv, int command, int arg)
 {
-       struct i2c_algo_bit_data *algo = i2c_algo;
-       struct cx88_core *core = algo->data;
+       struct i2c_algo_bit_data *i2c_algo = priv;
+       struct cx88_core *core = i2c_algo->data;
 
        switch(core->boardnr) {
        case CX88_BOARD_PINNACLE_PCTV_HD_800i:
@@ -1898,7 +1898,6 @@ int cx88_tuner_callback(void *i2c_algo, int command, int 
arg)
                        cx_clear(MO_GP0_IO, 0x00000004);
                        mdelay(200);
                        cx_set(MO_GP0_IO, 0x00000004);
-                       printk(KERN_ERR "xc5000: in reset for xc5000\n");
                        mdelay(200);
                        return 0;
                }
diff --git a/drivers/media/video/cx88/cx88-dvb.c 
b/drivers/media/video/cx88/cx88-dvb.c
index 0246f97..c852efc 100644
--- a/drivers/media/video/cx88/cx88-dvb.c
+++ b/drivers/media/video/cx88/cx88-dvb.c
@@ -385,7 +385,6 @@ static struct s5h1409_config pinnacle_pctv_hd_800i_config = 
{
 static struct xc5000_config pinnacle_pctv_hd_800i_tuner_config = {
        .i2c_address    = 0x64,
        .if_khz         = 5380,
-       /* cannot set .video_dev here, do it right before attach */
        .tuner_callback = cx88_tuner_callback,
 };
 
@@ -654,7 +653,7 @@ static int dvb_register(struct cx8802_dev *dev)
                        /* tuner_config.video_dev must point to
                         * i2c_adap.algo_data
                         */
-                       pinnacle_pctv_hd_800i_tuner_config.video_dev =
+                       pinnacle_pctv_hd_800i_tuner_config.priv =
                                                dev->core->i2c_adap.algo_data;
                        dvb_attach(xc5000_attach, dev->dvb.frontend,
                                   &dev->core->i2c_adap,
diff --git a/drivers/media/video/tuner-core.c b/drivers/media/video/tuner-core.c
index 16cdeea..8e406b1 100644
--- a/drivers/media/video/tuner-core.c
+++ b/drivers/media/video/tuner-core.c
@@ -434,7 +434,7 @@ static void set_type(struct i2c_client *c, unsigned int 
type,
        case TUNER_XC5000:
                xc5000_cfg.i2c_address    = t->i2c->addr;
                xc5000_cfg.if_khz         = 5380;
-               xc5000_cfg.video_dev      = c->adapter->algo_data;
+               xc5000_cfg.priv           = c->adapter->algo_data;
                xc5000_cfg.tuner_callback = t->tuner_callback;
                if (!xc5000_attach(&t->fe, t->i2c->adapter, &xc5000_cfg)) {
                        t->type = TUNER_ABSENT;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to