11802d0beSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 2*b0649455SMauro Carvalho Chehab /* 39a0bf528SMauro Carvalho Chehab * Driver for Zarlink ZL10036 DVB-S silicon tuner 49a0bf528SMauro Carvalho Chehab * 59a0bf528SMauro Carvalho Chehab * Copyright (C) 2006 Tino Reichardt 69a0bf528SMauro Carvalho Chehab * Copyright (C) 2007-2009 Matthias Schwarzott <zzam@gentoo.de> 79a0bf528SMauro Carvalho Chehab */ 89a0bf528SMauro Carvalho Chehab 99a0bf528SMauro Carvalho Chehab #ifndef DVB_ZL10036_H 109a0bf528SMauro Carvalho Chehab #define DVB_ZL10036_H 119a0bf528SMauro Carvalho Chehab 129a0bf528SMauro Carvalho Chehab #include <linux/i2c.h> 13fada1935SMauro Carvalho Chehab #include <media/dvb_frontend.h> 149a0bf528SMauro Carvalho Chehab 159a0bf528SMauro Carvalho Chehab struct zl10036_config { 169a0bf528SMauro Carvalho Chehab u8 tuner_address; 179a0bf528SMauro Carvalho Chehab int rf_loop_enable; 189a0bf528SMauro Carvalho Chehab }; 199a0bf528SMauro Carvalho Chehab 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 */ 299a0bf528SMauro Carvalho Chehab extern struct dvb_frontend *zl10036_attach(struct dvb_frontend *fe, 309a0bf528SMauro Carvalho Chehab const struct zl10036_config *config, struct i2c_adapter *i2c); 319a0bf528SMauro Carvalho Chehab #else zl10036_attach(struct dvb_frontend * fe,const struct zl10036_config * config,struct i2c_adapter * i2c)329a0bf528SMauro Carvalho Chehabstatic inline struct dvb_frontend *zl10036_attach(struct dvb_frontend *fe, 339a0bf528SMauro Carvalho Chehab const struct zl10036_config *config, struct i2c_adapter *i2c) 349a0bf528SMauro Carvalho Chehab { 359a0bf528SMauro Carvalho Chehab printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 369a0bf528SMauro Carvalho Chehab return NULL; 379a0bf528SMauro Carvalho Chehab } 389a0bf528SMauro Carvalho Chehab #endif 399a0bf528SMauro Carvalho Chehab 409a0bf528SMauro Carvalho Chehab #endif /* DVB_ZL10036_H */ 41