174ba9207SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
29a0bf528SMauro Carvalho Chehab /*
39a0bf528SMauro Carvalho Chehab     Conexant 22702 DVB OFDM demodulator driver
49a0bf528SMauro Carvalho Chehab 
59a0bf528SMauro Carvalho Chehab     based on:
69a0bf528SMauro Carvalho Chehab 	Alps TDMB7 DVB OFDM demodulator driver
79a0bf528SMauro Carvalho Chehab 
89a0bf528SMauro Carvalho Chehab     Copyright (C) 2001-2002 Convergence Integrated Media GmbH
99a0bf528SMauro Carvalho Chehab 	  Holger Waechtler <holger@convergence.de>
109a0bf528SMauro Carvalho Chehab 
119a0bf528SMauro Carvalho Chehab     Copyright (C) 2004 Steven Toth <stoth@linuxtv.org>
129a0bf528SMauro Carvalho Chehab 
139a0bf528SMauro Carvalho Chehab 
149a0bf528SMauro Carvalho Chehab */
159a0bf528SMauro Carvalho Chehab 
169a0bf528SMauro Carvalho Chehab #ifndef CX22702_H
179a0bf528SMauro Carvalho Chehab #define CX22702_H
189a0bf528SMauro Carvalho Chehab 
199a0bf528SMauro Carvalho Chehab #include <linux/dvb/frontend.h>
209a0bf528SMauro Carvalho Chehab 
219a0bf528SMauro Carvalho Chehab struct cx22702_config {
229a0bf528SMauro Carvalho Chehab 	/* the demodulator's i2c address */
239a0bf528SMauro Carvalho Chehab 	u8 demod_address;
249a0bf528SMauro Carvalho Chehab 
259a0bf528SMauro Carvalho Chehab 	/* serial/parallel output */
269a0bf528SMauro Carvalho Chehab #define CX22702_PARALLEL_OUTPUT 0
279a0bf528SMauro Carvalho Chehab #define CX22702_SERIAL_OUTPUT   1
289a0bf528SMauro Carvalho Chehab 	u8 output_mode;
299a0bf528SMauro Carvalho Chehab };
309a0bf528SMauro Carvalho Chehab 
319b174527SArnd Bergmann #if IS_REACHABLE(CONFIG_DVB_CX22702)
329a0bf528SMauro Carvalho Chehab extern struct dvb_frontend *cx22702_attach(
339a0bf528SMauro Carvalho Chehab 	const struct cx22702_config *config,
349a0bf528SMauro Carvalho Chehab 	struct i2c_adapter *i2c);
359a0bf528SMauro Carvalho Chehab #else
cx22702_attach(const struct cx22702_config * config,struct i2c_adapter * i2c)369a0bf528SMauro Carvalho Chehab static inline struct dvb_frontend *cx22702_attach(
379a0bf528SMauro Carvalho Chehab 	const struct cx22702_config *config,
389a0bf528SMauro Carvalho Chehab 	struct i2c_adapter *i2c)
399a0bf528SMauro Carvalho Chehab {
409a0bf528SMauro Carvalho Chehab 	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
419a0bf528SMauro Carvalho Chehab 	return NULL;
429a0bf528SMauro Carvalho Chehab }
439a0bf528SMauro Carvalho Chehab #endif
449a0bf528SMauro Carvalho Chehab 
459a0bf528SMauro Carvalho Chehab #endif
46