aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorRémi Cardona <remi.cardona@smartjog.com>2012-09-28 07:59:31 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-10-07 08:31:37 -0400
commit034351ff6372c1a880ed4c5d333e430e9c83d467 (patch)
treea07673fa3eb40a46a6f95fc7f91e9dd049fa7892 /drivers/media
parentc2c1b4156a447f113ef4d167decce29399c2667c (diff)
[media] ds3000: add module parameter to force firmware upload
[mchehab@redhat.com: Fix a merge conflict] Signed-off-by: Rémi Cardona <remi.cardona@smartjog.com> Reviewed-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/dvb-frontends/ds3000.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/media/dvb-frontends/ds3000.c b/drivers/media/dvb-frontends/ds3000.c
index 4c8ac2657c4a..5b639087ce45 100644
--- a/drivers/media/dvb-frontends/ds3000.c
+++ b/drivers/media/dvb-frontends/ds3000.c
@@ -30,6 +30,7 @@
30#include "ds3000.h" 30#include "ds3000.h"
31 31
32static int debug; 32static int debug;
33static int force_fw_upload;
33 34
34#define dprintk(args...) \ 35#define dprintk(args...) \
35 do { \ 36 do { \
@@ -392,11 +393,13 @@ static int ds3000_firmware_ondemand(struct dvb_frontend *fe)
392 393
393 dprintk("%s()\n", __func__); 394 dprintk("%s()\n", __func__);
394 395
395 if (ds3000_readreg(state, 0xb2) <= 0) 396 ret = ds3000_readreg(state, 0xb2);
397 if (ret < 0)
396 return ret; 398 return ret;
397 399
398 if (state->skip_fw_load) 400 if (state->skip_fw_load || !force_fw_upload)
399 return 0; 401 return 0; /* Firmware already uploaded, skipping */
402
400 /* Load firmware */ 403 /* Load firmware */
401 /* request the firmware, this will block until someone uploads it */ 404 /* request the firmware, this will block until someone uploads it */
402 printk(KERN_INFO "%s: Waiting for firmware upload (%s)...\n", __func__, 405 printk(KERN_INFO "%s: Waiting for firmware upload (%s)...\n", __func__,
@@ -1306,6 +1309,9 @@ static struct dvb_frontend_ops ds3000_ops = {
1306module_param(debug, int, 0644); 1309module_param(debug, int, 0644);
1307MODULE_PARM_DESC(debug, "Activates frontend debugging (default:0)"); 1310MODULE_PARM_DESC(debug, "Activates frontend debugging (default:0)");
1308 1311
1312module_param(force_fw_upload, int, 0644);
1313MODULE_PARM_DESC(force_fw_upload, "Force firmware upload (default:0)");
1314
1309MODULE_DESCRIPTION("DVB Frontend module for Montage Technology " 1315MODULE_DESCRIPTION("DVB Frontend module for Montage Technology "
1310 "DS3000/TS2020 hardware"); 1316 "DS3000/TS2020 hardware");
1311MODULE_AUTHOR("Konstantin Dimitrov"); 1317MODULE_AUTHOR("Konstantin Dimitrov");