174ba9207SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
29a0bf528SMauro Carvalho Chehab /*
39a0bf528SMauro Carvalho Chehab 	TDA665x tuner driver
49a0bf528SMauro Carvalho Chehab 	Copyright (C) Manu Abraham (abraham.manu@gmail.com)
59a0bf528SMauro Carvalho Chehab 
69a0bf528SMauro Carvalho Chehab */
79a0bf528SMauro Carvalho Chehab 
89a0bf528SMauro Carvalho Chehab #ifndef __TDA665x_H
99a0bf528SMauro Carvalho Chehab #define __TDA665x_H
109a0bf528SMauro Carvalho Chehab 
119a0bf528SMauro Carvalho Chehab struct tda665x_config {
129a0bf528SMauro Carvalho Chehab 	char name[128];
139a0bf528SMauro Carvalho Chehab 
149a0bf528SMauro Carvalho Chehab 	u8	addr;
159a0bf528SMauro Carvalho Chehab 	u32	frequency_min;
169a0bf528SMauro Carvalho Chehab 	u32	frequency_max;
179a0bf528SMauro Carvalho Chehab 	u32	frequency_offst;
189a0bf528SMauro Carvalho Chehab 	u32	ref_multiplier;
199a0bf528SMauro Carvalho Chehab 	u32	ref_divider;
209a0bf528SMauro Carvalho Chehab };
219a0bf528SMauro Carvalho Chehab 
229b174527SArnd Bergmann #if IS_REACHABLE(CONFIG_DVB_TDA665x)
239a0bf528SMauro Carvalho Chehab 
249a0bf528SMauro Carvalho Chehab extern struct dvb_frontend *tda665x_attach(struct dvb_frontend *fe,
259a0bf528SMauro Carvalho Chehab 					   const struct tda665x_config *config,
269a0bf528SMauro Carvalho Chehab 					   struct i2c_adapter *i2c);
279a0bf528SMauro Carvalho Chehab 
289a0bf528SMauro Carvalho Chehab #else
299a0bf528SMauro Carvalho Chehab 
tda665x_attach(struct dvb_frontend * fe,const struct tda665x_config * config,struct i2c_adapter * i2c)309a0bf528SMauro Carvalho Chehab static inline struct dvb_frontend *tda665x_attach(struct dvb_frontend *fe,
319a0bf528SMauro Carvalho Chehab 						  const struct tda665x_config *config,
329a0bf528SMauro Carvalho Chehab 						  struct i2c_adapter *i2c)
339a0bf528SMauro Carvalho Chehab {
349a0bf528SMauro Carvalho Chehab 	printk(KERN_WARNING "%s: Driver disabled by Kconfig\n", __func__);
359a0bf528SMauro Carvalho Chehab 	return NULL;
369a0bf528SMauro Carvalho Chehab }
379a0bf528SMauro Carvalho Chehab 
389a0bf528SMauro Carvalho Chehab #endif /* CONFIG_DVB_TDA665x */
399a0bf528SMauro Carvalho Chehab 
409a0bf528SMauro Carvalho Chehab #endif /* __TDA665x_H */
41