davinci i2c 设备注册的过程 笔记

来源:互联网 发布:淘宝win7激活码可行么 编辑:程序博客网 时间:2024/06/04 22:04

board-dm646x.c i2c设备注册的过程
static void __init evm_init_i2c(void)
{
     davinci_init_i2c(&i2c_pdata);
     i2c_add_driver(&dm6467evm_cpld_driver);
     i2c_register_board_info(1, i2c_info, ARRAY_SIZE(i2c_info));
     evm_init_cpld();
     evm_init_video();
}

i2c_register_board_info->list_add_tail(&devinfo->list, &__i2c_board_list);//各个芯片的地址加入到总链表中
注册的步骤:
文件I2c-core.c
i2c_new_device()<-i2c_scan_static_board_info()<-i2c_register_adapter()<-i2c_add_numbered_adapter()<-davinci_i2c_probe()
其他设备注册的步骤(such as tvp7002 ths8200):
i2c_new_device()<-i2c_detect_address()<-i2c_detect()<-__attach_adapter()<-i2c_register_driver()<-i2c_add_driver()<-tvp7002_init()