1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3     Driver for VES1893 and VES1993 QPSK Demodulators
4 
5     Copyright (C) 1999 Convergence Integrated Media GmbH <ralph@convergence.de>
6     Copyright (C) 2001 Ronny Strutz <3des@elitedvb.de>
7     Copyright (C) 2002 Dennis Noermann <dennis.noermann@noernet.de>
8     Copyright (C) 2002-2003 Andreas Oberritter <obi@linuxtv.org>
9 
10 
11 */
12 
13 #ifndef VES1X93_H
14 #define VES1X93_H
15 
16 #include <linux/dvb/frontend.h>
17 
18 struct ves1x93_config
19 {
20 	/* the demodulator's i2c address */
21 	u8 demod_address;
22 
23 	/* value of XIN to use */
24 	u32 xin;
25 
26 	/* should PWM be inverted? */
27 	u8 invert_pwm:1;
28 };
29 
30 #if IS_REACHABLE(CONFIG_DVB_VES1X93)
31 extern struct dvb_frontend* ves1x93_attach(const struct ves1x93_config* config,
32 					   struct i2c_adapter* i2c);
33 #else
34 static inline struct dvb_frontend* ves1x93_attach(const struct ves1x93_config* config,
35 					   struct i2c_adapter* i2c)
36 {
37 	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
38 	return NULL;
39 }
40 #endif // CONFIG_DVB_VES1X93
41 
42 #endif // VES1X93_H
43