xref: /openbmc/linux/drivers/media/tuners/mc44s803.h (revision 9b174527)
1ccae7af2SMauro Carvalho Chehab /*
2ccae7af2SMauro Carvalho Chehab  *  Driver for Freescale MC44S803 Low Power CMOS Broadband Tuner
3ccae7af2SMauro Carvalho Chehab  *
4ccae7af2SMauro Carvalho Chehab  *  Copyright (c) 2009 Jochen Friedrich <jochen@scram.de>
5ccae7af2SMauro Carvalho Chehab  *
6ccae7af2SMauro Carvalho Chehab  *  This program is free software; you can redistribute it and/or modify
7ccae7af2SMauro Carvalho Chehab  *  it under the terms of the GNU General Public License as published by
8ccae7af2SMauro Carvalho Chehab  *  the Free Software Foundation; either version 2 of the License, or
9ccae7af2SMauro Carvalho Chehab  *  (at your option) any later version.
10ccae7af2SMauro Carvalho Chehab  *
11ccae7af2SMauro Carvalho Chehab  *  This program is distributed in the hope that it will be useful,
12ccae7af2SMauro Carvalho Chehab  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13ccae7af2SMauro Carvalho Chehab  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14ccae7af2SMauro Carvalho Chehab  *
15ccae7af2SMauro Carvalho Chehab  *  GNU General Public License for more details.
16ccae7af2SMauro Carvalho Chehab  *
17ccae7af2SMauro Carvalho Chehab  *  You should have received a copy of the GNU General Public License
18ccae7af2SMauro Carvalho Chehab  *  along with this program; if not, write to the Free Software
19ccae7af2SMauro Carvalho Chehab  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.=
20ccae7af2SMauro Carvalho Chehab  */
21ccae7af2SMauro Carvalho Chehab 
22ccae7af2SMauro Carvalho Chehab #ifndef MC44S803_H
23ccae7af2SMauro Carvalho Chehab #define MC44S803_H
24ccae7af2SMauro Carvalho Chehab 
259dc353c6SMauro Carvalho Chehab #include <linux/kconfig.h>
269dc353c6SMauro Carvalho Chehab 
27ccae7af2SMauro Carvalho Chehab struct dvb_frontend;
28ccae7af2SMauro Carvalho Chehab struct i2c_adapter;
29ccae7af2SMauro Carvalho Chehab 
30ccae7af2SMauro Carvalho Chehab struct mc44s803_config {
31ccae7af2SMauro Carvalho Chehab 	u8 i2c_address;
32ccae7af2SMauro Carvalho Chehab 	u8 dig_out;
33ccae7af2SMauro Carvalho Chehab };
34ccae7af2SMauro Carvalho Chehab 
359b174527SArnd Bergmann #if IS_REACHABLE(CONFIG_MEDIA_TUNER_MC44S803)
36ccae7af2SMauro Carvalho Chehab extern struct dvb_frontend *mc44s803_attach(struct dvb_frontend *fe,
37ccae7af2SMauro Carvalho Chehab 	 struct i2c_adapter *i2c, struct mc44s803_config *cfg);
38ccae7af2SMauro Carvalho Chehab #else
39ccae7af2SMauro Carvalho Chehab static inline struct dvb_frontend *mc44s803_attach(struct dvb_frontend *fe,
40ccae7af2SMauro Carvalho Chehab 	 struct i2c_adapter *i2c, struct mc44s803_config *cfg)
41ccae7af2SMauro Carvalho Chehab {
42ccae7af2SMauro Carvalho Chehab 	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
43ccae7af2SMauro Carvalho Chehab 	return NULL;
44ccae7af2SMauro Carvalho Chehab }
45ccae7af2SMauro Carvalho Chehab #endif /* CONFIG_MEDIA_TUNER_MC44S803 */
46ccae7af2SMauro Carvalho Chehab 
47ccae7af2SMauro Carvalho Chehab #endif
48