1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Driver for Zarlink ZL10036 DVB-S silicon tuner
4  *
5  * Copyright (C) 2006 Tino Reichardt
6  * Copyright (C) 2007-2009 Matthias Schwarzott <zzam@gentoo.de>
7  */
8 
9 #ifndef DVB_ZL10036_H
10 #define DVB_ZL10036_H
11 
12 #include <linux/i2c.h>
13 #include <media/dvb_frontend.h>
14 
15 struct zl10036_config {
16 	u8 tuner_address;
17 	int rf_loop_enable;
18 };
19 
20 #if IS_REACHABLE(CONFIG_DVB_ZL10036)
21 /**
22  * zl10036_attach - Attach a zl10036 tuner to the supplied frontend structure.
23  *
24  * @fe: Frontend to attach to.
25  * @config: zl10036_config structure.
26  * @i2c: pointer to struct i2c_adapter.
27  * return: FE pointer on success, NULL on failure.
28  */
29 extern struct dvb_frontend *zl10036_attach(struct dvb_frontend *fe,
30 	const struct zl10036_config *config, struct i2c_adapter *i2c);
31 #else
zl10036_attach(struct dvb_frontend * fe,const struct zl10036_config * config,struct i2c_adapter * i2c)32 static inline struct dvb_frontend *zl10036_attach(struct dvb_frontend *fe,
33 	const struct zl10036_config *config, struct i2c_adapter *i2c)
34 {
35 	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
36 	return NULL;
37 }
38 #endif
39 
40 #endif /* DVB_ZL10036_H */
41