aboutsummaryrefslogtreecommitdiff
path: root/drivers/media/tuners/mc44s803.c
diff options
context:
space:
mode:
authorGravatar Mauro Carvalho Chehab <mchehab@s-opensource.com> 2016-11-18 20:30:51 -0200
committerGravatar Mauro Carvalho Chehab <mchehab@s-opensource.com> 2016-11-18 20:44:33 -0200
commitf2709c206d8a3e11729e68d80c57e7470bbe8e5e (patch)
treea852afe0e9af5b463c16ad671ec6e9151d1e41ab /drivers/media/tuners/mc44s803.c
parent[media] Kconfig: fix breakages when DVB_CORE is not selected (diff)
downloadlinux-f2709c206d8a3e11729e68d80c57e7470bbe8e5e.tar.gz
linux-f2709c206d8a3e11729e68d80c57e7470bbe8e5e.tar.bz2
linux-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/mc44s803.c')
-rw-r--r--drivers/media/tuners/mc44s803.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/media/tuners/mc44s803.c b/drivers/media/tuners/mc44s803.c
index 86542cbd73fb..aba580b4ac2c 100644
--- a/drivers/media/tuners/mc44s803.c
+++ b/drivers/media/tuners/mc44s803.c
@@ -80,6 +80,14 @@ static int mc44s803_readreg(struct mc44s803_priv *priv, u8 reg, u32 *val)
return 0;
}
+static void mc44s803_release(struct dvb_frontend *fe)
+{
+ struct mc44s803_priv *priv = fe->tuner_priv;
+
+ fe->tuner_priv = NULL;
+ kfree(priv);
+}
+
static int mc44s803_init(struct dvb_frontend *fe)
{
struct mc44s803_priv *priv = fe->tuner_priv;
@@ -302,7 +310,7 @@ static const struct dvb_tuner_ops mc44s803_tuner_ops = {
.frequency_step = 100000,
},
- .release = dvb_tuner_simple_release,
+ .release = mc44s803_release,
.init = mc44s803_init,
.set_params = mc44s803_set_params,
.get_frequency = mc44s803_get_frequency,