174ba9207SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
29a0bf528SMauro Carvalho Chehab /*
39a0bf528SMauro Carvalho Chehab     Driver for Zarlink MT312 Satellite Channel Decoder
49a0bf528SMauro Carvalho Chehab 
59a0bf528SMauro Carvalho Chehab     Copyright (C) 2003 Andreas Oberritter <obi@linuxtv.org>
69a0bf528SMauro Carvalho Chehab 
79a0bf528SMauro Carvalho Chehab 
89a0bf528SMauro Carvalho Chehab     References:
99a0bf528SMauro Carvalho Chehab     http://products.zarlink.com/product_profiles/MT312.htm
109a0bf528SMauro Carvalho Chehab     http://products.zarlink.com/product_profiles/SL1935.htm
119a0bf528SMauro Carvalho Chehab */
129a0bf528SMauro Carvalho Chehab 
139a0bf528SMauro Carvalho Chehab #ifndef MT312_H
149a0bf528SMauro Carvalho Chehab #define MT312_H
159a0bf528SMauro Carvalho Chehab 
169a0bf528SMauro Carvalho Chehab #include <linux/dvb/frontend.h>
179a0bf528SMauro Carvalho Chehab 
189a0bf528SMauro Carvalho Chehab struct mt312_config {
199a0bf528SMauro Carvalho Chehab 	/* the demodulator's i2c address */
209a0bf528SMauro Carvalho Chehab 	u8 demod_address;
219a0bf528SMauro Carvalho Chehab 
229a0bf528SMauro Carvalho Chehab 	/* inverted voltage setting */
239a0bf528SMauro Carvalho Chehab 	unsigned int voltage_inverted:1;
249a0bf528SMauro Carvalho Chehab };
259a0bf528SMauro Carvalho Chehab 
269b174527SArnd Bergmann #if IS_REACHABLE(CONFIG_DVB_MT312)
279a0bf528SMauro Carvalho Chehab struct dvb_frontend *mt312_attach(const struct mt312_config *config,
289a0bf528SMauro Carvalho Chehab 					struct i2c_adapter *i2c);
299a0bf528SMauro Carvalho Chehab #else
mt312_attach(const struct mt312_config * config,struct i2c_adapter * i2c)309a0bf528SMauro Carvalho Chehab static inline struct dvb_frontend *mt312_attach(
319a0bf528SMauro Carvalho Chehab 	const struct mt312_config *config, struct i2c_adapter *i2c)
329a0bf528SMauro Carvalho Chehab {
339a0bf528SMauro Carvalho Chehab 	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
349a0bf528SMauro Carvalho Chehab 	return NULL;
359a0bf528SMauro Carvalho Chehab }
369a0bf528SMauro Carvalho Chehab #endif /* CONFIG_DVB_MT312 */
379a0bf528SMauro Carvalho Chehab 
389a0bf528SMauro Carvalho Chehab #endif /* MT312_H */
39