This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: si2157: Add option for not downloading firmware.
Author:  Gon Solo <gons...@gmail.com>
Date:    Thu Oct 10 06:51:01 2019 -0300

While at it, convert to kernel-doc format and use bits instead of bools.

Signed-off-by: Gon Solo <gons...@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+sams...@kernel.org>

 drivers/media/tuners/si2157.c      |  6 ++++++
 drivers/media/tuners/si2157.h      | 33 +++++++++++++++++++--------------
 drivers/media/tuners/si2157_priv.h |  5 +++--
 3 files changed, 28 insertions(+), 16 deletions(-)

---

diff --git a/drivers/media/tuners/si2157.c b/drivers/media/tuners/si2157.c
index e87040d6eca7..898e0f9f8b70 100644
--- a/drivers/media/tuners/si2157.c
+++ b/drivers/media/tuners/si2157.c
@@ -118,6 +118,11 @@ static int si2157_init(struct dvb_frontend *fe)
                        goto err;
        }
 
+       if (dev->dont_load_firmware) {
+               dev_info(&client->dev, "device is buggy, skipping firmware 
download\n");
+               goto skip_fw_download;
+       }
+
        /* query chip revision */
        memcpy(cmd.args, "\x02", 1);
        cmd.wlen = 1;
@@ -440,6 +445,7 @@ static int si2157_probe(struct i2c_client *client,
        i2c_set_clientdata(client, dev);
        dev->fe = cfg->fe;
        dev->inversion = cfg->inversion;
+       dev->dont_load_firmware = cfg->dont_load_firmware;
        dev->if_port = cfg->if_port;
        dev->chiptype = (u8)id->driver_data;
        dev->if_frequency = 5000000; /* default value of property 0x0706 */
diff --git a/drivers/media/tuners/si2157.h b/drivers/media/tuners/si2157.h
index c22ca784f43f..ffdece3c2eaa 100644
--- a/drivers/media/tuners/si2157.h
+++ b/drivers/media/tuners/si2157.h
@@ -11,29 +11,34 @@
 #include <media/media-device.h>
 #include <media/dvb_frontend.h>
 
-/*
- * I2C address
- * 0x60
+/**
+ * struct si2157_config - configuration parameters for si2157
+ *
+ * @fe:
+ *     frontend returned by driver
+ * @mdev:
+ *     media device returned by driver
+ * @inversion:
+ *     spectral inversion
+ * @dont_load_firmware:
+ *     Instead of uploading a new firmware, use the existing one
+ * @if_port:
+ *     Port selection
+ *     Select the RF interface to use (pins 9+11 or 12+13)
+ *
+ * Note:
+ *     The I2C address of this demod is 0x60.
  */
 struct si2157_config {
-       /*
-        * frontend
-        */
        struct dvb_frontend *fe;
 
 #if defined(CONFIG_MEDIA_CONTROLLER)
        struct media_device *mdev;
 #endif
 
-       /*
-        * Spectral Inversion
-        */
-       bool inversion;
+       unsigned int inversion:1;
+       unsigned int dont_load_firmware:1;
 
-       /*
-        * Port selection
-        * Select the RF interface to use (pins 9+11 or 12+13)
-        */
        u8 if_port;
 };
 
diff --git a/drivers/media/tuners/si2157_priv.h 
b/drivers/media/tuners/si2157_priv.h
index 2bda903358da..778f81b39996 100644
--- a/drivers/media/tuners/si2157_priv.h
+++ b/drivers/media/tuners/si2157_priv.h
@@ -23,8 +23,9 @@ enum si2157_pads {
 struct si2157_dev {
        struct mutex i2c_mutex;
        struct dvb_frontend *fe;
-       bool active;
-       bool inversion;
+       unsigned int active:1;
+       unsigned int inversion:1;
+       unsigned int dont_load_firmware:1;
        u8 chiptype;
        u8 if_port;
        u32 if_frequency;

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to