Merge tag 'docs-5.15' of git://git.lwn.net/linux
[linux-2.6-microblaze.git] / drivers / media / dvb-frontends / zl10036.h
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
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 */