Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=16f291684c50497cc92e83f01d354fae187d1f18
Commit:     16f291684c50497cc92e83f01d354fae187d1f18
Parent:     e2be32ac8017d1bcb293f8c11c046ff654991385
Author:     Michael Krufky <[EMAIL PROTECTED]>
AuthorDate: Sun Oct 21 15:22:25 2007 -0300
Committer:  Mauro Carvalho Chehab <[EMAIL PROTECTED]>
CommitDate: Fri Jan 25 19:01:08 2008 -0200

    V4L/DVB (6438): tuner: move analog_demod_priv into struct dvb_frontend
    
    Signed-off-by: Michael Krufky <[EMAIL PROTECTED]>
    Reviewed-by: Hans Verkuil <[EMAIL PROTECTED]>
    Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
---
 drivers/media/dvb/dvb-core/dvb_frontend.h |    1 +
 drivers/media/video/tda8290.c             |   40 ++++++++++++++--------------
 drivers/media/video/tda9887.c             |   14 +++++-----
 drivers/media/video/tuner-core.c          |    8 +-----
 drivers/media/video/tuner-driver.h        |    1 -
 5 files changed, 29 insertions(+), 35 deletions(-)

diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.h 
b/drivers/media/dvb/dvb-core/dvb_frontend.h
index 0dd0c67..f93c5db 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.h
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.h
@@ -169,6 +169,7 @@ struct dvb_frontend {
        void* tuner_priv;
        void* frontend_priv;
        void* sec_priv;
+       void* analog_demod_priv;
 };
 
 extern int dvb_register_frontend(struct dvb_adapter* dvb,
diff --git a/drivers/media/video/tda8290.c b/drivers/media/video/tda8290.c
index da5e5a8..e001c39 100644
--- a/drivers/media/video/tda8290.c
+++ b/drivers/media/video/tda8290.c
@@ -50,7 +50,7 @@ struct tda8290_priv {
 
 static void tda8290_i2c_bridge(struct tuner *t, int close)
 {
-       struct tda8290_priv *priv = t->priv;
+       struct tda8290_priv *priv = t->fe.analog_demod_priv;
 
        unsigned char  enable[2] = { 0x21, 0xC0 };
        unsigned char disable[2] = { 0x21, 0x00 };
@@ -68,7 +68,7 @@ static void tda8290_i2c_bridge(struct tuner *t, int close)
 
 static void tda8295_i2c_bridge(struct tuner *t, int close)
 {
-       struct tda8290_priv *priv = t->priv;
+       struct tda8290_priv *priv = t->fe.analog_demod_priv;
 
        unsigned char  enable[2] = { 0x45, 0xc1 };
        unsigned char disable[2] = { 0x46, 0x00 };
@@ -98,7 +98,7 @@ static void tda8295_i2c_bridge(struct tuner *t, int close)
 
 static void set_audio(struct tuner *t)
 {
-       struct tda8290_priv *priv = t->priv;
+       struct tda8290_priv *priv = t->fe.analog_demod_priv;
        char* mode;
 
        priv->cfg.tda827x_lpsel = 0;
@@ -145,7 +145,7 @@ static void set_audio(struct tuner *t)
 
 static void tda8290_set_freq(struct tuner *t, unsigned int freq)
 {
-       struct tda8290_priv *priv = t->priv;
+       struct tda8290_priv *priv = t->fe.analog_demod_priv;
        unsigned char soft_reset[]  = { 0x00, 0x00 };
        unsigned char easy_mode[]   = { 0x01, priv->tda8290_easy_mode };
        unsigned char expert_mode[] = { 0x01, 0x80 };
@@ -264,7 +264,7 @@ static void tda8290_set_freq(struct tuner *t, unsigned int 
freq)
 
 static void tda8295_power(struct tuner *t, int enable)
 {
-       struct tda8290_priv *priv = t->priv;
+       struct tda8290_priv *priv = t->fe.analog_demod_priv;
        unsigned char buf[] = { 0x30, 0x00 }; /* clb_stdbt */
 
        tuner_i2c_xfer_send(&priv->i2c_props, &buf[0], 1);
@@ -280,7 +280,7 @@ static void tda8295_power(struct tuner *t, int enable)
 
 static void tda8295_set_easy_mode(struct tuner *t, int enable)
 {
-       struct tda8290_priv *priv = t->priv;
+       struct tda8290_priv *priv = t->fe.analog_demod_priv;
        unsigned char buf[] = { 0x01, 0x00 };
 
        tuner_i2c_xfer_send(&priv->i2c_props, &buf[0], 1);
@@ -296,7 +296,7 @@ static void tda8295_set_easy_mode(struct tuner *t, int 
enable)
 
 static void tda8295_set_video_std(struct tuner *t)
 {
-       struct tda8290_priv *priv = t->priv;
+       struct tda8290_priv *priv = t->fe.analog_demod_priv;
        unsigned char buf[] = { 0x00, priv->tda8290_easy_mode };
 
        tuner_i2c_xfer_send(&priv->i2c_props, buf, 2);
@@ -310,7 +310,7 @@ static void tda8295_set_video_std(struct tuner *t)
 
 static void tda8295_agc1_out(struct tuner *t, int enable)
 {
-       struct tda8290_priv *priv = t->priv;
+       struct tda8290_priv *priv = t->fe.analog_demod_priv;
        unsigned char buf[] = { 0x02, 0x00 }; /* DIV_FUNC */
 
        tuner_i2c_xfer_send(&priv->i2c_props, &buf[0], 1);
@@ -326,7 +326,7 @@ static void tda8295_agc1_out(struct tuner *t, int enable)
 
 static void tda8295_agc2_out(struct tuner *t, int enable)
 {
-       struct tda8290_priv *priv = t->priv;
+       struct tda8290_priv *priv = t->fe.analog_demod_priv;
        unsigned char set_gpio_cf[]    = { 0x44, 0x00 };
        unsigned char set_gpio_val[]   = { 0x46, 0x00 };
 
@@ -347,7 +347,7 @@ static void tda8295_agc2_out(struct tuner *t, int enable)
 
 static int tda8295_has_signal(struct tuner *t)
 {
-       struct tda8290_priv *priv = t->priv;
+       struct tda8290_priv *priv = t->fe.analog_demod_priv;
 
        unsigned char hvpll_stat = 0x26;
        unsigned char ret;
@@ -361,7 +361,7 @@ static int tda8295_has_signal(struct tuner *t)
 
 static void tda8295_set_freq(struct tuner *t, unsigned int freq)
 {
-       struct tda8290_priv *priv = t->priv;
+       struct tda8290_priv *priv = t->fe.analog_demod_priv;
        u16 ifc;
 
        unsigned char blanking_mode[]     = { 0x1d, 0x00 };
@@ -411,7 +411,7 @@ static void tda8295_set_freq(struct tuner *t, unsigned int 
freq)
 
 static int tda8290_has_signal(struct tuner *t)
 {
-       struct tda8290_priv *priv = t->priv;
+       struct tda8290_priv *priv = t->fe.analog_demod_priv;
 
        unsigned char i2c_get_afc[1] = { 0x1B };
        unsigned char afc = 0;
@@ -425,7 +425,7 @@ static int tda8290_has_signal(struct tuner *t)
 
 static void tda8290_standby(struct tuner *t)
 {
-       struct tda8290_priv *priv = t->priv;
+       struct tda8290_priv *priv = t->fe.analog_demod_priv;
        unsigned char cb1[] = { 0x30, 0xD0 };
        unsigned char tda8290_standby[] = { 0x00, 0x02 };
        unsigned char tda8290_agc_tri[] = { 0x02, 0x20 };
@@ -449,7 +449,7 @@ static void tda8295_standby(struct tuner *t)
 
 static void tda8290_init_if(struct tuner *t)
 {
-       struct tda8290_priv *priv = t->priv;
+       struct tda8290_priv *priv = t->fe.analog_demod_priv;
 
        unsigned char set_VS[] = { 0x30, 0x6F };
        unsigned char set_GP00_CF[] = { 0x20, 0x01 };
@@ -464,7 +464,7 @@ static void tda8290_init_if(struct tuner *t)
 
 static void tda8295_init_if(struct tuner *t)
 {
-       struct tda8290_priv *priv = t->priv;
+       struct tda8290_priv *priv = t->fe.analog_demod_priv;
 
        static unsigned char set_adc_ctl[]       = { 0x33, 0x14 };
        static unsigned char set_adc_ctl2[]      = { 0x34, 0x00 };
@@ -493,7 +493,7 @@ static void tda8295_init_if(struct tuner *t)
 
 static void tda8290_init_tuner(struct tuner *t)
 {
-       struct tda8290_priv *priv = t->priv;
+       struct tda8290_priv *priv = t->fe.analog_demod_priv;
        unsigned char tda8275_init[]  = { 0x00, 0x00, 0x00, 0x40, 0xdC, 0x04, 
0xAf,
                                          0x3F, 0x2A, 0x04, 0xFF, 0x00, 0x00, 
0x40 };
        unsigned char tda8275a_init[] = { 0x00, 0x00, 0x00, 0x00, 0xdC, 0x05, 
0x8b,
@@ -515,8 +515,8 @@ static void tda829x_release(struct tuner *t)
        if (t->fe.ops.tuner_ops.release)
                t->fe.ops.tuner_ops.release(&t->fe);
 
-       kfree(t->priv);
-       t->priv = NULL;
+       kfree(t->fe.analog_demod_priv);
+       t->fe.analog_demod_priv = NULL;
 }
 
 static struct analog_tuner_ops tda8290_tuner_ops = {
@@ -546,7 +546,7 @@ int tda8290_attach(struct tuner *t)
        priv = kzalloc(sizeof(struct tda8290_priv), GFP_KERNEL);
        if (priv == NULL)
                return -ENOMEM;
-       t->priv = priv;
+       t->fe.analog_demod_priv = priv;
 
        priv->i2c_props.addr     = t->i2c.addr;
        priv->i2c_props.adap     = t->i2c.adapter;
@@ -636,7 +636,7 @@ int tda8295_attach(struct tuner *t)
        priv = kzalloc(sizeof(struct tda8290_priv), GFP_KERNEL);
        if (priv == NULL)
                return -ENOMEM;
-       t->priv = priv;
+       t->fe.analog_demod_priv = priv;
 
        priv->i2c_props.addr     = t->i2c.addr;
        priv->i2c_props.adap     = t->i2c.adapter;
diff --git a/drivers/media/video/tda9887.c b/drivers/media/video/tda9887.c
index d9bfa81..68b22da 100644
--- a/drivers/media/video/tda9887.c
+++ b/drivers/media/video/tda9887.c
@@ -512,7 +512,7 @@ static int tda9887_set_config(struct tuner *t, char *buf)
 
 static int tda9887_status(struct tuner *t)
 {
-       struct tda9887_priv *priv = t->priv;
+       struct tda9887_priv *priv = t->fe.analog_demod_priv;
        unsigned char buf[1];
        int rc;
 
@@ -525,7 +525,7 @@ static int tda9887_status(struct tuner *t)
 
 static void tda9887_configure(struct tuner *t)
 {
-       struct tda9887_priv *priv = t->priv;
+       struct tda9887_priv *priv = t->fe.analog_demod_priv;
        int rc;
 
        memset(priv->data,0,sizeof(priv->data));
@@ -572,13 +572,13 @@ static void tda9887_configure(struct tuner *t)
 
 static void tda9887_tuner_status(struct tuner *t)
 {
-       struct tda9887_priv *priv = t->priv;
+       struct tda9887_priv *priv = t->fe.analog_demod_priv;
        tda9887_info("Data bytes: b=0x%02x c=0x%02x e=0x%02x\n", priv->data[1], 
priv->data[2], priv->data[3]);
 }
 
 static int tda9887_get_afc(struct tuner *t)
 {
-       struct tda9887_priv *priv = t->priv;
+       struct tda9887_priv *priv = t->fe.analog_demod_priv;
        static int AFC_BITS_2_kHz[] = {
                -12500,  -37500,  -62500,  -97500,
                -112500, -137500, -162500, -187500,
@@ -606,8 +606,8 @@ static void tda9887_set_freq(struct tuner *t, unsigned int 
freq)
 
 static void tda9887_release(struct tuner *t)
 {
-       kfree(t->priv);
-       t->priv = NULL;
+       kfree(t->fe.analog_demod_priv);
+       t->fe.analog_demod_priv = NULL;
 }
 
 static struct analog_tuner_ops tda9887_tuner_ops = {
@@ -626,7 +626,7 @@ int tda9887_tuner_init(struct tuner *t)
        priv = kzalloc(sizeof(struct tda9887_priv), GFP_KERNEL);
        if (priv == NULL)
                return -ENOMEM;
-       t->priv = priv;
+       t->fe.analog_demod_priv = priv;
 
        priv->i2c_props.addr = t->i2c.addr;
        priv->i2c_props.adap = t->i2c.adapter;
diff --git a/drivers/media/video/tuner-core.c b/drivers/media/video/tuner-core.c
index 9de6676..9903b3f 100644
--- a/drivers/media/video/tuner-core.c
+++ b/drivers/media/video/tuner-core.c
@@ -280,10 +280,6 @@ static void set_type(struct i2c_client *c, unsigned int 
type,
        /* discard private data, in case set_type() was previously called */
        if ((ops) && (ops->release))
                ops->release(t);
-       else {
-               kfree(t->priv);
-               t->priv = NULL;
-       }
 
        switch (t->type) {
        case TUNER_MT2032:
@@ -728,9 +724,7 @@ static int tuner_detach(struct i2c_client *client)
 
        if ((ops) && (ops->release))
                ops->release(t);
-       else {
-               kfree(t->priv);
-       }
+
        kfree(t);
        return 0;
 }
diff --git a/drivers/media/video/tuner-driver.h 
b/drivers/media/video/tuner-driver.h
index f2a9c29..fffacb3 100644
--- a/drivers/media/video/tuner-driver.h
+++ b/drivers/media/video/tuner-driver.h
@@ -57,7 +57,6 @@ struct tuner {
        v4l2_std_id  std;
 
        int          using_v4l2;
-       void *priv;
 
        struct dvb_frontend fe;
 
-
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