1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3 	Fujitsu MB86A16 DVB-S/DSS DC Receiver driver
4 
5 	Copyright (C) Manu Abraham (abraham.manu@gmail.com)
6 
7 */
8 
9 #ifndef __MB86A16_H
10 #define __MB86A16_H
11 
12 #include <linux/dvb/frontend.h>
13 #include <media/dvb_frontend.h>
14 
15 
16 struct mb86a16_config {
17 	u8 demod_address;
18 
19 	int (*set_voltage)(struct dvb_frontend *fe,
20 			   enum fe_sec_voltage voltage);
21 };
22 
23 
24 
25 #if IS_REACHABLE(CONFIG_DVB_MB86A16)
26 
27 extern struct dvb_frontend *mb86a16_attach(const struct mb86a16_config *config,
28 					   struct i2c_adapter *i2c_adap);
29 
30 #else
31 
mb86a16_attach(const struct mb86a16_config * config,struct i2c_adapter * i2c_adap)32 static inline struct dvb_frontend *mb86a16_attach(const struct mb86a16_config *config,
33 					   struct i2c_adapter *i2c_adap)
34 {
35 	printk(KERN_WARNING "%s: Driver disabled by Kconfig\n", __func__);
36 	return NULL;
37 }
38 
39 #endif /* CONFIG_DVB_MB86A16 */
40 
41 #endif /* __MB86A16_H */
42