pdata注册i2c_client

pdata

1
2
3
4
5
6
7
8
9
10
static struct  ds90ub940_crl_sd_1 = {
.csi2 = &ds90ub940_csi2_cfg_1,
.i2c = {
.board_info = {
I2C_BOARD_INFO(CRLMODULE_NAME, 0x2c),
.platform_data = &ds90ub940_pdata_1,
},
.i2c_adapter_id = 5,
},
};

register i2c_client

1
2
3
4
5
6
7
8
9
10
11
12
13
static int isys_register_ext_subdev(struct intel_ipu4_isys *isys,
struct intel_ipu4_isys_subdev_info *sd_info,
bool acpi_only)
{
struct i2c_adapter *adapter = i2c_get_adapter(sd_info->i2c.i2c_adapter_id); // 5

client = isys_find_i2c_subdev(adapter, sd_info); // 默认client为NULL
if (!client) {
sd = v4l2_i2c_new_subdev_board(&isys->v4l2_dev, adapter,
&sd_info->i2c.board_info, 0);
client = i2c_new_device(adapter, info);
}
}