aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb-frontends/lgdt330x.h
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@s-opensource.com>2018-03-09 10:53:30 -0500
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>2018-05-04 11:09:26 -0400
commit23ba635d45f5c2fb157c40b1b98130ba660024e7 (patch)
tree45c55c0b80cb65b4c161e8e4377d38110b1834f6 /drivers/media/dvb-frontends/lgdt330x.h
parentmedia: lgdt330x: print info when device gets probed (diff)
downloadlinux-dev-23ba635d45f5c2fb157c40b1b98130ba660024e7.tar.xz
linux-dev-23ba635d45f5c2fb157c40b1b98130ba660024e7.zip
media: lgdt330x: convert it to the new I2C binding way
Convert the driver to allow its usage with the new I2C binding way. Please notice that this patch doesn't convert the callers to bind to it using the new way. Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'drivers/media/dvb-frontends/lgdt330x.h')
-rw-r--r--drivers/media/dvb-frontends/lgdt330x.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/drivers/media/dvb-frontends/lgdt330x.h b/drivers/media/dvb-frontends/lgdt330x.h
index 18bd54eabca4..94cc09d15ece 100644
--- a/drivers/media/dvb-frontends/lgdt330x.h
+++ b/drivers/media/dvb-frontends/lgdt330x.h
@@ -29,7 +29,6 @@ typedef enum lg_chip_t {
/**
* struct lgdt330x_config - contains lgdt330x configuration
*
- * @demod_address: The demodulator's i2c address
* @demod_chip: LG demodulator chip LGDT3302 or LGDT3303
* @serial_mpeg: MPEG hardware interface - 0:parallel 1:serial
* @pll_rf_set: Callback function to set PLL interface
@@ -38,23 +37,30 @@ typedef enum lg_chip_t {
* Flip the polarity of the mpeg data transfer clock using alternate
* init data.
* This option applies ONLY to LGDT3303 - 0:disabled (default) 1:enabled
+ * @get_dvb_frontend:
+ * returns the frontend associated with this I2C client.
+ * Filled by the driver.
*/
struct lgdt330x_config
{
- u8 demod_address;
lg_chip_type demod_chip;
int serial_mpeg;
int (*pll_rf_set) (struct dvb_frontend* fe, int index);
int (*set_ts_params)(struct dvb_frontend* fe, int is_punctured);
int clock_polarity_flip;
+
+ struct dvb_frontend* (*get_dvb_frontend)(struct i2c_client *);
};
#if IS_REACHABLE(CONFIG_DVB_LGDT330X)
-extern struct dvb_frontend* lgdt330x_attach(const struct lgdt330x_config* config,
- struct i2c_adapter* i2c);
+struct dvb_frontend *lgdt330x_attach(const struct lgdt330x_config *config,
+ u8 demod_address,
+ struct i2c_adapter *i2c);
#else
-static inline struct dvb_frontend* lgdt330x_attach(const struct lgdt330x_config* config,
- struct i2c_adapter* i2c)
+static
+struct dvb_frontend *lgdt330x_attach(const struct lgdt330x_config *config,
+ u8 demod_address,
+ struct i2c_adapter *i2c)
{
printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
return NULL;