Linux-libre 4.13.7-gnu
[librecmc/linux-libre.git] / drivers / media / tuners / fc0012.h
1 /*
2  * Fitipower FC0012 tuner driver - include
3  *
4  * Copyright (C) 2012 Hans-Frieder Vogt <hfvogt@gmx.net>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  */
16
17 #ifndef _FC0012_H_
18 #define _FC0012_H_
19
20 #include "dvb_frontend.h"
21 #include "fc001x-common.h"
22
23 struct fc0012_config {
24         /*
25          * I2C address
26          */
27         u8 i2c_address;
28
29         /*
30          * clock
31          */
32         enum fc001x_xtal_freq xtal_freq;
33
34         bool dual_master;
35
36         /*
37          * RF loop-through
38          */
39         bool loop_through;
40
41         /*
42          * clock output
43          */
44         bool clock_out;
45 };
46
47 #if IS_REACHABLE(CONFIG_MEDIA_TUNER_FC0012)
48 extern struct dvb_frontend *fc0012_attach(struct dvb_frontend *fe,
49                                         struct i2c_adapter *i2c,
50                                         const struct fc0012_config *cfg);
51 #else
52 static inline struct dvb_frontend *fc0012_attach(struct dvb_frontend *fe,
53                                         struct i2c_adapter *i2c,
54                                         const struct fc0012_config *cfg)
55 {
56         pr_warn("%s: driver disabled by Kconfig\n", __func__);
57         return NULL;
58 }
59 #endif
60
61 #endif