aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb-frontends/ds3000.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb-frontends/ds3000.c')
-rw-r--r--drivers/media/dvb-frontends/ds3000.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/drivers/media/dvb-frontends/ds3000.c b/drivers/media/dvb-frontends/ds3000.c
index 5b639087ce45..60a529e3833f 100644
--- a/drivers/media/dvb-frontends/ds3000.c
+++ b/drivers/media/dvb-frontends/ds3000.c
@@ -30,7 +30,6 @@
30#include "ds3000.h" 30#include "ds3000.h"
31 31
32static int debug; 32static int debug;
33static int force_fw_upload;
34 33
35#define dprintk(args...) \ 34#define dprintk(args...) \
36 do { \ 35 do { \
@@ -234,7 +233,6 @@ struct ds3000_state {
234 struct i2c_adapter *i2c; 233 struct i2c_adapter *i2c;
235 const struct ds3000_config *config; 234 const struct ds3000_config *config;
236 struct dvb_frontend frontend; 235 struct dvb_frontend frontend;
237 u8 skip_fw_load;
238 /* previous uncorrected block counter for DVB-S2 */ 236 /* previous uncorrected block counter for DVB-S2 */
239 u16 prevUCBS2; 237 u16 prevUCBS2;
240}; 238};
@@ -397,9 +395,6 @@ static int ds3000_firmware_ondemand(struct dvb_frontend *fe)
397 if (ret < 0) 395 if (ret < 0)
398 return ret; 396 return ret;
399 397
400 if (state->skip_fw_load || !force_fw_upload)
401 return 0; /* Firmware already uploaded, skipping */
402
403 /* Load firmware */ 398 /* Load firmware */
404 /* request the firmware, this will block until someone uploads it */ 399 /* request the firmware, this will block until someone uploads it */
405 printk(KERN_INFO "%s: Waiting for firmware upload (%s)...\n", __func__, 400 printk(KERN_INFO "%s: Waiting for firmware upload (%s)...\n", __func__,
@@ -413,9 +408,6 @@ static int ds3000_firmware_ondemand(struct dvb_frontend *fe)
413 return ret; 408 return ret;
414 } 409 }
415 410
416 /* Make sure we don't recurse back through here during loading */
417 state->skip_fw_load = 1;
418
419 ret = ds3000_load_firmware(fe, fw); 411 ret = ds3000_load_firmware(fe, fw);
420 if (ret) 412 if (ret)
421 printk("%s: Writing firmware to device failed\n", __func__); 413 printk("%s: Writing firmware to device failed\n", __func__);
@@ -425,9 +417,6 @@ static int ds3000_firmware_ondemand(struct dvb_frontend *fe)
425 dprintk("%s: Firmware upload %s\n", __func__, 417 dprintk("%s: Firmware upload %s\n", __func__,
426 ret == 0 ? "complete" : "failed"); 418 ret == 0 ? "complete" : "failed");
427 419
428 /* Ensure firmware is always loaded if required */
429 state->skip_fw_load = 0;
430
431 return ret; 420 return ret;
432} 421}
433 422
@@ -1309,10 +1298,8 @@ static struct dvb_frontend_ops ds3000_ops = {
1309module_param(debug, int, 0644); 1298module_param(debug, int, 0644);
1310MODULE_PARM_DESC(debug, "Activates frontend debugging (default:0)"); 1299MODULE_PARM_DESC(debug, "Activates frontend debugging (default:0)");
1311 1300
1312module_param(force_fw_upload, int, 0644);
1313MODULE_PARM_DESC(force_fw_upload, "Force firmware upload (default:0)");
1314
1315MODULE_DESCRIPTION("DVB Frontend module for Montage Technology " 1301MODULE_DESCRIPTION("DVB Frontend module for Montage Technology "
1316 "DS3000/TS2020 hardware"); 1302 "DS3000/TS2020 hardware");
1317MODULE_AUTHOR("Konstantin Dimitrov"); 1303MODULE_AUTHOR("Konstantin Dimitrov");
1318MODULE_LICENSE("GPL"); 1304MODULE_LICENSE("GPL");
1305MODULE_FIRMWARE(DS3000_DEFAULT_FIRMWARE);