Linux-libre 5.4.49-gnu
[librecmc/linux-libre.git] / drivers / media / dvb-frontends / ves1x93.h
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