aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/tuners/mt20xx.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@s-opensource.com>2016-11-18 20:30:51 -0200
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2016-11-18 20:44:33 -0200
commitf2709c206d8a3e11729e68d80c57e7470bbe8e5e (patch)
treea852afe0e9af5b463c16ad671ec6e9151d1e41ab /drivers/media/tuners/mt20xx.c
parent[media] Kconfig: fix breakages when DVB_CORE is not selected (diff)
downloadlinux-dev-f2709c206d8a3e11729e68d80c57e7470bbe8e5e.tar.xz
linux-dev-f2709c206d8a3e11729e68d80c57e7470bbe8e5e.zip
Revert "[media] dvb_frontend: merge duplicate dvb_tuner_ops.release implementations"
While this patch sounded a good idea, unfortunately, it causes bad dependencies, as drivers that would otherwise work without the DVB core will now break: ERROR: "dvb_tuner_simple_release" [drivers/media/tuners/tea5767.ko] undefined! ERROR: "dvb_tuner_simple_release" [drivers/media/tuners/tea5761.ko] undefined! ERROR: "dvb_tuner_simple_release" [drivers/media/tuners/tda827x.ko] undefined! ERROR: "dvb_tuner_simple_release" [drivers/media/tuners/tda18218.ko] undefined! ERROR: "dvb_tuner_simple_release" [drivers/media/tuners/qt1010.ko] undefined! ERROR: "dvb_tuner_simple_release" [drivers/media/tuners/mt2266.ko] undefined! ERROR: "dvb_tuner_simple_release" [drivers/media/tuners/mt20xx.ko] undefined! ERROR: "dvb_tuner_simple_release" [drivers/media/tuners/mt2060.ko] undefined! ERROR: "dvb_tuner_simple_release" [drivers/media/tuners/mc44s803.ko] undefined! ERROR: "dvb_tuner_simple_release" [drivers/media/tuners/fc0013.ko] undefined! ERROR: "dvb_tuner_simple_release" [drivers/media/tuners/fc0012.ko] undefined! ERROR: "dvb_tuner_simple_release" [drivers/media/tuners/fc0011.ko] undefined! So, we have to revert it. Note: as the argument for the release ops changed from "int" to "void", we needed to change it at the revert patch, to avoid compilation issues like: drivers/media/tuners/tea5767.c:437:23: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types] .release = tea5767_release, ^~~~~~~~~~~~~~~ This reverts commit 22a613e89825ea7a3984a968463cc6d425bd8856. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media/tuners/mt20xx.c')
-rw-r--r--drivers/media/tuners/mt20xx.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/media/tuners/mt20xx.c b/drivers/media/tuners/mt20xx.c
index 4237d8f15919..129bf8e1aff8 100644
--- a/drivers/media/tuners/mt20xx.c
+++ b/drivers/media/tuners/mt20xx.c
@@ -49,6 +49,12 @@ struct microtune_priv {
u32 frequency;
};
+static void microtune_release(struct dvb_frontend *fe)
+{
+ kfree(fe->tuner_priv);
+ fe->tuner_priv = NULL;
+}
+
static int microtune_get_frequency(struct dvb_frontend *fe, u32 *frequency)
{
struct microtune_priv *priv = fe->tuner_priv;
@@ -357,7 +363,7 @@ static int mt2032_set_params(struct dvb_frontend *fe,
static const struct dvb_tuner_ops mt2032_tuner_ops = {
.set_analog_params = mt2032_set_params,
- .release = dvb_tuner_simple_release,
+ .release = microtune_release,
.get_frequency = microtune_get_frequency,
};
@@ -552,7 +558,7 @@ static int mt2050_set_params(struct dvb_frontend *fe,
static const struct dvb_tuner_ops mt2050_tuner_ops = {
.set_analog_params = mt2050_set_params,
- .release = dvb_tuner_simple_release,
+ .release = microtune_release,
.get_frequency = microtune_get_frequency,
};