From be2b85a13543bbaf1a141b3a54f84c1e3b059e69 Mon Sep 17 00:00:00 2001 From: Michael Krufky Date: Mon, 4 Jun 2007 14:40:27 -0300 Subject: V4L/DVB (5741): Tuner: add release callback Individual tuner drivers are now allocating memory themselves for their own private data structures. This changeset adds a release callback to the tuner operations, so that newer drivers that may require more complex data structures may release this private data themselves. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab --- drivers/media/video/tuner-core.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'drivers/media/video') diff --git a/drivers/media/video/tuner-core.c b/drivers/media/video/tuner-core.c index 4369f6d1249..0e71a22f1d4 100644 --- a/drivers/media/video/tuner-core.c +++ b/drivers/media/video/tuner-core.c @@ -178,8 +178,11 @@ static void set_type(struct i2c_client *c, unsigned int type, } /* discard private data, in case set_type() was previously called */ + if (t->release) + t->release(c); kfree(t->priv); t->priv = NULL; + switch (t->type) { case TUNER_MT2032: microtune_init(c); @@ -561,6 +564,8 @@ static int tuner_detach(struct i2c_client *client) return err; } + if (t->release) + t->release(client); kfree(t->priv); kfree(t); return 0; -- cgit v1.2.3