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 <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
diff --git a/drivers/media/video/tuner-core.c b/drivers/media/video/tuner-core.c
index 4369f6d..0e71a22 100644
--- a/drivers/media/video/tuner-core.c
+++ b/drivers/media/video/tuner-core.c
@@ -178,8 +178,11 @@
}
/* 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 @@
return err;
}
+ if (t->release)
+ t->release(client);
kfree(t->priv);
kfree(t);
return 0;