Merge tag 'docs-5.15' of git://git.lwn.net/linux
[linux-2.6-microblaze.git] / drivers / media / dvb-frontends / m88rs2000.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3         Driver for M88RS2000 demodulator
4
5
6 */
7
8 #ifndef M88RS2000_H
9 #define M88RS2000_H
10
11 #include <linux/dvb/frontend.h>
12 #include <media/dvb_frontend.h>
13
14 struct m88rs2000_config {
15         /* Demodulator i2c address */
16         u8 demod_addr;
17
18         u8 *inittab;
19
20         /* minimum delay before retuning */
21         int min_delay_ms;
22
23         int (*set_ts_params)(struct dvb_frontend *, int);
24 };
25
26 enum {
27         CALL_IS_SET_FRONTEND = 0x0,
28         CALL_IS_READ,
29 };
30
31 #if IS_REACHABLE(CONFIG_DVB_M88RS2000)
32 extern struct dvb_frontend *m88rs2000_attach(
33         const struct m88rs2000_config *config, struct i2c_adapter *i2c);
34 #else
35 static inline struct dvb_frontend *m88rs2000_attach(
36         const struct m88rs2000_config *config, struct i2c_adapter *i2c)
37 {
38         printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
39         return NULL;
40 }
41 #endif /* CONFIG_DVB_M88RS2000 */
42
43 #define RS2000_FE_CRYSTAL_KHZ 27000
44
45 enum {
46         DEMOD_WRITE = 0x1,
47         WRITE_DELAY = 0x10,
48 };
49 #endif /* M88RS2000_H */