xref: /openbmc/linux/drivers/media/dvb-frontends/cx22702.h (revision 9b174527e7b756cda9f5d9e541f87b7fec9cfdf0)
19a0bf528SMauro Carvalho Chehab /*
29a0bf528SMauro Carvalho Chehab     Conexant 22702 DVB OFDM demodulator driver
39a0bf528SMauro Carvalho Chehab 
49a0bf528SMauro Carvalho Chehab     based on:
59a0bf528SMauro Carvalho Chehab 	Alps TDMB7 DVB OFDM demodulator driver
69a0bf528SMauro Carvalho Chehab 
79a0bf528SMauro Carvalho Chehab     Copyright (C) 2001-2002 Convergence Integrated Media GmbH
89a0bf528SMauro Carvalho Chehab 	  Holger Waechtler <holger@convergence.de>
99a0bf528SMauro Carvalho Chehab 
109a0bf528SMauro Carvalho Chehab     Copyright (C) 2004 Steven Toth <stoth@linuxtv.org>
119a0bf528SMauro Carvalho Chehab 
129a0bf528SMauro Carvalho Chehab     This program is free software; you can redistribute it and/or modify
139a0bf528SMauro Carvalho Chehab     it under the terms of the GNU General Public License as published by
149a0bf528SMauro Carvalho Chehab     the Free Software Foundation; either version 2 of the License, or
159a0bf528SMauro Carvalho Chehab     (at your option) any later version.
169a0bf528SMauro Carvalho Chehab 
179a0bf528SMauro Carvalho Chehab     This program is distributed in the hope that it will be useful,
189a0bf528SMauro Carvalho Chehab     but WITHOUT ANY WARRANTY; without even the implied warranty of
199a0bf528SMauro Carvalho Chehab     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
209a0bf528SMauro Carvalho Chehab     GNU General Public License for more details.
219a0bf528SMauro Carvalho Chehab 
229a0bf528SMauro Carvalho Chehab     You should have received a copy of the GNU General Public License
239a0bf528SMauro Carvalho Chehab     along with this program; if not, write to the Free Software
249a0bf528SMauro Carvalho Chehab     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
259a0bf528SMauro Carvalho Chehab 
269a0bf528SMauro Carvalho Chehab */
279a0bf528SMauro Carvalho Chehab 
289a0bf528SMauro Carvalho Chehab #ifndef CX22702_H
299a0bf528SMauro Carvalho Chehab #define CX22702_H
309a0bf528SMauro Carvalho Chehab 
31782d8b74SMauro Carvalho Chehab #include <linux/kconfig.h>
329a0bf528SMauro Carvalho Chehab #include <linux/dvb/frontend.h>
339a0bf528SMauro Carvalho Chehab 
349a0bf528SMauro Carvalho Chehab struct cx22702_config {
359a0bf528SMauro Carvalho Chehab 	/* the demodulator's i2c address */
369a0bf528SMauro Carvalho Chehab 	u8 demod_address;
379a0bf528SMauro Carvalho Chehab 
389a0bf528SMauro Carvalho Chehab 	/* serial/parallel output */
399a0bf528SMauro Carvalho Chehab #define CX22702_PARALLEL_OUTPUT 0
409a0bf528SMauro Carvalho Chehab #define CX22702_SERIAL_OUTPUT   1
419a0bf528SMauro Carvalho Chehab 	u8 output_mode;
429a0bf528SMauro Carvalho Chehab };
439a0bf528SMauro Carvalho Chehab 
44*9b174527SArnd Bergmann #if IS_REACHABLE(CONFIG_DVB_CX22702)
459a0bf528SMauro Carvalho Chehab extern struct dvb_frontend *cx22702_attach(
469a0bf528SMauro Carvalho Chehab 	const struct cx22702_config *config,
479a0bf528SMauro Carvalho Chehab 	struct i2c_adapter *i2c);
489a0bf528SMauro Carvalho Chehab #else
499a0bf528SMauro Carvalho Chehab static inline struct dvb_frontend *cx22702_attach(
509a0bf528SMauro Carvalho Chehab 	const struct cx22702_config *config,
519a0bf528SMauro Carvalho Chehab 	struct i2c_adapter *i2c)
529a0bf528SMauro Carvalho Chehab {
539a0bf528SMauro Carvalho Chehab 	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
549a0bf528SMauro Carvalho Chehab 	return NULL;
559a0bf528SMauro Carvalho Chehab }
569a0bf528SMauro Carvalho Chehab #endif
579a0bf528SMauro Carvalho Chehab 
589a0bf528SMauro Carvalho Chehab #endif
59