brintos

brintos / linux-shallow public Read only

0
0
Text · 1.2 KiB · f89607d Raw
55 lines · c
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#else37static 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#endif53 54#endif /* __TEA5767_H__ */55