summaryrefslogtreecommitdiff
path: root/linux/drivers/media/common/tuners/xc5000.c
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2008-06-21 18:13:42 -0400
committerMichael Krufky <mkrufky@linuxtv.org>2008-06-21 18:13:42 -0400
commitdaef5289e1849aec1350f70ffa1c2f3735854620 (patch)
tree0d18a3bfed1683f9e95390f473dae7be05f5c6e1 /linux/drivers/media/common/tuners/xc5000.c
parent51c6e1fd5c70b5a11ae648e571ec456b34e152b4 (diff)
downloadmediapointer-dvb-s2-daef5289e1849aec1350f70ffa1c2f3735854620.tar.gz
mediapointer-dvb-s2-daef5289e1849aec1350f70ffa1c2f3735854620.tar.bz2
xc5000: add module option to load firmware during driver attach
From: Michael Krufky <mkrufky@linuxtv.org> The xc5000 firmware download process can be slow on certain devices. Add a module option, "init_fw" to perform the firmware download during xc5000_attach(), which would get the firmware download over with well before any tune request is made. When this option is enabled, it will reduce the time it takes to get a signal lock during the first tune after driver load, but will add a few seconds to the driver initialization. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Diffstat (limited to 'linux/drivers/media/common/tuners/xc5000.c')
-rw-r--r--linux/drivers/media/common/tuners/xc5000.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/linux/drivers/media/common/tuners/xc5000.c b/linux/drivers/media/common/tuners/xc5000.c
index e5cd0c2e1..63b4dba44 100644
--- a/linux/drivers/media/common/tuners/xc5000.c
+++ b/linux/drivers/media/common/tuners/xc5000.c
@@ -36,6 +36,10 @@ static int debug;
module_param(debug, int, 0644);
MODULE_PARM_DESC(debug, "Turn on/off debugging (default:off).");
+static int xc5000_load_fw_on_attach;
+module_param_named(init_fw, xc5000_load_fw_on_attach, int, 0644);
+MODULE_PARM_DESC(init_fw, "Load firmware during driver initialization.");
+
#define dprintk(level,fmt, arg...) if (debug >= level) \
printk(KERN_INFO "%s: " fmt, "xc5000", ## arg)
@@ -991,6 +995,9 @@ struct dvb_frontend *xc5000_attach(struct dvb_frontend *fe,
fe->tuner_priv = priv;
+ if (xc5000_load_fw_on_attach)
+ xc5000_init(fe);
+
return fe;
}
EXPORT_SYMBOL(xc5000_attach);