13. Frontend drivers¶
13.1. Frontend attach headers¶
-
struct
a8293_platform_data
¶ Platform data for the a8293 driver
Definition
struct a8293_platform_data {
struct dvb_frontend *dvb_frontend;
};
Members
dvb_frontend
DVB frontend.
-
struct
af9013_platform_data
¶ Platform data for the af9013 driver
Definition
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);
};
Members
clk
Clock frequency.
tuner
Used tuner model.
if_frequency
IF frequency.
ts_mode
TS mode.
ts_output_pin
TS output pin.
spec_inv
Input spectrum inverted.
api_version
Firmware API version.
gpio
GPIOs.
get_dvb_frontend
Get DVB frontend callback.
get_i2c_adapter
Get I2C adapter.
pid_filter_ctrl
Control PID filter.
pid_filter
Set PID to PID filter.
-
struct
ascot2e_config
¶ the configuration of Ascot2E tuner driver
Definition
struct ascot2e_config {
u8 i2c_address;
u8 xtal_freq_mhz;
void *set_tuner_priv;
int (*set_tuner_callback)(void *, int);
};
Members
i2c_address
I2C address of the tuner
xtal_freq_mhz
Oscillator frequency, MHz
set_tuner_priv
Callback function private context
set_tuner_callback
Callback function that notifies the parent driver which tuner is active now
-
struct dvb_frontend *
ascot2e_attach
(struct dvb_frontend * fe, const struct ascot2e_config * config, struct i2c_adapter * i2c)¶
Parameters
struct dvb_frontend * fe
frontend to be attached
const struct ascot2e_config * config
pointer to
struct ascot2e_config
with tuner configuration.struct i2c_adapter * i2c
i2c adapter to use.
Return
FE pointer on success, NULL on failure.
-
struct
cxd2820r_platform_data
¶ Platform data for the cxd2820r driver
Definition
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 *);
};
Members
ts_mode
TS mode.
ts_clk_inv
TS clock inverted.
if_agc_polarity
IF AGC polarity.
spec_inv
Input spectrum inverted.
gpio_chip_base
GPIO.
get_dvb_frontend
Get DVB frontend.
-
struct
cxd2820r_config
¶ configuration for cxd2020r demod
Definition
struct cxd2820r_config {
u8 i2c_address;
u8 ts_mode;
bool ts_clock_inv;
bool if_agc_polarity;
bool spec_inv;
};
Members
i2c_address
Demodulator I2C address. Driver determines DVB-C slave I2C address automatically from master address. Default: none, must set. Values: 0x6c, 0x6d.
ts_mode
TS output mode. Default: none, must set. Values: FIXME?
ts_clock_inv
TS clock inverted. Default: 0. Values: 0, 1.
if_agc_polarity
Default: 0. Values: 0, 1
spec_inv
Spectrum inversion. Default: 0. Values: 0, 1.
-
struct dvb_frontend *
cxd2820r_attach
(const struct cxd2820r_config * config, struct i2c_adapter * i2c, int * gpio_chip_base)¶
Parameters
const struct cxd2820r_config * config
pointer to
struct cxd2820r_config
with demod configuration.struct i2c_adapter * i2c
i2c adapter to use.
int * gpio_chip_base
if zero, disables GPIO setting. Otherwise, if CONFIG_GPIOLIB is set dynamically allocate gpio base; if is not set, use its value to setup the GPIO pins.
Return
FE pointer on success, NULL on failure.
-
struct
drxk_config
¶ Configure the initial parameters for DRX-K
Definition
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;
};
Members
adr
I2C address of the DRX-K
single_master
Device is on the single master mode
no_i2c_bridge
Don’t switch the I2C bridge to talk with tuner
parallel_ts
True means that the device uses parallel TS, Serial otherwise.
dynamic_clk
True means that the clock will be dynamically adjusted. Static clock otherwise.
enable_merr_cfg
Enable SIO_PDR_PERR_CFG/SIO_PDR_MVAL_CFG.
antenna_dvbt
GPIO bit for changing antenna to DVB-C. A value of 1 means that 1=DVBC, 0 = DVBT. Zero means the opposite.
antenna_gpio
GPIO bit used to control the antenna
mpeg_out_clk_strength
DRXK Mpeg output clock drive strength.
chunk_size
maximum size for I2C messages
microcode_name
Name of the firmware file with the microcode
qam_demod_parameter_count
The number of parameters used for the command to set the demodulator parameters. All firmwares are using the 2-parameter commmand. An exception is the
drxk_a3.mc
firmware, which uses the 4-parameter command. A value of 0 (default) or lower indicates that the correct number of parameters will be automatically detected.
Description
On the *_gpio
vars, bit 0 is UIO-1, bit 1 is UIO-2 and bit 2 is
UIO-3.
-
struct dvb_frontend *
drxk_attach
(const struct drxk_config * config, struct i2c_adapter * i2c)¶
Parameters
const struct drxk_config * config
pointer to
struct drxk_config
with demod configuration.struct i2c_adapter * i2c
i2c adapter to use.
Return
FE pointer on success, NULL on failure.
-
struct dvb_frontend *
dvb_pll_attach
(struct dvb_frontend * fe, int pll_addr, struct i2c_adapter * i2c, unsigned int pll_desc_id)¶ pll to the supplied frontend structure.
Parameters
struct dvb_frontend * fe
Frontend to attach to.
int pll_addr
i2c address of the PLL (if used).
struct i2c_adapter * i2c
i2c adapter to use (set to NULL if not used).
unsigned int pll_desc_id
dvb_pll_desc to use.
Return
Frontend pointer on success, NULL on failure
-
struct
helene_config
¶ the configuration of ‘Helene’ tuner driver
Definition
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;
};
Members
i2c_address
I2C address of the tuner
xtal_freq_mhz
Oscillator frequency, MHz
set_tuner_priv
Callback function private context
set_tuner_callback
Callback function that notifies the parent driver which tuner is active now
xtal
Cristal frequency as described by
enum helene_xtal
fe
Frontend for which connects this tuner
-
struct dvb_frontend *
helene_attach
(struct dvb_frontend * fe, const struct helene_config * config, struct i2c_adapter * i2c)¶
Parameters
struct dvb_frontend * fe
frontend to be attached
const struct helene_config * config
pointer to
struct helene_config
with tuner configuration.struct i2c_adapter * i2c
i2c adapter to use.
Return
FE pointer on success, NULL on failure.
-
struct dvb_frontend *
helene_attach_s
(struct dvb_frontend * fe, const struct helene_config * config, struct i2c_adapter * i2c)¶
Parameters
struct dvb_frontend * fe
frontend to be attached
const struct helene_config * config
pointer to
struct helene_config
with tuner configuration.struct i2c_adapter * i2c
i2c adapter to use.
Return
FE pointer on success, NULL on failure.
-
struct
horus3a_config
¶ the configuration of Horus3A tuner driver
Definition
struct horus3a_config {
u8 i2c_address;
u8 xtal_freq_mhz;
void *set_tuner_priv;
int (*set_tuner_callback)(void *, int);
};
Members
i2c_address
I2C address of the tuner
xtal_freq_mhz
Oscillator frequency, MHz
set_tuner_priv
Callback function private context
set_tuner_callback
Callback function that notifies the parent driver which tuner is active now
-
struct dvb_frontend *
horus3a_attach
(struct dvb_frontend * fe, const struct horus3a_config * config, struct i2c_adapter * i2c)¶
Parameters
struct dvb_frontend * fe
frontend to be attached
const struct horus3a_config * config
pointer to
struct helene_config
with tuner configuration.struct i2c_adapter * i2c
i2c adapter to use.
Return
FE pointer on success, NULL on failure.
-
DVB_IX2505V_H
()¶ S silicon tuner
Parameters
Description
Copyright (C) 2010 Malcolm Priestley
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License Version 2, as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
struct
ix2505v_config
¶ ix2505 attachment configuration
Definition
struct ix2505v_config {
u8 tuner_address;
u8 tuner_gain;
u8 tuner_chargepump;
int min_delay_ms;
u8 tuner_write_only;
};
Members
tuner_address
tuner address
tuner_gain
Baseband AMP gain control 0/1=0dB(default) 2=-2bB 3=-4dB
tuner_chargepump
Charge pump output +/- 0=120 1=260 2=555 3=1200(default)
min_delay_ms
delay after tune
tuner_write_only
disables reads
-
struct dvb_frontend *
ix2505v_attach
(struct dvb_frontend * fe, const struct ix2505v_config * config, struct i2c_adapter * i2c)¶
Parameters
struct dvb_frontend * fe
Frontend to attach to.
const struct ix2505v_config * config
pointer to
struct ix2505v_config
struct i2c_adapter * i2c
pointer to
struct i2c_adapter
.
Return
FE pointer on success, NULL on failure.
-
enum
m88ds3103_ts_mode
¶ TS connection mode
Constants
M88DS3103_TS_SERIAL
TS output pin D0, normal
M88DS3103_TS_SERIAL_D7
TS output pin D7
M88DS3103_TS_PARALLEL
TS Parallel mode
M88DS3103_TS_CI
TS CI Mode
-
enum
m88ds3103_clock_out
¶
Constants
M88DS3103_CLOCK_OUT_DISABLED
Clock output is disabled
M88DS3103_CLOCK_OUT_ENABLED
Clock output is enabled with crystal clock.
M88DS3103_CLOCK_OUT_ENABLED_DIV2
Clock output is enabled with half crystal clock.
-
struct
m88ds3103_platform_data
¶ Platform data for the m88ds3103 driver
Definition
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 *);
};
Members
clk
Clock frequency.
i2c_wr_max
Max bytes I2C adapter can write at once.
ts_mode
TS mode.
ts_clk
TS clock (KHz).
clk_out
Clock output.
ts_clk_pol
TS clk polarity. 1-active at falling edge; 0-active at rising edge.
spec_inv
Input spectrum inversion.
agc
AGC configuration.
agc_inv
AGC polarity.
envelope_mode
DiSEqC envelope mode.
lnb_hv_pol
LNB H/V pin polarity. 0: pin high set to VOLTAGE_18, pin low to set VOLTAGE_13. 1: pin high set to VOLTAGE_13, pin low to set VOLTAGE_18.
lnb_en_pol
LNB enable pin polarity. 0: pin high to disable, pin low to enable. 1: pin high to enable, pin low to disable.
get_dvb_frontend
Get DVB frontend.
get_i2c_adapter
Get I2C adapter.
-
struct
m88ds3103_config
¶ m88ds3102 configuration
Definition
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;
};
Members
i2c_addr
I2C address. Default: none, must set. Example: 0x68, …
clock
Device’s clock. Default: none, must set. Example: 27000000
i2c_wr_max
Max bytes I2C provider is asked to write at once. Default: none, must set. Example: 33, 65, …
ts_mode
TS output mode, as defined by
enum m88ds3103_ts_mode
. Default: M88DS3103_TS_SERIAL.ts_clk
TS clk in KHz. Default: 0.
ts_clk_pol
TS clk polarity.Default: 0. 1-active at falling edge; 0-active at rising edge.
spec_inv
Spectrum inversion. Default: 0.
agc_inv
AGC polarity. Default: 0.
clock_out
Clock output, as defined by
enum m88ds3103_clock_out
. Default: M88DS3103_CLOCK_OUT_DISABLED.envelope_mode
DiSEqC envelope mode. Default: 0.
agc
AGC configuration. Default: none, must set.
lnb_hv_pol
LNB H/V pin polarity. Default: 0. Values: 1: pin high set to VOLTAGE_13, pin low to set VOLTAGE_18; 0: pin high set to VOLTAGE_18, pin low to set VOLTAGE_13.
lnb_en_pol
LNB enable pin polarity. Default: 0. Values: 1: pin high to enable, pin low to disable; 0: pin high to disable, pin low to enable.
-
struct dvb_frontend *
m88ds3103_attach
(const struct m88ds3103_config * config, struct i2c_adapter * i2c, struct i2c_adapter ** tuner_i2c)¶
Parameters
const struct m88ds3103_config * config
pointer to
struct m88ds3103_config
with demod configuration.struct i2c_adapter * i2c
i2c adapter to use.
struct i2c_adapter ** tuner_i2c
on success, returns the I2C adapter associated with m88ds3103 tuner.
Return
FE pointer on success, NULL on failure.
Note
Do not add new m88ds3103_attach()
users! Use I2C bindings instead.
-
struct
mb86a20s_config
¶ Define the per-device attributes of the frontend
Definition
struct mb86a20s_config {
u32 fclk;
u8 demod_address;
bool is_serial;
};
Members
fclk
Clock frequency. If zero, assumes the default (32.57142 Mhz)
demod_address
the demodulator’s i2c address
is_serial
if true, TS is serial. Otherwise, TS is parallel
-
struct dvb_frontend *
mb86a20s_attach
(const struct mb86a20s_config * config, struct i2c_adapter * i2c)¶
Parameters
const struct mb86a20s_config * config
pointer to
struct mb86a20s_config
with demod configuration.struct i2c_adapter * i2c
i2c adapter to use.
Return
FE pointer on success, NULL on failure.
-
struct
mn88472_config
¶ Platform data for the mn88472 driver
Definition
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 *);
};
Members
xtal
Clock frequency.
ts_mode
TS mode.
ts_clock
TS clock config.
i2c_wr_max
Max number of bytes driver writes to I2C at once.
fe
pointer to a frontend pointer
get_dvb_frontend
Get DVB frontend callback.
-
struct
rtl2830_platform_data
¶ Platform data for the rtl2830 driver
Definition
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);
};
Members
clk
Clock frequency (4000000, 16000000, 25000000, 28800000).
spec_inv
Spectrum inversion.
vtop
AGC take-over point.
krf
AGC ratio.
agc_targ_val
AGC.
get_dvb_frontend
Get DVB frontend.
get_i2c_adapter
Get I2C adapter.
pid_filter
Set PID to PID filter.
pid_filter_ctrl
Control PID filter.
-
struct
rtl2832_platform_data
¶ Platform data for the rtl2832 driver
Definition
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);
};
Members
clk
Clock frequency (4000000, 16000000, 25000000, 28800000).
tuner
Used tuner model.
get_dvb_frontend
Get DVB frontend.
get_i2c_adapter
Get I2C adapter.
slave_ts_ctrl
Control slave TS interface.
pid_filter
Set PID to PID filter.
pid_filter_ctrl
Control PID filter.
-
struct
rtl2832_sdr_platform_data
¶ Platform data for the rtl2832_sdr driver
Definition
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;
};
Members
clk
Clock frequency (4000000, 16000000, 25000000, 28800000).
tuner
Used tuner model.
regmap
pointer to
struct regmap
.dvb_frontend
rtl2832 DVB frontend.
v4l2_subdev
Tuner v4l2 controls.
dvb_usb_device
DVB USB interface for USB streaming.
-
struct dvb_frontend *
stb6000_attach
(struct dvb_frontend * fe, int addr, struct i2c_adapter * i2c)¶
Parameters
struct dvb_frontend * fe
Frontend to attach to.
int addr
i2c address of the tuner.
struct i2c_adapter * i2c
i2c adapter to use.
Return
FE pointer on success, NULL on failure.
-
struct
tda10071_platform_data
¶ Platform data for the tda10071 driver
Definition
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 *);
};
Members
clk
Clock frequency.
i2c_wr_max
Max bytes I2C adapter can write at once.
ts_mode
TS mode.
spec_inv
Input spectrum inversion.
pll_multiplier
PLL multiplier.
tuner_i2c_addr
CX24118A tuner I2C address (0x14, 0x54, …).
get_dvb_frontend
Get DVB frontend.
-
struct dvb_frontend*
tda826x_attach
(struct dvb_frontend * fe, int addr, struct i2c_adapter * i2c, int has_loopthrough)¶
Parameters
struct dvb_frontend * fe
Frontend to attach to.
int addr
i2c address of the tuner.
struct i2c_adapter * i2c
i2c adapter to use.
int has_loopthrough
Set to 1 if the card has a loopthrough RF connector.
Return
FE pointer on success, NULL on failure.
-
struct
zd1301_demod_platform_data
¶ Platform data for the zd1301_demod driver
Definition
struct zd1301_demod_platform_data {
void *reg_priv;
int (*reg_read)(void *, u16, u8 *);
int (*reg_write)(void *, u16, u8);
};
Members
reg_priv
First argument of reg_read and reg_write callbacks.
reg_read
Register read callback.
reg_write
Register write callback.
-
struct dvb_frontend *
zd1301_demod_get_dvb_frontend
(struct platform_device * pdev)¶ Get pointer to DVB frontend
Parameters
struct platform_device * pdev
Pointer to platform device
Return
Pointer to DVB frontend which given platform device owns.
-
struct i2c_adapter *
zd1301_demod_get_i2c_adapter
(struct platform_device * pdev)¶ Get pointer to I2C adapter
Parameters
struct platform_device * pdev
Pointer to platform device
Return
Pointer to I2C adapter which given platform device owns.
-
struct dvb_frontend *
zd1301_demod_get_dvb_frontend
(struct platform_device * dev) Attach a zd1301 frontend
Parameters
struct platform_device * dev
Pointer to platform device
Return
Pointer to struct
dvb_frontend or NULL if attach fails.
-
DVB_ZL10036_H
()¶ S silicon tuner
Parameters
Description
Copyright (C) 2006 Tino Reichardt Copyright (C) 2007-2009 Matthias Schwarzott <zzam**gentoo.de**>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License Version 2, as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
struct dvb_frontend *
zl10036_attach
(struct dvb_frontend * fe, const struct zl10036_config * config, struct i2c_adapter * i2c)¶
Parameters
struct dvb_frontend * fe
Frontend to attach to.
const struct zl10036_config * config
zl10036_config structure.
struct i2c_adapter * i2c
pointer to struct i2c_adapter.
Return
FE pointer on success, NULL on failure.