media: si2157: Add option for not downloading firmware.
While at it, convert to kernel-doc format and use bits instead of bools. Signed-off-by: Gon Solo <gonsolo@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
parent
d7f9e85082
commit
57df53738a
@ -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 */
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user