xref: /openbmc/linux/drivers/media/dvb-frontends/cx22702.h (revision 9a0bf528b4d66b605f02634236da085595c22101)
1*9a0bf528SMauro Carvalho Chehab /*
2*9a0bf528SMauro Carvalho Chehab     Conexant 22702 DVB OFDM demodulator driver
3*9a0bf528SMauro Carvalho Chehab 
4*9a0bf528SMauro Carvalho Chehab     based on:
5*9a0bf528SMauro Carvalho Chehab 	Alps TDMB7 DVB OFDM demodulator driver
6*9a0bf528SMauro Carvalho Chehab 
7*9a0bf528SMauro Carvalho Chehab     Copyright (C) 2001-2002 Convergence Integrated Media GmbH
8*9a0bf528SMauro Carvalho Chehab 	  Holger Waechtler <holger@convergence.de>
9*9a0bf528SMauro Carvalho Chehab 
10*9a0bf528SMauro Carvalho Chehab     Copyright (C) 2004 Steven Toth <stoth@linuxtv.org>
11*9a0bf528SMauro Carvalho Chehab 
12*9a0bf528SMauro Carvalho Chehab     This program is free software; you can redistribute it and/or modify
13*9a0bf528SMauro Carvalho Chehab     it under the terms of the GNU General Public License as published by
14*9a0bf528SMauro Carvalho Chehab     the Free Software Foundation; either version 2 of the License, or
15*9a0bf528SMauro Carvalho Chehab     (at your option) any later version.
16*9a0bf528SMauro Carvalho Chehab 
17*9a0bf528SMauro Carvalho Chehab     This program is distributed in the hope that it will be useful,
18*9a0bf528SMauro Carvalho Chehab     but WITHOUT ANY WARRANTY; without even the implied warranty of
19*9a0bf528SMauro Carvalho Chehab     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20*9a0bf528SMauro Carvalho Chehab     GNU General Public License for more details.
21*9a0bf528SMauro Carvalho Chehab 
22*9a0bf528SMauro Carvalho Chehab     You should have received a copy of the GNU General Public License
23*9a0bf528SMauro Carvalho Chehab     along with this program; if not, write to the Free Software
24*9a0bf528SMauro Carvalho Chehab     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25*9a0bf528SMauro Carvalho Chehab 
26*9a0bf528SMauro Carvalho Chehab */
27*9a0bf528SMauro Carvalho Chehab 
28*9a0bf528SMauro Carvalho Chehab #ifndef CX22702_H
29*9a0bf528SMauro Carvalho Chehab #define CX22702_H
30*9a0bf528SMauro Carvalho Chehab 
31*9a0bf528SMauro Carvalho Chehab #include <linux/dvb/frontend.h>
32*9a0bf528SMauro Carvalho Chehab 
33*9a0bf528SMauro Carvalho Chehab struct cx22702_config {
34*9a0bf528SMauro Carvalho Chehab 	/* the demodulator's i2c address */
35*9a0bf528SMauro Carvalho Chehab 	u8 demod_address;
36*9a0bf528SMauro Carvalho Chehab 
37*9a0bf528SMauro Carvalho Chehab 	/* serial/parallel output */
38*9a0bf528SMauro Carvalho Chehab #define CX22702_PARALLEL_OUTPUT 0
39*9a0bf528SMauro Carvalho Chehab #define CX22702_SERIAL_OUTPUT   1
40*9a0bf528SMauro Carvalho Chehab 	u8 output_mode;
41*9a0bf528SMauro Carvalho Chehab };
42*9a0bf528SMauro Carvalho Chehab 
43*9a0bf528SMauro Carvalho Chehab #if defined(CONFIG_DVB_CX22702) || (defined(CONFIG_DVB_CX22702_MODULE) \
44*9a0bf528SMauro Carvalho Chehab 	&& defined(MODULE))
45*9a0bf528SMauro Carvalho Chehab extern struct dvb_frontend *cx22702_attach(
46*9a0bf528SMauro Carvalho Chehab 	const struct cx22702_config *config,
47*9a0bf528SMauro Carvalho Chehab 	struct i2c_adapter *i2c);
48*9a0bf528SMauro Carvalho Chehab #else
49*9a0bf528SMauro Carvalho Chehab static inline struct dvb_frontend *cx22702_attach(
50*9a0bf528SMauro Carvalho Chehab 	const struct cx22702_config *config,
51*9a0bf528SMauro Carvalho Chehab 	struct i2c_adapter *i2c)
52*9a0bf528SMauro Carvalho Chehab {
53*9a0bf528SMauro Carvalho Chehab 	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
54*9a0bf528SMauro Carvalho Chehab 	return NULL;
55*9a0bf528SMauro Carvalho Chehab }
56*9a0bf528SMauro Carvalho Chehab #endif
57*9a0bf528SMauro Carvalho Chehab 
58*9a0bf528SMauro Carvalho Chehab #endif
59