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

Commit 4b819724 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

[media] drxk: remove the option to load firmware asynchronously



The option to load firmware asynchronously were added due to
a requirement with a few versions of udev. It turns that this was
a bad idea and caused regressions on drxk-based devices.

So, we end by only letting the firmware to be loaded syncronously
everywhere.

So, let's remove the bad code.

This patch partially reverts the changeset 8e30783b.

Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent a02b9c23
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -29,7 +29,6 @@
 *				A value of 0 (default) or lower indicates that
 *				the correct number of parameters will be
 *				automatically detected.
 * @load_firmware_sync:		Force the firmware load to be synchronous.
 *
 * On the *_gpio vars, bit 0 is UIO-1, bit 1 is UIO-2 and bit 2 is
 * UIO-3.
@@ -41,7 +40,6 @@ struct drxk_config {
	bool	parallel_ts;
	bool	dynamic_clk;
	bool	enable_merr_cfg;
	bool	load_firmware_sync;

	bool	antenna_dvbt;
	u16	antenna_gpio;
+6 −18
Original line number Diff line number Diff line
@@ -6830,7 +6830,6 @@ struct dvb_frontend *drxk_attach(const struct drxk_config *config,

	/* Load firmware and initialize DRX-K */
	if (state->microcode_name) {
		if (config->load_firmware_sync) {
		const struct firmware *fw = NULL;

		status = request_firmware(&fw, state->microcode_name,
@@ -6838,17 +6837,6 @@ struct dvb_frontend *drxk_attach(const struct drxk_config *config,
		if (status < 0)
			fw = NULL;
		load_firmware_cb(fw, state);
		} else {
			status = request_firmware_nowait(THIS_MODULE, 1,
					      state->microcode_name,
					      state->i2c->dev.parent,
					      GFP_KERNEL,
					      state, load_firmware_cb);
			if (status < 0) {
				pr_err("failed to request a firmware\n");
				return NULL;
			}
		}
	} else if (init_drxk(state) < 0)
		goto error;

+0 −5
Original line number Diff line number Diff line
@@ -375,7 +375,6 @@ static struct drxk_config terratec_h5_drxk = {
	.no_i2c_bridge = 1,
	.microcode_name = "dvb-usb-terratec-h5-drxk.fw",
	.qam_demod_parameter_count = 2,
	.load_firmware_sync = true,
};

static struct drxk_config hauppauge_930c_drxk = {
@@ -385,7 +384,6 @@ static struct drxk_config hauppauge_930c_drxk = {
	.microcode_name = "dvb-usb-hauppauge-hvr930c-drxk.fw",
	.chunk_size = 56,
	.qam_demod_parameter_count = 2,
	.load_firmware_sync = true,
};

static struct drxk_config terratec_htc_stick_drxk = {
@@ -399,7 +397,6 @@ static struct drxk_config terratec_htc_stick_drxk = {
	.antenna_dvbt = true,
	/* The windows driver uses the same. This will disable LNA. */
	.antenna_gpio = 0x6,
	.load_firmware_sync = true,
};

static struct drxk_config maxmedia_ub425_tc_drxk = {
@@ -408,7 +405,6 @@ static struct drxk_config maxmedia_ub425_tc_drxk = {
	.no_i2c_bridge = 1,
	.microcode_name = "dvb-demod-drxk-01.fw",
	.chunk_size = 62,
	.load_firmware_sync = true,
	.qam_demod_parameter_count = 2,
};

@@ -420,7 +416,6 @@ static struct drxk_config pctv_520e_drxk = {
	.chunk_size = 58,
	.antenna_dvbt = true, /* disable LNA */
	.antenna_gpio = (1 << 2), /* disable LNA */
	.load_firmware_sync = true,
};

static int drxk_gate_ctrl(struct dvb_frontend *fe, int enable)