Skip to content

Commit

Permalink
V4L/DVB (5742): Tuner: define release callback for mt20xx, tda9887 an…
Browse files Browse the repository at this point in the history
…d tda8290

Define tuner release callbacks for mt20xx, tda9887 and tda8290, so that
these drivers can release their own private structures themselves.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
  • Loading branch information
Michael Krufky authored and Mauro Carvalho Chehab committed Jul 18, 2007
1 parent be2b85a commit 024cf53
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 0 deletions.
9 changes: 9 additions & 0 deletions drivers/media/video/mt20xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -495,6 +495,14 @@ static int mt2050_init(struct i2c_client *c)
return 0;
}

static void microtune_release(struct i2c_client *c)
{
struct tuner *t = i2c_get_clientdata(c);

kfree(t->priv);
t->priv = NULL;
}

int microtune_init(struct i2c_client *c)
{
struct microtune_priv *priv = NULL;
Expand All @@ -514,6 +522,7 @@ int microtune_init(struct i2c_client *c)
t->set_tv_freq = NULL;
t->set_radio_freq = NULL;
t->standby = NULL;
t->release = microtune_release;
if (t->std & V4L2_STD_525_60) {
tuner_dbg("pinnacle ntsc\n");
priv->radio_if2 = 41300 * 1000;
Expand Down
9 changes: 9 additions & 0 deletions drivers/media/video/tda8290.c
Original file line number Diff line number Diff line change
Expand Up @@ -595,6 +595,14 @@ static void tda8290_init_tuner(struct i2c_client *c)

/*---------------------------------------------------------------------*/

static void tda8290_release(struct i2c_client *c)
{
struct tuner *t = i2c_get_clientdata(c);

kfree(t->priv);
t->priv = NULL;
}

int tda8290_init(struct i2c_client *c)
{
struct tda8290_priv *priv = NULL;
Expand Down Expand Up @@ -663,6 +671,7 @@ int tda8290_init(struct i2c_client *c)
t->set_radio_freq = set_radio_freq;
t->has_signal = has_signal;
t->standby = standby;
t->release = tda8290_release;
priv->tda827x_lpsel = 0;
t->mode = V4L2_TUNER_ANALOG_TV;

Expand Down
9 changes: 9 additions & 0 deletions drivers/media/video/tda9887.c
Original file line number Diff line number Diff line change
Expand Up @@ -591,6 +591,14 @@ static void tda9887_set_freq(struct i2c_client *client, unsigned int freq)
tda9887_configure(client);
}

static void tda9887_release(struct i2c_client *c)
{
struct tuner *t = i2c_get_clientdata(c);

kfree(t->priv);
t->priv = NULL;
}

int tda9887_tuner_init(struct i2c_client *c)
{
struct tda9887_priv *priv = NULL;
Expand All @@ -611,6 +619,7 @@ int tda9887_tuner_init(struct i2c_client *c)
t->standby = tda9887_standby;
t->tuner_status = tda9887_tuner_status;
t->get_afc = tda9887_get_afc;
t->release = tda9887_release;

return 0;
}
Expand Down

0 comments on commit 024cf53

Please sign in to comment.