diff options
author | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2018-03-09 10:53:30 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 2018-05-04 11:09:26 -0400 |
commit | 23ba635d45f5c2fb157c40b1b98130ba660024e7 (patch) | |
tree | 45c55c0b80cb65b4c161e8e4377d38110b1834f6 /drivers/media/dvb-frontends/lgdt330x.h | |
parent | media: lgdt330x: print info when device gets probed (diff) | |
download | linux-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.h | 18 |
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; |