File Index
Files and directories
Sign in
FILE

dib9000.h

File preview with syntax highlighting.

linux-6.19.14/drivers/media/dvb-frontends/dib9000.h C
  1/* SPDX-License-Identifier: GPL-2.0 */
  2#ifndef DIB9000_H
  3#define DIB9000_H
  4
  5#include "dibx000_common.h"
  6
  7struct dib9000_config {
  8	u8 dvbt_mode;
  9	u8 output_mpeg2_in_188_bytes;
 10	u8 hostbus_diversity;
 11	struct dibx000_bandwidth_config *bw;
 12
 13	u16 if_drives;
 14
 15	u32 timing_frequency;
 16	u32 xtal_clock_khz;
 17	u32 vcxo_timer;
 18	u32 demod_clock_khz;
 19
 20	const u8 *microcode_B_fe_buffer;
 21	u32 microcode_B_fe_size;
 22
 23	struct dibGPIOFunction gpio_function[2];
 24	struct dibSubbandSelection subband;
 25
 26	u8 output_mode;
 27};
 28
 29#define DEFAULT_DIB9000_I2C_ADDRESS 18
 30
 31#if IS_REACHABLE(CONFIG_DVB_DIB9000)
 32extern struct dvb_frontend *dib9000_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, const struct dib9000_config *cfg);
 33extern int dib9000_i2c_enumeration(struct i2c_adapter *host, int no_of_demods, u8 default_addr, u8 first_addr);
 34extern struct i2c_adapter *dib9000_get_tuner_interface(struct dvb_frontend *fe);
 35extern struct i2c_adapter *dib9000_get_i2c_master(struct dvb_frontend *fe, enum dibx000_i2c_interface intf, int gating);
 36extern int dib9000_set_gpio(struct dvb_frontend *fe, u8 num, u8 dir, u8 val);
 37extern int dib9000_fw_pid_filter_ctrl(struct dvb_frontend *fe, u8 onoff);
 38extern int dib9000_fw_pid_filter(struct dvb_frontend *fe, u8 id, u16 pid, u8 onoff);
 39extern int dib9000_firmware_post_pll_init(struct dvb_frontend *fe);
 40extern int dib9000_set_slave_frontend(struct dvb_frontend *fe, struct dvb_frontend *fe_slave);
 41extern struct dvb_frontend *dib9000_get_slave_frontend(struct dvb_frontend *fe, int slave_index);
 42extern struct i2c_adapter *dib9000_get_component_bus_interface(struct dvb_frontend *fe);
 43extern int dib9000_set_i2c_adapter(struct dvb_frontend *fe, struct i2c_adapter *i2c);
 44extern int dib9000_fw_set_component_bus_speed(struct dvb_frontend *fe, u16 speed);
 45#else
 46static inline struct dvb_frontend *dib9000_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, struct dib9000_config *cfg)
 47{
 48	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
 49	return NULL;
 50}
 51
 52static inline struct i2c_adapter *dib9000_get_i2c_master(struct dvb_frontend *fe, enum dibx000_i2c_interface intf, int gating)
 53{
 54	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
 55	return NULL;
 56}
 57
 58static inline int dib9000_i2c_enumeration(struct i2c_adapter *host, int no_of_demods, u8 default_addr, u8 first_addr)
 59{
 60	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
 61	return -ENODEV;
 62}
 63
 64static inline struct i2c_adapter *dib9000_get_tuner_interface(struct dvb_frontend *fe)
 65{
 66	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
 67	return NULL;
 68}
 69
 70static inline int dib9000_set_gpio(struct dvb_frontend *fe, u8 num, u8 dir, u8 val)
 71{
 72	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
 73	return -ENODEV;
 74}
 75
 76static inline int dib9000_fw_pid_filter_ctrl(struct dvb_frontend *fe, u8 onoff)
 77{
 78	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
 79	return -ENODEV;
 80}
 81
 82static inline int dib9000_fw_pid_filter(struct dvb_frontend *fe, u8 id, u16 pid, u8 onoff)
 83{
 84	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
 85	return -ENODEV;
 86}
 87
 88static inline int dib9000_firmware_post_pll_init(struct dvb_frontend *fe)
 89{
 90	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
 91	return -ENODEV;
 92}
 93
 94static inline int dib9000_set_slave_frontend(struct dvb_frontend *fe, struct dvb_frontend *fe_slave)
 95{
 96	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
 97	return -ENODEV;
 98}
 99
100static inline struct dvb_frontend *dib9000_get_slave_frontend(struct dvb_frontend *fe, int slave_index)
101{
102	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
103	return NULL;
104}
105
106static inline struct i2c_adapter *dib9000_get_component_bus_interface(struct dvb_frontend *fe)
107{
108	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
109	return NULL;
110}
111
112static inline int dib9000_set_i2c_adapter(struct dvb_frontend *fe, struct i2c_adapter *i2c)
113{
114	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
115	return -ENODEV;
116}
117
118static inline int dib9000_fw_set_component_bus_speed(struct dvb_frontend *fe, u16 speed)
119{
120	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
121	return -ENODEV;
122}
123#endif
124
125#endif
~/ Read-only file preview.