summaryrefslogtreecommitdiff
path: root/drivers/media/dvb/frontends/ds3000.c
diff options
context:
space:
mode:
authorIgor M. Liplianin <liplianin@me.by>2011-02-02 01:40:36 +0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-03-22 02:32:20 +0300
commitb9bf2eafaad9c1ef02fb3db38c74568be601a43a (patch)
tree3b4d472569e5800ce34cd187be2cd7041a493d10 /drivers/media/dvb/frontends/ds3000.c
parentcaa687c805332a384afd292e2b20e25a6282ed66 (diff)
downloadlinux-b9bf2eafaad9c1ef02fb3db38c74568be601a43a.tar.xz
[media] ds3000: don't load firmware during demod init
Speed up tuning, as firmware is not necessary to load every attempt to tune Signed-off-by: Igor M. Liplianin <liplianin@me.by> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/frontends/ds3000.c')
-rw-r--r--drivers/media/dvb/frontends/ds3000.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/drivers/media/dvb/frontends/ds3000.c b/drivers/media/dvb/frontends/ds3000.c
index b2f0f4e8e512..993357383fd4 100644
--- a/drivers/media/dvb/frontends/ds3000.c
+++ b/drivers/media/dvb/frontends/ds3000.c
@@ -1029,14 +1029,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 */
@@ -1314,6 +1306,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;
}