[media] ds3000: add module parameter to force firmware upload
authorRémi Cardona <remi.cardona@smartjog.com>
Fri, 28 Sep 2012 11:59:31 +0000 (08:59 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 7 Oct 2012 12:31:37 +0000 (09:31 -0300)
[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>
drivers/media/dvb-frontends/ds3000.c

index 4c8ac2657c4af0d602c0d776a8b98a03efcfdc21..5b639087ce45623f7a2f1be7e1b6216c1bc686a8 100644 (file)
@@ -30,6 +30,7 @@
 #include "ds3000.h"
 
 static int debug;
+static int force_fw_upload;
 
 #define dprintk(args...) \
        do { \
@@ -392,11 +393,13 @@ static int ds3000_firmware_ondemand(struct dvb_frontend *fe)
 
        dprintk("%s()\n", __func__);
 
-       if (ds3000_readreg(state, 0xb2) <= 0)
+       ret = ds3000_readreg(state, 0xb2);
+       if (ret < 0)
                return ret;
 
-       if (state->skip_fw_load)
-               return 0;
+       if (state->skip_fw_load || !force_fw_upload)
+               return 0;       /* Firmware already uploaded, skipping */
+
        /* Load firmware */
        /* request the firmware, this will block until someone uploads it */
        printk(KERN_INFO "%s: Waiting for firmware upload (%s)...\n", __func__,
@@ -1306,6 +1309,9 @@ static struct dvb_frontend_ops ds3000_ops = {
 module_param(debug, int, 0644);
 MODULE_PARM_DESC(debug, "Activates frontend debugging (default:0)");
 
+module_param(force_fw_upload, int, 0644);
+MODULE_PARM_DESC(force_fw_upload, "Force firmware upload (default:0)");
+
 MODULE_DESCRIPTION("DVB Frontend module for Montage Technology "
                        "DS3000/TS2020 hardware");
 MODULE_AUTHOR("Konstantin Dimitrov");