1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 Conexant cx24123/cx24109 - DVB QPSK Satellite demod/tuner driver 4 5 Copyright (C) 2005 Steven Toth <stoth@linuxtv.org> 6 7 */ 8 9 #ifndef CX24123_H 10 #define CX24123_H 11 12 #include <linux/dvb/frontend.h> 13 14 struct cx24123_config { 15 /* the demodulator's i2c address */ 16 u8 demod_address; 17 18 /* Need to set device param for start_dma */ 19 int (*set_ts_params)(struct dvb_frontend *fe, int is_punctured); 20 21 /* 0 = LNB voltage normal, 1 = LNB voltage inverted */ 22 int lnb_polarity; 23 24 /* this device has another tuner */ 25 u8 dont_use_pll; 26 void (*agc_callback) (struct dvb_frontend *); 27 }; 28 29 #if IS_REACHABLE(CONFIG_DVB_CX24123) 30 extern struct dvb_frontend *cx24123_attach(const struct cx24123_config *config, 31 struct i2c_adapter *i2c); 32 extern struct i2c_adapter *cx24123_get_tuner_i2c_adapter(struct dvb_frontend *); 33 #else 34 static inline struct dvb_frontend *cx24123_attach( 35 const struct cx24123_config *config, struct i2c_adapter *i2c) 36 { 37 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 38 return NULL; 39 } 40 static inline struct i2c_adapter * 41 cx24123_get_tuner_i2c_adapter(struct dvb_frontend *fe) 42 { 43 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 44 return NULL; 45 } 46 #endif 47 48 #endif /* CX24123_H */ 49