aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/common
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2008-06-21 21:13:42 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-07-20 06:11:40 -0400
commit7dc1b8844eb3e0a91911f20736db87f4876e14b4 (patch)
treec7d92c8dd6b45b7daa3daaa91a645201d302fac9 /drivers/media/common
parentfa1035997cbba4c348a88f8b94eb135222aaba12 (diff)
V4L/DVB (8098): xc5000: add module option to load firmware during driver attach
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> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/common')
-rw-r--r--drivers/media/common/tuners/xc5000.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/media/common/tuners/xc5000.c b/drivers/media/common/tuners/xc5000.c
index 4878d6477a8..5f99de0ad61 100644
--- a/drivers/media/common/tuners/xc5000.c
+++ b/drivers/media/common/tuners/xc5000.c
@@ -36,6 +36,10 @@ static int debug;
36module_param(debug, int, 0644); 36module_param(debug, int, 0644);
37MODULE_PARM_DESC(debug, "Turn on/off debugging (default:off)."); 37MODULE_PARM_DESC(debug, "Turn on/off debugging (default:off).");
38 38
39static int xc5000_load_fw_on_attach;
40module_param_named(init_fw, xc5000_load_fw_on_attach, int, 0644);
41MODULE_PARM_DESC(init_fw, "Load firmware during driver initialization.");
42
39#define dprintk(level,fmt, arg...) if (debug >= level) \ 43#define dprintk(level,fmt, arg...) if (debug >= level) \
40 printk(KERN_INFO "%s: " fmt, "xc5000", ## arg) 44 printk(KERN_INFO "%s: " fmt, "xc5000", ## arg)
41 45
@@ -972,6 +976,9 @@ struct dvb_frontend *xc5000_attach(struct dvb_frontend *fe,
972 976
973 fe->tuner_priv = priv; 977 fe->tuner_priv = priv;
974 978
979 if (xc5000_load_fw_on_attach)
980 xc5000_init(fe);
981
975 return fe; 982 return fe;
976} 983}
977EXPORT_SYMBOL(xc5000_attach); 984EXPORT_SYMBOL(xc5000_attach);