xref: /openbmc/linux/drivers/media/dvb-frontends/cx24117.h (revision 0d78868094c482367692cf40f6c364e06815ad05)
1*0d788680SLuis Alves /*
2*0d788680SLuis Alves     Conexant cx24117/cx24132 - Dual DVBS/S2 Satellite demod/tuner driver
3*0d788680SLuis Alves 
4*0d788680SLuis Alves     Copyright (C) 2013 Luis Alves <ljalvs@gmail.com>
5*0d788680SLuis Alves 	(based on cx24116.h by Steven Toth)
6*0d788680SLuis Alves 
7*0d788680SLuis Alves     This program is free software; you can redistribute it and/or modify
8*0d788680SLuis Alves     it under the terms of the GNU General Public License as published by
9*0d788680SLuis Alves     the Free Software Foundation; either version 2 of the License, or
10*0d788680SLuis Alves     (at your option) any later version.
11*0d788680SLuis Alves 
12*0d788680SLuis Alves     This program is distributed in the hope that it will be useful,
13*0d788680SLuis Alves     but WITHOUT ANY WARRANTY; without even the implied warranty of
14*0d788680SLuis Alves     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15*0d788680SLuis Alves     GNU General Public License for more details.
16*0d788680SLuis Alves 
17*0d788680SLuis Alves     You should have received a copy of the GNU General Public License
18*0d788680SLuis Alves     along with this program; if not, write to the Free Software
19*0d788680SLuis Alves     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20*0d788680SLuis Alves */
21*0d788680SLuis Alves 
22*0d788680SLuis Alves #ifndef CX24117_H
23*0d788680SLuis Alves #define CX24117_H
24*0d788680SLuis Alves 
25*0d788680SLuis Alves #include <linux/kconfig.h>
26*0d788680SLuis Alves #include <linux/dvb/frontend.h>
27*0d788680SLuis Alves 
28*0d788680SLuis Alves struct cx24117_config {
29*0d788680SLuis Alves 	/* the demodulator's i2c address */
30*0d788680SLuis Alves 	u8 demod_address;
31*0d788680SLuis Alves };
32*0d788680SLuis Alves 
33*0d788680SLuis Alves #if IS_ENABLED(CONFIG_DVB_CX24117)
34*0d788680SLuis Alves extern struct dvb_frontend *cx24117_attach(
35*0d788680SLuis Alves 	const struct cx24117_config *config,
36*0d788680SLuis Alves 	struct i2c_adapter *i2c, struct dvb_frontend *fe);
37*0d788680SLuis Alves #else
38*0d788680SLuis Alves static inline struct dvb_frontend *cx24117_attach(
39*0d788680SLuis Alves 	const struct cx24117_config *config,
40*0d788680SLuis Alves 	struct i2c_adapter *i2c, struct dvb_frontend *fe)
41*0d788680SLuis Alves {
42*0d788680SLuis Alves 	dev_warn(&i2c->dev, "%s: driver disabled by Kconfig\n", __func__);
43*0d788680SLuis Alves 	return NULL;
44*0d788680SLuis Alves }
45*0d788680SLuis Alves #endif
46*0d788680SLuis Alves 
47*0d788680SLuis Alves #endif /* CX24117_H */
48