tea5767.h (1278B)
1/* SPDX-License-Identifier: GPL-2.0-or-later */ 2/* 3*/ 4 5#ifndef __TEA5767_H__ 6#define __TEA5767_H__ 7 8#include <linux/i2c.h> 9#include <media/dvb_frontend.h> 10 11enum tea5767_xtal { 12 TEA5767_LOW_LO_32768 = 0, 13 TEA5767_HIGH_LO_32768 = 1, 14 TEA5767_LOW_LO_13MHz = 2, 15 TEA5767_HIGH_LO_13MHz = 3, 16}; 17 18struct tea5767_ctrl { 19 unsigned int port1:1; 20 unsigned int port2:1; 21 unsigned int high_cut:1; 22 unsigned int st_noise:1; 23 unsigned int soft_mute:1; 24 unsigned int japan_band:1; 25 unsigned int deemph_75:1; 26 unsigned int pllref:1; 27 enum tea5767_xtal xtal_freq; 28}; 29 30#if IS_REACHABLE(CONFIG_MEDIA_TUNER_TEA5767) 31extern int tea5767_autodetection(struct i2c_adapter* i2c_adap, u8 i2c_addr); 32 33extern struct dvb_frontend *tea5767_attach(struct dvb_frontend *fe, 34 struct i2c_adapter* i2c_adap, 35 u8 i2c_addr); 36#else 37static inline int tea5767_autodetection(struct i2c_adapter* i2c_adap, 38 u8 i2c_addr) 39{ 40 printk(KERN_INFO "%s: not probed - driver disabled by Kconfig\n", 41 __func__); 42 return -EINVAL; 43} 44 45static inline struct dvb_frontend *tea5767_attach(struct dvb_frontend *fe, 46 struct i2c_adapter* i2c_adap, 47 u8 i2c_addr) 48{ 49 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 50 return NULL; 51} 52#endif 53 54#endif /* __TEA5767_H__ */