xref: /openbmc/linux/drivers/media/tuners/fc0012.h (revision e285d5bf)
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 <media/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
62