From 22a613e89825ea7a3984a968463cc6d425bd8856 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 9 Aug 2016 18:32:26 -0300 Subject: [media] dvb_frontend: merge duplicate dvb_tuner_ops.release implementations Most release callback functions are identical: free the "tuner_priv" and clear it. Let's eliminate some bloat by providing this simple implementation in the dvb_frontend library. Signed-off-by: Max Kellermann Signed-off-by: Mauro Carvalho Chehab --- drivers/media/tuners/fc0013.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) (limited to 'drivers/media/tuners/fc0013.c') diff --git a/drivers/media/tuners/fc0013.c b/drivers/media/tuners/fc0013.c index 522690d97b42..b068b9702cf7 100644 --- a/drivers/media/tuners/fc0013.c +++ b/drivers/media/tuners/fc0013.c @@ -52,13 +52,6 @@ static int fc0013_readreg(struct fc0013_priv *priv, u8 reg, u8 *val) return 0; } -static int fc0013_release(struct dvb_frontend *fe) -{ - kfree(fe->tuner_priv); - fe->tuner_priv = NULL; - return 0; -} - static int fc0013_init(struct dvb_frontend *fe) { struct fc0013_priv *priv = fe->tuner_priv; @@ -586,7 +579,7 @@ static const struct dvb_tuner_ops fc0013_tuner_ops = { .frequency_step = 0, }, - .release = fc0013_release, + .release = dvb_tuner_simple_release, .init = fc0013_init, .sleep = fc0013_sleep, -- cgit v1.2.1 From f2709c206d8a3e11729e68d80c57e7470bbe8e5e Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Fri, 18 Nov 2016 20:30:51 -0200 Subject: 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 --- drivers/media/tuners/fc0013.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'drivers/media/tuners/fc0013.c') diff --git a/drivers/media/tuners/fc0013.c b/drivers/media/tuners/fc0013.c index b068b9702cf7..f7cf0e9e7c99 100644 --- a/drivers/media/tuners/fc0013.c +++ b/drivers/media/tuners/fc0013.c @@ -52,6 +52,12 @@ static int fc0013_readreg(struct fc0013_priv *priv, u8 reg, u8 *val) return 0; } +static void fc0013_release(struct dvb_frontend *fe) +{ + kfree(fe->tuner_priv); + fe->tuner_priv = NULL; +} + static int fc0013_init(struct dvb_frontend *fe) { struct fc0013_priv *priv = fe->tuner_priv; @@ -579,7 +585,7 @@ static const struct dvb_tuner_ops fc0013_tuner_ops = { .frequency_step = 0, }, - .release = dvb_tuner_simple_release, + .release = fc0013_release, .init = fc0013_init, .sleep = fc0013_sleep, -- cgit v1.2.1