1/* 2 This program is free software; you can redistribute it and/or modify 3 it under the terms of the GNU General Public License as published by 4 the Free Software Foundation; either version 2 of the License, or 5 (at your option) any later version. 6 7 This program is distributed in the hope that it will be useful, 8 but WITHOUT ANY WARRANTY; without even the implied warranty of 9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 GNU General Public License for more details. 11 12 You should have received a copy of the GNU General Public License 13 along with this program; if not, write to the Free Software 14 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 15*/ 16 17#ifndef __TEA5767_H__ 18#define __TEA5767_H__ 19 20#include <linux/i2c.h> 21#include "dvb_frontend.h" 22 23enum tea5767_xtal { 24 TEA5767_LOW_LO_32768 = 0, 25 TEA5767_HIGH_LO_32768 = 1, 26 TEA5767_LOW_LO_13MHz = 2, 27 TEA5767_HIGH_LO_13MHz = 3, 28}; 29 30struct tea5767_ctrl { 31 unsigned int port1:1; 32 unsigned int port2:1; 33 unsigned int high_cut:1; 34 unsigned int st_noise:1; 35 unsigned int soft_mute:1; 36 unsigned int japan_band:1; 37 unsigned int deemph_75:1; 38 unsigned int pllref:1; 39 enum tea5767_xtal xtal_freq; 40}; 41 42#if defined(CONFIG_MEDIA_TUNER_TEA5767) || (defined(CONFIG_MEDIA_TUNER_TEA5767_MODULE) \ 43 && defined(MODULE)) 44extern int tea5767_autodetection(struct i2c_adapter* i2c_adap, u8 i2c_addr); 45 46extern struct dvb_frontend *tea5767_attach(struct dvb_frontend *fe, 47 struct i2c_adapter* i2c_adap, 48 u8 i2c_addr); 49#else 50static inline int tea5767_autodetection(struct i2c_adapter* i2c_adap, 51 u8 i2c_addr) 52{ 53 printk(KERN_INFO "%s: not probed - driver disabled by Kconfig\n", 54 __func__); 55 return -EINVAL; 56} 57 58static inline struct dvb_frontend *tea5767_attach(struct dvb_frontend *fe, 59 struct i2c_adapter* i2c_adap, 60 u8 i2c_addr) 61{ 62 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 63 return NULL; 64} 65#endif 66 67#endif /* __TEA5767_H__ */ 68