Commit 57df5373 authored by Gon Solo's avatar Gon Solo Committed by Mauro Carvalho Chehab
Browse files

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: default avatarGon Solo <gonsolo@gmail.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent d7f9e850
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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 */
+19 −14
Original line number Diff line number Diff line
@@ -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;
};

+3 −2
Original line number Diff line number Diff line
@@ -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;