1、i2c kernel驱动的架构

2、i2c kernel 设备驱动路径
kernel/drivers/input/misc/sensor/device.c
3、kernel i2c 设备驱动都有两个重要的结构体
static const struct i2c_device_id device_id[] = { { "device1" }, { "device2" }, { "device3" }, { } }; MODULE_DEVICE_TABLE(i2c, device_id);
static struct i2c_driver device_driver = { .driver = { .name = "device_driver_name", .pm = &device_pm, }, .class = I2C_CLASS_HWMON, .id_table = device_id, .probe = device_probe, .remove = device_remove, }; module_i2c_driver(device_driver);