[4/9,v2] ds3000: loading firmware during demod init

Message ID 201102020040.36746.liplianin@me.by (mailing list archive)
State Superseded, archived
Headers

Commit Message

Igor M. Liplianin Feb. 1, 2011, 10:40 p.m. UTC
  Speed up tuning, as firmware is not necessary to load every attempt to tune

Signed-off-by: Igor M. Liplianin <liplianin@me.by>
---
 drivers/media/dvb/frontends/ds3000.c |   14 ++++++--------
 1 files changed, 6 insertions(+), 8 deletions(-)
  

Patch

diff --git a/drivers/media/dvb/frontends/ds3000.c b/drivers/media/dvb/frontends/ds3000.c
index 02ba759..3373890 100644
--- a/drivers/media/dvb/frontends/ds3000.c
+++ b/drivers/media/dvb/frontends/ds3000.c
@@ -1056,14 +1056,6 @@  static int ds3000_tune(struct dvb_frontend *fe,
 
 	dprintk("%s() ", __func__);
 
-	/* Load the firmware if required */
-	ret = ds3000_firmware_ondemand(fe);
-	if (ret != 0) {
-		printk(KERN_ERR "%s: Unable initialise the firmware\n",
-								__func__);
-		return ret;
-	}
-
 	state->dnxt.delivery = c->modulation;
 	state->dnxt.frequency = c->frequency;
 	state->dnxt.rolloff = 2; /* fixme */
@@ -1353,6 +1345,12 @@  static int ds3000_initfe(struct dvb_frontend *fe)
 	ds3000_tuner_writereg(state, 0x42, 0x73);
 	ds3000_tuner_writereg(state, 0x05, 0x01);
 	ds3000_tuner_writereg(state, 0x62, 0xf5);
+	/* Load the firmware if required */
+	ret = ds3000_firmware_ondemand(fe);
+	if (ret != 0) {
+		printk(KERN_ERR "%s: Unable initialize firmware\n", __func__);
+		return ret;
+	}
 
 	return 0;
 }