1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 VES1820 - Single Chip Cable Channel Receiver driver module 4 5 Copyright (C) 1999 Convergence Integrated Media GmbH <ralph@convergence.de> 6 7 */ 8 9 #ifndef VES1820_H 10 #define VES1820_H 11 12 #include <linux/dvb/frontend.h> 13 14 #define VES1820_SELAGC_PWM 0 15 #define VES1820_SELAGC_SIGNAMPERR 1 16 17 struct ves1820_config 18 { 19 /* the demodulator's i2c address */ 20 u8 demod_address; 21 22 /* value of XIN to use */ 23 u32 xin; 24 25 /* does inversion need inverted? */ 26 u8 invert:1; 27 28 /* SELAGC control */ 29 u8 selagc:1; 30 }; 31 32 #if IS_REACHABLE(CONFIG_DVB_VES1820) 33 extern struct dvb_frontend* ves1820_attach(const struct ves1820_config* config, 34 struct i2c_adapter* i2c, u8 pwm); 35 #else 36 static inline struct dvb_frontend* ves1820_attach(const struct ves1820_config* config, 37 struct i2c_adapter* i2c, u8 pwm) 38 { 39 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 40 return NULL; 41 } 42 #endif // CONFIG_DVB_VES1820 43 44 #endif // VES1820_H 45