I2C的设备驱动是通过i2c_add_driver(&my_driver)向i2c-core注册的,my_driver中的核心是detach和attach函数,在attach中通过probe探测到总线上的设备并把设备和驱动建立连接以完成设备的初始化。如何探测总线上的设备、Linux中i2c设备地址如何标识并引用?
I2C中, 典型的attach如下所示:
static int my_attach(struct i2c_adapter *adapter)
{
return i2c_probe(adapter, & addr_data , my_probe );
}
static int my_probe(struct i2c_adapter *adapter, int address, int kind)
{
..........
}
I2C中, 典型的attach如下所示:
static int my_attach(struct i2c_adapter *adapter)
{
return i2c_probe(adapter, & addr_data , my_probe );
}
static int my_probe(struct i2c_adapter *adapter, int address, int kind)
{
..........
}