2.6.35.7内核的iic设备已经分析完毕了。
我们这里做一下总结。
首先linux下注册iic设备的方式是有五种的。
这里我们对每一种的注册和顺序进行简单总结。
这里我们的参考资料如下
Documentation/i2c/instantiating-devices
第一种方式:
在mach-xxxx.c文件里面指定号设备名称,地址。
static struct i2c_board_info h4_i2c_board_info[] __initdata = {
{
I2C_BOARD_INFO("isp1301_omap", 0x2d),
.irq = OMAP_GPIO_IRQ(125),
},
{ /* EEPROM on mainboard */
I2C_BOARD_INFO("24c01", 0x52),
.platform_data = &m24c01,
},
{ /* EEPROM on cpu card */
I2C_BOARD_INFO("24c01", 0x57),
.platform_data = &m24c01,
},
};
并在内核启动初期,注册到单板的设备链表中。