1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 Montage Technology DS3000 - DVBS/S2 Demodulator driver 4 Copyright (C) 2009-2012 Konstantin Dimitrov <kosio.dimitrov@gmail.com> 5 6 Copyright (C) 2009-2012 TurboSight.com 7 8 */ 9 10 #ifndef DS3000_H 11 #define DS3000_H 12 13 #include <linux/dvb/frontend.h> 14 15 struct ds3000_config { 16 /* the demodulator's i2c address */ 17 u8 demod_address; 18 u8 ci_mode; 19 /* Set device param to start dma */ 20 int (*set_ts_params)(struct dvb_frontend *fe, int is_punctured); 21 /* Hook for Lock LED */ 22 void (*set_lock_led)(struct dvb_frontend *fe, int offon); 23 }; 24 25 #if IS_REACHABLE(CONFIG_DVB_DS3000) 26 extern struct dvb_frontend *ds3000_attach(const struct ds3000_config *config, 27 struct i2c_adapter *i2c); 28 #else 29 static inline 30 struct dvb_frontend *ds3000_attach(const struct ds3000_config *config, 31 struct i2c_adapter *i2c) 32 { 33 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 34 return NULL; 35 } 36 #endif /* CONFIG_DVB_DS3000 */ 37 #endif /* DS3000_H */ 38