xref: /openbmc/linux/drivers/media/tuners/qt1010.h (revision a36954f5)
1 /*
2  *  Driver for Quantek QT1010 silicon tuner
3  *
4  *  Copyright (C) 2006 Antti Palosaari <crope@iki.fi>
5  *                     Aapo Tahkola <aet@rasterburn.org>
6  *
7  *  This program is free software; you can redistribute it and/or modify
8  *  it under the terms of the GNU General Public License as published by
9  *  the Free Software Foundation; either version 2 of the License, or
10  *  (at your option) any later version.
11  *
12  *  This program is distributed in the hope that it will be useful,
13  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  *  GNU General Public License for more details.
16  */
17 
18 #ifndef QT1010_H
19 #define QT1010_H
20 
21 #include "dvb_frontend.h"
22 
23 struct qt1010_config {
24 	u8 i2c_address;
25 };
26 
27 /**
28  * Attach a qt1010 tuner to the supplied frontend structure.
29  *
30  * @param fe   frontend to attach to
31  * @param i2c  i2c adapter to use
32  * @param cfg  tuner hw based configuration
33  * @return fe  pointer on success, NULL on failure
34  */
35 #if IS_REACHABLE(CONFIG_MEDIA_TUNER_QT1010)
36 extern struct dvb_frontend *qt1010_attach(struct dvb_frontend *fe,
37 					  struct i2c_adapter *i2c,
38 					  struct qt1010_config *cfg);
39 #else
40 static inline struct dvb_frontend *qt1010_attach(struct dvb_frontend *fe,
41 						 struct i2c_adapter *i2c,
42 						 struct qt1010_config *cfg)
43 {
44 	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
45 	return NULL;
46 }
47 #endif // CONFIG_MEDIA_TUNER_QT1010
48 
49 #endif
50