diff options
Diffstat (limited to 'drivers/media/dvb-frontends/ds3000.c')
-rw-r--r-- | drivers/media/dvb-frontends/ds3000.c | 12 |
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 | ||
32 | static int debug; | 32 | static int debug; |
33 | static 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 = { | |||
1306 | module_param(debug, int, 0644); | 1309 | module_param(debug, int, 0644); |
1307 | MODULE_PARM_DESC(debug, "Activates frontend debugging (default:0)"); | 1310 | MODULE_PARM_DESC(debug, "Activates frontend debugging (default:0)"); |
1308 | 1311 | ||
1312 | module_param(force_fw_upload, int, 0644); | ||
1313 | MODULE_PARM_DESC(force_fw_upload, "Force firmware upload (default:0)"); | ||
1314 | |||
1309 | MODULE_DESCRIPTION("DVB Frontend module for Montage Technology " | 1315 | MODULE_DESCRIPTION("DVB Frontend module for Montage Technology " |
1310 | "DS3000/TS2020 hardware"); | 1316 | "DS3000/TS2020 hardware"); |
1311 | MODULE_AUTHOR("Konstantin Dimitrov"); | 1317 | MODULE_AUTHOR("Konstantin Dimitrov"); |