9.2.2. 前端驅動程式

9.2.2.1. 前端附加標頭檔案

struct a8293_platform_data

a8293 驅動程式的平臺數據

定義:

struct a8293_platform_data {
    struct dvb_frontend *dvb_frontend;
    int volt_slew_nanos_per_mv;
};

成員

dvb_frontend

DVB 前端。

volt_slew_nanos_per_mv

增加 LNB 電壓時的轉換率,單位為納秒/毫伏。

struct af9013_platform_data

af9013 驅動程式的平臺數據

定義:

struct af9013_platform_data {
    u32 clk;
#define AF9013_TUNER_MXL5003D      3 ;
#define AF9013_TUNER_MXL5005D     13 ;
#define AF9013_TUNER_MXL5005R     30 ;
#define AF9013_TUNER_ENV77H11D5  129 ;
#define AF9013_TUNER_MT2060      130 ;
#define AF9013_TUNER_MC44S803    133 ;
#define AF9013_TUNER_QT1010      134 ;
#define AF9013_TUNER_UNKNOWN     140 ;
#define AF9013_TUNER_MT2060_2    147 ;
#define AF9013_TUNER_TDA18271    156 ;
#define AF9013_TUNER_QT1010A     162 ;
#define AF9013_TUNER_MXL5007T    177 ;
#define AF9013_TUNER_TDA18218    179 ;
    u8 tuner;
    u32 if_frequency;
#define AF9013_TS_MODE_USB       0;
#define AF9013_TS_MODE_PARALLEL  1;
#define AF9013_TS_MODE_SERIAL    2;
    u8 ts_mode;
    u8 ts_output_pin;
    bool spec_inv;
    u8 api_version[4];
#define AF9013_GPIO_ON (1 << 0);
#define AF9013_GPIO_EN (1 << 1);
#define AF9013_GPIO_O  (1 << 2);
#define AF9013_GPIO_I  (1 << 3);
#define AF9013_GPIO_LO (AF9013_GPIO_ON|AF9013_GPIO_EN);
#define AF9013_GPIO_HI (AF9013_GPIO_ON|AF9013_GPIO_EN|AF9013_GPIO_O);
#define AF9013_GPIO_TUNER_ON  (AF9013_GPIO_ON|AF9013_GPIO_EN);
#define AF9013_GPIO_TUNER_OFF (AF9013_GPIO_ON|AF9013_GPIO_EN|AF9013_GPIO_O);
    u8 gpio[4];
    struct dvb_frontend* (*get_dvb_frontend)(struct i2c_client *);
    struct i2c_adapter* (*get_i2c_adapter)(struct i2c_client *);
    int (*pid_filter_ctrl)(struct dvb_frontend *, int);
    int (*pid_filter)(struct dvb_frontend *, u8, u16, int);
};

成員

clk

時鐘頻率。

tuner

使用的調諧器型號。

if_frequency

中頻頻率。

ts_mode

TS 模式。

ts_output_pin

TS 輸出引腳。

spec_inv

輸入頻譜反轉。

api_version

韌體 API 版本。

gpio

GPIO。

get_dvb_frontend

獲取 DVB 前端回撥。

get_i2c_adapter

獲取 I2C 介面卡。

pid_filter_ctrl

控制 PID 過濾器。

pid_filter

將 PID 設定為 PID 過濾器。

struct ascot2e_config

Ascot2E 調諧器驅動程式的配置

定義:

struct ascot2e_config {
    u8 i2c_address;
    u8 xtal_freq_mhz;
    void *set_tuner_priv;
    int (*set_tuner_callback)(void *, int);
};

成員

i2c_address

調諧器的 I2C 地址

xtal_freq_mhz

晶體振盪器頻率,MHz

set_tuner_priv

回撥函式私有上下文

set_tuner_callback

回撥函式,用於通知父驅動程式當前哪個調諧器處於活動狀態

struct dvb_frontend *ascot2e_attach(struct dvb_frontend *fe, const struct ascot2e_config *config, struct i2c_adapter *i2c)

附加一個 ascot2e 調諧器

引數

struct dvb_frontend *fe

要附加的前端

const struct ascot2e_config *config

指向具有調諧器配置的 struct ascot2e_config 的指標。

struct i2c_adapter *i2c

要使用的 i2c 介面卡。

返回值

成功時返回 FE 指標,失敗時返回 NULL。

struct cxd2820r_platform_data

cxd2820r 驅動程式的平臺數據

定義:

struct cxd2820r_platform_data {
    u8 ts_mode;
    bool ts_clk_inv;
    bool if_agc_polarity;
    bool spec_inv;
    int **gpio_chip_base;
    struct dvb_frontend* (*get_dvb_frontend)(struct i2c_client *);
};

成員

ts_mode

TS 模式。

ts_clk_inv

TS 時鐘反轉。

if_agc_polarity

中頻 AGC 極性。

spec_inv

輸入頻譜反轉。

gpio_chip_base

GPIO。

get_dvb_frontend

獲取 DVB 前端。

struct cxd2820r_config

cxd2020r 解調器的配置

定義:

struct cxd2820r_config {
    u8 i2c_address;
    u8 ts_mode;
    bool ts_clock_inv;
    bool if_agc_polarity;
    bool spec_inv;
};

成員

i2c_address

解調器 I2C 地址。驅動程式自動從主地址確定 DVB-C 從裝置 I2C 地址。預設值:無,必須設定。值:0x6c、0x6d。

ts_mode

TS 輸出模式。預設值:無,必須設定。值:FIXME?

ts_clock_inv

TS 時鐘反轉。預設值:0。值:0、1。

if_agc_polarity

預設值:0。值:0、1

spec_inv

頻譜反轉。預設值:0。值:0、1。

struct dvb_frontend *cxd2820r_attach(const struct cxd2820r_config *config, struct i2c_adapter *i2c, int *gpio_chip_base)

附加一個 cxd2820r 解調器

引數

const struct cxd2820r_config *config

指向具有解調器配置的 struct cxd2820r_config 的指標。

struct i2c_adapter *i2c

要使用的 i2c 介面卡。

int *gpio_chip_base

如果為零,則停用 GPIO 設定。否則,如果設定了 CONFIG_GPIOLIB,則動態分配 gpio 基址;如果未設定,則使用其值來設定 GPIO 引腳。

返回值

成功時返回 FE 指標,失敗時返回 NULL。

struct drxk_config

配置 DRX-K 的初始引數

定義:

struct drxk_config {
    u8 adr;
    bool single_master;
    bool no_i2c_bridge;
    bool parallel_ts;
    bool dynamic_clk;
    bool enable_merr_cfg;
    bool antenna_dvbt;
    u16 antenna_gpio;
    u8 mpeg_out_clk_strength;
    int chunk_size;
    const char      *microcode_name;
    int qam_demod_parameter_count;
};

成員

adr

DRX-K 的 I2C 地址

single_master

裝置處於單主模式

no_i2c_bridge

不要切換 I2C 橋來與調諧器通訊

parallel_ts

True 表示裝置使用並行 TS,否則使用序列 TS。

dynamic_clk

True 表示時鐘將動態調整。否則為靜態時鐘。

enable_merr_cfg

啟用 SIO_PDR_PERR_CFG/SIO_PDR_MVAL_CFG。

antenna_dvbt

用於將天線更改為 DVB-C 的 GPIO 位。值為 1 表示 1=DVBC,0 = DVBT。零表示相反的情況。

antenna_gpio

用於控制天線的 GPIO 位

mpeg_out_clk_strength

DRXK Mpeg 輸出時鐘驅動強度。

chunk_size

I2C 訊息的最大大小

microcode_name

包含微程式碼的韌體檔案的名稱

qam_demod_parameter_count

用於設定解調器引數的命令的引數數量。所有韌體都使用 2 引數命令。例外情況是 drxk_a3.mc 韌體,它使用 4 引數命令。0(預設值)或更低的值表示將自動檢測正確的引數數量。

描述

*_gpio 變數上,位 0 是 UIO-1,位 1 是 UIO-2,位 2 是 UIO-3。

struct dvb_frontend *drxk_attach(const struct drxk_config *config, struct i2c_adapter *i2c)

附加一個 drxk 解調器

引數

const struct drxk_config *config

指向具有解調器配置的 struct drxk_config 的指標。

struct i2c_adapter *i2c

要使用的 i2c 介面卡。

返回值

成功時返回 FE 指標,失敗時返回 NULL。

struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe, int pll_addr, struct i2c_adapter *i2c, unsigned int pll_desc_id)

將 dvb-pll 附加到提供的前端結構。

引數

struct dvb_frontend *fe

要附加到的前端。

int pll_addr

PLL 的 i2c 地址(如果使用)。

struct i2c_adapter *i2c

要使用的 i2c 介面卡(如果未使用,則設定為 NULL)。

unsigned int pll_desc_id

要使用的 dvb_pll_desc。

返回值

成功時返回前端指標,失敗時返回 NULL

struct helene_config

“Helene”調諧器驅動程式的配置

定義:

struct helene_config {
    u8 i2c_address;
    u8 xtal_freq_mhz;
    void *set_tuner_priv;
    int (*set_tuner_callback)(void *, int);
    enum helene_xtal xtal;
    struct dvb_frontend *fe;
};

成員

i2c_address

調諧器的 I2C 地址

xtal_freq_mhz

晶體振盪器頻率,MHz

set_tuner_priv

回撥函式私有上下文

set_tuner_callback

回撥函式,用於通知父驅動程式當前哪個調諧器處於活動狀態

xtal

enum helene_xtal 描述的晶振頻率

fe

連線此調諧器的前端

struct dvb_frontend *helene_attach(struct dvb_frontend *fe, const struct helene_config *config, struct i2c_adapter *i2c)

附加一個 helene 調諧器(地面和有線標準)

引數

struct dvb_frontend *fe

要附加的前端

const struct helene_config *config

指向具有調諧器配置的 struct helene_config 的指標。

struct i2c_adapter *i2c

要使用的 i2c 介面卡。

返回值

成功時返回 FE 指標,失敗時返回 NULL。

struct dvb_frontend *helene_attach_s(struct dvb_frontend *fe, const struct helene_config *config, struct i2c_adapter *i2c)

附加一個 helene 調諧器 (衛星標準)

引數

struct dvb_frontend *fe

要附加的前端

const struct helene_config *config

指向具有調諧器配置的 struct helene_config 的指標。

struct i2c_adapter *i2c

要使用的 i2c 介面卡。

返回值

成功時返回 FE 指標,失敗時返回 NULL。

struct horus3a_config

Horus3A 調諧器驅動程式的配置

定義:

struct horus3a_config {
    u8 i2c_address;
    u8 xtal_freq_mhz;
    void *set_tuner_priv;
    int (*set_tuner_callback)(void *, int);
};

成員

i2c_address

調諧器的 I2C 地址

xtal_freq_mhz

晶體振盪器頻率,MHz

set_tuner_priv

回撥函式私有上下文

set_tuner_callback

回撥函式,用於通知父驅動程式當前哪個調諧器處於活動狀態

struct dvb_frontend *horus3a_attach(struct dvb_frontend *fe, const struct horus3a_config *config, struct i2c_adapter *i2c)

附加一個 horus3a 調諧器

引數

struct dvb_frontend *fe

要附加的前端

const struct horus3a_config *config

指向具有調諧器配置的 struct helene_config 的指標。

struct i2c_adapter *i2c

要使用的 i2c 介面卡。

返回值

成功時返回 FE 指標,失敗時返回 NULL。

struct ix2505v_config

ix2505 附加配置

定義:

struct ix2505v_config {
    u8 tuner_address;
    u8 tuner_gain;
    u8 tuner_chargepump;
    int min_delay_ms;
    u8 tuner_write_only;
};

成員

tuner_address

調諧器地址

tuner_gain

基帶 AMP 增益控制 0/1=0dB(預設) 2=-2bB 3=-4dB

tuner_chargepump

電荷泵輸出 +/- 0=120 1=260 2=555 3=1200(預設)

min_delay_ms

調諧後延遲

tuner_write_only

停用讀取

struct dvb_frontend *ix2505v_attach(struct dvb_frontend *fe, const struct ix2505v_config *config, struct i2c_adapter *i2c)

將 ix2505v 調諧器附加到提供的前端結構。

引數

struct dvb_frontend *fe

要附加到的前端。

const struct ix2505v_config *config

指向 struct ix2505v_config 的指標

struct i2c_adapter *i2c

指向 struct i2c_adapter 的指標。

返回值

成功時返回 FE 指標,失敗時返回 NULL。

enum m88ds3103_ts_mode

TS 連線模式

常量

M88DS3103_TS_SERIAL

TS 輸出引腳 D0,正常

M88DS3103_TS_SERIAL_D7

TS 輸出引腳 D7

M88DS3103_TS_PARALLEL

TS 並行模式

M88DS3103_TS_CI

TS CI 模式

enum m88ds3103_clock_out

常量

M88DS3103_CLOCK_OUT_DISABLED

時鐘輸出已停用

M88DS3103_CLOCK_OUT_ENABLED

時鐘輸出已啟用,使用晶體時鐘。

M88DS3103_CLOCK_OUT_ENABLED_DIV2

時鐘輸出已啟用,使用半晶體時鐘。

struct m88ds3103_platform_data

m88ds3103 驅動程式的平臺數據

定義:

struct m88ds3103_platform_data {
    u32 clk;
    u16 i2c_wr_max;
    enum m88ds3103_ts_mode ts_mode;
    u32 ts_clk;
    enum m88ds3103_clock_out clk_out;
    u8 ts_clk_pol:1;
    u8 spec_inv:1;
    u8 agc;
    u8 agc_inv:1;
    u8 envelope_mode:1;
    u8 lnb_hv_pol:1;
    u8 lnb_en_pol:1;
    struct dvb_frontend* (*get_dvb_frontend)(struct i2c_client *);
    struct i2c_adapter* (*get_i2c_adapter)(struct i2c_client *);
};

成員

clk

時鐘頻率。

i2c_wr_max

I2C 介面卡一次可以寫入的最大位元組數。

ts_mode

TS 模式。

ts_clk

TS 時鐘 (KHz)。

clk_out

時鐘輸出。

ts_clk_pol

TS 時鐘極性。 1-在下降沿啟用;0-在上升沿啟用。

spec_inv

輸入頻譜反轉。

agc

AGC 配置。

agc_inv

AGC 極性。

envelope_mode

DiSEqC 包絡模式。

lnb_hv_pol

LNB H/V 引腳極性。 0:引腳高電平設定為 VOLTAGE_18,引腳低電平設定為 VOLTAGE_13。 1:引腳高電平設定為 VOLTAGE_13,引腳低電平設定為 VOLTAGE_18。

lnb_en_pol

LNB 使能引腳極性。 0:引腳高電平停用,引腳低電平啟用。 1:引腳高電平啟用,引腳低電平停用。

get_dvb_frontend

獲取 DVB 前端。

get_i2c_adapter

獲取 I2C 介面卡。

struct m88ds3103_config

m88ds3102 配置

定義:

struct m88ds3103_config {
    u8 i2c_addr;
    u32 clock;
    u16 i2c_wr_max;
    u8 ts_mode;
    u32 ts_clk;
    u8 ts_clk_pol:1;
    u8 spec_inv:1;
    u8 agc_inv:1;
    u8 clock_out;
    u8 envelope_mode:1;
    u8 agc;
    u8 lnb_hv_pol:1;
    u8 lnb_en_pol:1;
};

成員

i2c_addr

I2C 地址。預設值:無,必須設定。 示例:0x68, ...

clock

裝置的時鐘。預設值:無,必須設定。 示例:27000000

i2c_wr_max

I2C 提供程式一次被要求寫入的最大位元組數。 預設值:無,必須設定。 示例:33, 65, ...

ts_mode

TS 輸出模式,如 enum m88ds3103_ts_mode 定義。預設值:M88DS3103_TS_SERIAL。

ts_clk

TS 時鐘,單位為 KHz。 預設值:0。

ts_clk_pol

TS 時鐘極性。 預設值:0。1-在下降沿啟用;0-在上升沿啟用。

spec_inv

頻譜反轉。 預設值:0。

agc_inv

AGC 極性。 預設值:0。

clock_out

時鐘輸出,如 enum m88ds3103_clock_out 定義。預設值:M88DS3103_CLOCK_OUT_DISABLED。

envelope_mode

DiSEqC 包絡模式。 預設值:0。

agc

AGC 配置。 預設值:無,必須設定。

lnb_hv_pol

LNB H/V 引腳極性。 預設值:0。值:1:引腳高電平設定為 VOLTAGE_13,引腳低電平設定為 VOLTAGE_18;0:引腳高電平設定為 VOLTAGE_18,引腳低電平設定為 VOLTAGE_13。

lnb_en_pol

LNB 使能引腳極性。 預設值:0。值:1:引腳高電平啟用,引腳低電平停用;0:引腳高電平停用,引腳低電平啟用。

struct dvb_frontend *m88ds3103_attach(const struct m88ds3103_config *config, struct i2c_adapter *i2c, struct i2c_adapter **tuner_i2c)

附加一個 m88ds3103 解調器

引數

const struct m88ds3103_config *config

指向具有解調器配置的 struct m88ds3103_config 的指標。

struct i2c_adapter *i2c

要使用的 i2c 介面卡。

struct i2c_adapter **tuner_i2c

成功時,返回與 m88ds3103 調諧器關聯的 I2C 介面卡。

返回值

成功時返回 FE 指標,失敗時返回 NULL。

注意

不要新增新的 m88ds3103_attach() 使用者! 請改用 I2C 繫結。

struct mb86a20s_config

定義前端的每個裝置屬性

定義:

struct mb86a20s_config {
    u32 fclk;
    u8 demod_address;
    bool is_serial;
};

成員

fclk

時鐘頻率。 如果為零,則假定為預設值 (32.57142 Mhz)

demod_address

解調器的 i2c 地址

is_serial

如果為 true,則 TS 為序列。 否則,TS 為並行

struct dvb_frontend *mb86a20s_attach(const struct mb86a20s_config *config, struct i2c_adapter *i2c)

附加一個 mb86a20s 解調器

引數

const struct mb86a20s_config *config

指向具有解調器配置的 struct mb86a20s_config 的指標。

struct i2c_adapter *i2c

要使用的 i2c 介面卡。

返回值

成功時返回 FE 指標,失敗時返回 NULL。

struct mn88472_config

mn88472 驅動程式的平臺數據

定義:

struct mn88472_config {
    unsigned int xtal;
#define MN88472_TS_MODE_SERIAL      0;
#define MN88472_TS_MODE_PARALLEL    1;
    int ts_mode;
#define MN88472_TS_CLK_FIXED        0;
#define MN88472_TS_CLK_VARIABLE     1;
    int ts_clock;
    u16 i2c_wr_max;
    struct dvb_frontend **fe;
    struct dvb_frontend* (*get_dvb_frontend)(struct i2c_client *);
};

成員

xtal

時鐘頻率。

ts_mode

TS 模式。

ts_clock

TS 時鐘配置。

i2c_wr_max

驅動程式一次寫入 I2C 的最大位元組數。

fe

指向前端指標的指標

get_dvb_frontend

獲取 DVB 前端回撥。

struct rtl2830_platform_data

rtl2830 驅動程式的平臺數據

定義:

struct rtl2830_platform_data {
    u32 clk;
    bool spec_inv;
    u8 vtop;
    u8 krf;
    u8 agc_targ_val;
    struct dvb_frontend* (*get_dvb_frontend)(struct i2c_client *);
    struct i2c_adapter* (*get_i2c_adapter)(struct i2c_client *);
    int (*pid_filter)(struct dvb_frontend *, u8, u16, int);
    int (*pid_filter_ctrl)(struct dvb_frontend *, int);
};

成員

clk

時鐘頻率(4000000、16000000、25000000、28800000)。

spec_inv

頻譜反轉。

vtop

AGC 接管點。

krf

AGC 比率。

agc_targ_val

AGC。

get_dvb_frontend

獲取 DVB 前端。

get_i2c_adapter

獲取 I2C 介面卡。

pid_filter

將 PID 設定為 PID 過濾器。

pid_filter_ctrl

控制 PID 過濾器。

struct rtl2832_platform_data

rtl2832 驅動程式的平臺數據

定義:

struct rtl2832_platform_data {
    u32 clk;
#define RTL2832_TUNER_FC2580    0x21;
#define RTL2832_TUNER_TUA9001   0x24;
#define RTL2832_TUNER_FC0012    0x26;
#define RTL2832_TUNER_E4000     0x27;
#define RTL2832_TUNER_FC0013    0x29;
#define RTL2832_TUNER_R820T     0x2a;
#define RTL2832_TUNER_R828D     0x2b;
#define RTL2832_TUNER_SI2157    0x2c;
    u8 tuner;
    struct dvb_frontend* (*get_dvb_frontend)(struct i2c_client *);
    struct i2c_adapter* (*get_i2c_adapter)(struct i2c_client *);
    int (*slave_ts_ctrl)(struct i2c_client *, bool);
    int (*pid_filter)(struct dvb_frontend *, u8, u16, int);
    int (*pid_filter_ctrl)(struct dvb_frontend *, int);
};

成員

clk

時鐘頻率(4000000、16000000、25000000、28800000)。

tuner

使用的調諧器型號。

get_dvb_frontend

獲取 DVB 前端。

get_i2c_adapter

獲取 I2C 介面卡。

slave_ts_ctrl

控制從 TS 介面。

pid_filter

將 PID 設定為 PID 過濾器。

pid_filter_ctrl

控制 PID 過濾器。

struct rtl2832_sdr_platform_data

rtl2832_sdr 驅動程式的平臺數據

定義:

struct rtl2832_sdr_platform_data {
    u32 clk;
#define RTL2832_SDR_TUNER_FC2580    0x21;
#define RTL2832_SDR_TUNER_TUA9001   0x24;
#define RTL2832_SDR_TUNER_FC0012    0x26;
#define RTL2832_SDR_TUNER_E4000     0x27;
#define RTL2832_SDR_TUNER_FC0013    0x29;
#define RTL2832_SDR_TUNER_R820T     0x2a;
#define RTL2832_SDR_TUNER_R828D     0x2b;
    u8 tuner;
    struct regmap *regmap;
    struct dvb_frontend *dvb_frontend;
    struct v4l2_subdev *v4l2_subdev;
    struct dvb_usb_device *dvb_usb_device;
};

成員

clk

時鐘頻率(4000000、16000000、25000000、28800000)。

tuner

使用的調諧器型號。

regmap

指向 struct regmap 的指標。

dvb_frontend

rtl2832 DVB 前端。

v4l2_subdev

調諧器 v4l2 控制元件。

dvb_usb_device

用於 USB 流的 DVB USB 介面。

struct dvb_frontend *stb6000_attach(struct dvb_frontend *fe, int addr, struct i2c_adapter *i2c)

將 stb6000 調諧器附加到提供的前端結構。

引數

struct dvb_frontend *fe

要附加到的前端。

int addr

調諧器的 i2c 地址。

struct i2c_adapter *i2c

要使用的 i2c 介面卡。

返回值

成功時返回 FE 指標,失敗時返回 NULL。

struct tda10071_platform_data

tda10071 驅動程式的平臺數據

定義:

struct tda10071_platform_data {
    u32 clk;
    u16 i2c_wr_max;
#define TDA10071_TS_SERIAL        0;
#define TDA10071_TS_PARALLEL      1;
    u8 ts_mode;
    bool spec_inv;
    u8 pll_multiplier;
    u8 tuner_i2c_addr;
    struct dvb_frontend* (*get_dvb_frontend)(struct i2c_client *);
};

成員

clk

時鐘頻率。

i2c_wr_max

I2C 介面卡一次可以寫入的最大位元組數。

ts_mode

TS 模式。

spec_inv

輸入頻譜反轉。

pll_multiplier

PLL 乘數。

tuner_i2c_addr

CX24118A 調諧器 I2C 地址(0x14、0x54、...)。

get_dvb_frontend

獲取 DVB 前端。

struct dvb_frontend *tda826x_attach(struct dvb_frontend *fe, int addr, struct i2c_adapter *i2c, int has_loopthrough)

將 tda826x 調諧器附加到提供的前端結構。

引數

struct dvb_frontend *fe

要附加到的前端。

int addr

調諧器的 i2c 地址。

struct i2c_adapter *i2c

要使用的 i2c 介面卡。

int has_loopthrough

如果卡具有環通 RF 聯結器,則設定為 1。

返回值

成功時返回 FE 指標,失敗時返回 NULL。

struct zd1301_demod_platform_data

zd1301_demod 驅動程式的平臺數據

定義:

struct zd1301_demod_platform_data {
    void *reg_priv;
    int (*reg_read)(void *, u16, u8 *);
    int (*reg_write)(void *, u16, u8);
};

成員

reg_priv

reg_read 和 reg_write 回撥的第一個引數。

reg_read

暫存器讀取回調。

reg_write

暫存器寫入回撥。

struct dvb_frontend *zd1301_demod_get_dvb_frontend(struct platform_device *pdev)

獲取指向 DVB 前端的指標

引數

struct platform_device *pdev

指向平臺裝置的指標

返回值

指向給定平臺裝置擁有的 DVB 前端的指標。

struct i2c_adapter *zd1301_demod_get_i2c_adapter(struct platform_device *pdev)

獲取指向 I2C 介面卡的指標

引數

struct platform_device *pdev

指向平臺裝置的指標

返回值

指向給定平臺裝置擁有的 I2C 介面卡的指標。

struct dvb_frontend *zl10036_attach(struct dvb_frontend *fe, const struct zl10036_config *config, struct i2c_adapter *i2c)

將 zl10036 調諧器附加到提供的 frontend 結構。

引數

struct dvb_frontend *fe

要附加到的前端。

const struct zl10036_config *config

zl10036_config 結構。

struct i2c_adapter *i2c

指向 struct i2c_adapter 的指標。

返回值

成功時返回 FE 指標,失敗時返回 NULL。