#include "cx18-driver.h"
#include "cx18-io.h"
#include "cx18-cards.h"
#include "cx18-gpio.h"
#include "cx18-i2c.h"
#include "cx18-irq.h"
#define CX18_REG_I2C_1_WR …
#define CX18_REG_I2C_1_RD …
#define CX18_REG_I2C_2_WR …
#define CX18_REG_I2C_2_RD …
#define SETSCL_BIT …
#define SETSDL_BIT …
#define GETSCL_BIT …
#define GETSDL_BIT …
#define CX18_CS5345_I2C_ADDR …
#define CX18_Z8F0811_IR_TX_I2C_ADDR …
#define CX18_Z8F0811_IR_RX_I2C_ADDR …
static const u8 hw_addrs[] = …;
static const u8 hw_bus[] = …;
static const char * const hw_devicenames[] = …;
static int cx18_i2c_new_ir(struct cx18 *cx, struct i2c_adapter *adap, u32 hw,
const char *type, u8 addr)
{ … }
int cx18_i2c_register(struct cx18 *cx, unsigned idx)
{ … }
struct v4l2_subdev *cx18_find_hw(struct cx18 *cx, u32 hw)
{ … }
static void cx18_setscl(void *data, int state)
{ … }
static void cx18_setsda(void *data, int state)
{ … }
static int cx18_getscl(void *data)
{ … }
static int cx18_getsda(void *data)
{ … }
static const struct i2c_adapter cx18_i2c_adap_template = …;
#define CX18_SCL_PERIOD …
#define CX18_ALGO_BIT_TIMEOUT …
static const struct i2c_algo_bit_data cx18_i2c_algo_template = …;
int init_cx18_i2c(struct cx18 *cx)
{ … }
void exit_cx18_i2c(struct cx18 *cx)
{ … }