xref: /linux/drivers/media/dvb-frontends/zl10036.h (revision cdd38c5f1ce4398ec58fec95904b75824daab7b5)
11802d0beSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
2*b0649455SMauro Carvalho Chehab /*
368b3289fSMatthias Schwarzott  * Driver for Zarlink ZL10036 DVB-S silicon tuner
468b3289fSMatthias Schwarzott  *
568b3289fSMatthias Schwarzott  * Copyright (C) 2006 Tino Reichardt
668b3289fSMatthias Schwarzott  * Copyright (C) 2007-2009 Matthias Schwarzott <zzam@gentoo.de>
768b3289fSMatthias Schwarzott  */
868b3289fSMatthias Schwarzott 
968b3289fSMatthias Schwarzott #ifndef DVB_ZL10036_H
1068b3289fSMatthias Schwarzott #define DVB_ZL10036_H
1168b3289fSMatthias Schwarzott 
1268b3289fSMatthias Schwarzott #include <linux/i2c.h>
13fada1935SMauro Carvalho Chehab #include <media/dvb_frontend.h>
1468b3289fSMatthias Schwarzott 
1568b3289fSMatthias Schwarzott struct zl10036_config {
1668b3289fSMatthias Schwarzott 	u8 tuner_address;
1768b3289fSMatthias Schwarzott 	int rf_loop_enable;
1868b3289fSMatthias Schwarzott };
1968b3289fSMatthias Schwarzott 
209b174527SArnd Bergmann #if IS_REACHABLE(CONFIG_DVB_ZL10036)
21b95b0c98SMauro Carvalho Chehab /**
22*b0649455SMauro Carvalho Chehab  * zl10036_attach - Attach a zl10036 tuner to the supplied frontend structure.
23b95b0c98SMauro Carvalho Chehab  *
24b95b0c98SMauro Carvalho Chehab  * @fe: Frontend to attach to.
25b95b0c98SMauro Carvalho Chehab  * @config: zl10036_config structure.
26b95b0c98SMauro Carvalho Chehab  * @i2c: pointer to struct i2c_adapter.
27b95b0c98SMauro Carvalho Chehab  * return: FE pointer on success, NULL on failure.
28b95b0c98SMauro Carvalho Chehab  */
2968b3289fSMatthias Schwarzott extern struct dvb_frontend *zl10036_attach(struct dvb_frontend *fe,
3068b3289fSMatthias Schwarzott 	const struct zl10036_config *config, struct i2c_adapter *i2c);
3168b3289fSMatthias Schwarzott #else
3268b3289fSMatthias Schwarzott static inline struct dvb_frontend *zl10036_attach(struct dvb_frontend *fe,
3368b3289fSMatthias Schwarzott 	const struct zl10036_config *config, struct i2c_adapter *i2c)
3468b3289fSMatthias Schwarzott {
3568b3289fSMatthias Schwarzott 	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
3668b3289fSMatthias Schwarzott 	return NULL;
3768b3289fSMatthias Schwarzott }
3868b3289fSMatthias Schwarzott #endif
3968b3289fSMatthias Schwarzott 
4068b3289fSMatthias Schwarzott #endif /* DVB_ZL10036_H */
41