Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f2709c20 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

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 22a613e8.

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent a4afb3ed
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -181,14 +181,6 @@ static bool has_get_frontend(struct dvb_frontend *fe)
	return fe->ops.get_frontend != NULL;
}

void
dvb_tuner_simple_release(struct dvb_frontend *fe)
{
	kfree(fe->tuner_priv);
	fe->tuner_priv = NULL;
}
EXPORT_SYMBOL(dvb_tuner_simple_release);

/*
 * Due to DVBv3 API calls, a delivery system should be mapped into one of
 * the 4 DVBv3 delivery systems (FE_QPSK, FE_QAM, FE_OFDM or FE_ATSC),
+0 −7
Original line number Diff line number Diff line
@@ -266,13 +266,6 @@ struct dvb_tuner_ops {
	int (*set_bandwidth)(struct dvb_frontend *fe, u32 bandwidth);
};

/**
 * A common default implementation for dvb_tuner_ops.release.  All it
 * does is kfree() the tuner_priv and assign NULL to it.
 */
void
dvb_tuner_simple_release(struct dvb_frontend *fe);

/**
 * struct analog_demod_info - Information struct for analog TV part of the demod
 *
+7 −1
Original line number Diff line number Diff line
@@ -722,6 +722,12 @@ static int dib0070_get_frequency(struct dvb_frontend *fe, u32 *frequency)
	return 0;
}

static void dib0070_release(struct dvb_frontend *fe)
{
	kfree(fe->tuner_priv);
	fe->tuner_priv = NULL;
}

static const struct dvb_tuner_ops dib0070_ops = {
	.info = {
		.name           = "DiBcom DiB0070",
@@ -729,7 +735,7 @@ static const struct dvb_tuner_ops dib0070_ops = {
		.frequency_max  = 860000000,
		.frequency_step =      1000,
	},
	.release       = dvb_tuner_simple_release,
	.release       = dib0070_release,

	.init          = dib0070_wakeup,
	.sleep         = dib0070_sleep,
+8 −2
Original line number Diff line number Diff line
@@ -2526,6 +2526,12 @@ static int dib0090_tune(struct dvb_frontend *fe)
	return ret;
}

static void dib0090_release(struct dvb_frontend *fe)
{
	kfree(fe->tuner_priv);
	fe->tuner_priv = NULL;
}

enum frontend_tune_state dib0090_get_tune_state(struct dvb_frontend *fe)
{
	struct dib0090_state *state = fe->tuner_priv;
@@ -2587,7 +2593,7 @@ static const struct dvb_tuner_ops dib0090_ops = {
		 .frequency_max = 860000000,
		 .frequency_step = 1000,
		 },
	.release = dvb_tuner_simple_release,
	.release = dib0090_release,

	.init = dib0090_wakeup,
	.sleep = dib0090_sleep,
@@ -2602,7 +2608,7 @@ static const struct dvb_tuner_ops dib0090_fw_ops = {
		 .frequency_max = 860000000,
		 .frequency_step = 1000,
		 },
	.release = dvb_tuner_simple_release,
	.release = dib0090_release,

	.init = NULL,
	.sleep = NULL,
+7 −1
Original line number Diff line number Diff line
@@ -606,6 +606,12 @@ static int dvb_pll_configure(struct dvb_frontend *fe, u8 *buf,
	return (div * desc->entries[i].stepsize) - desc->iffreq;
}

static void dvb_pll_release(struct dvb_frontend *fe)
{
	kfree(fe->tuner_priv);
	fe->tuner_priv = NULL;
}

static int dvb_pll_sleep(struct dvb_frontend *fe)
{
	struct dvb_pll_priv *priv = fe->tuner_priv;
@@ -738,7 +744,7 @@ static int dvb_pll_init(struct dvb_frontend *fe)
}

static const struct dvb_tuner_ops dvb_pll_tuner_ops = {
	.release = dvb_tuner_simple_release,
	.release = dvb_pll_release,
	.sleep = dvb_pll_sleep,
	.init = dvb_pll_init,
	.set_params = dvb_pll_set_params,
Loading