diff options
author | Michael Krufky <mkrufky@linuxtv.org> | 2007-05-29 22:54:06 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-07-18 14:23:48 -0300 |
commit | b208319993ceff7ebfcc6bb914fe94d29e48a891 (patch) | |
tree | 0a0697806b221c7711914dbdfe2bd3972c206b23 /drivers/media/video/tuner-core.c | |
parent | 56584c9ea9a6dcd672f97ebfeebc4903e8b903bc (diff) | |
download | kernel_samsung_tuna-b208319993ceff7ebfcc6bb914fe94d29e48a891.zip kernel_samsung_tuna-b208319993ceff7ebfcc6bb914fe94d29e48a891.tar.gz kernel_samsung_tuna-b208319993ceff7ebfcc6bb914fe94d29e48a891.tar.bz2 |
V4L/DVB (5719): Tuner: Move device-specific private data out of tuner struct
Create private data struct for device specific private data.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/tuner-core.c')
-rw-r--r-- | drivers/media/video/tuner-core.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/media/video/tuner-core.c b/drivers/media/video/tuner-core.c index 591ca9c..406b85c 100644 --- a/drivers/media/video/tuner-core.c +++ b/drivers/media/video/tuner-core.c @@ -177,6 +177,9 @@ static void set_type(struct i2c_client *c, unsigned int type, return; } + /* discard private data, in case set_type() was previously called */ + kfree(t->priv); + t->priv = NULL; switch (t->type) { case TUNER_MT2032: microtune_init(c); @@ -450,7 +453,6 @@ static int tuner_attach(struct i2c_adapter *adap, int addr, int kind) memcpy(&t->i2c, &client_template, sizeof(struct i2c_client)); i2c_set_clientdata(&t->i2c, t); t->type = UNSET; - t->radio_if2 = 10700 * 1000; /* 10.7MHz - FM radio */ t->audmode = V4L2_TUNER_MODE_STEREO; t->mode_mask = T_UNINITIALIZED; t->tuner_status = tuner_status; @@ -559,6 +561,7 @@ static int tuner_detach(struct i2c_client *client) return err; } + kfree(t->priv); kfree(t); return 0; } |