__i2c_first_dynamic_bus_num定义的位置在/driver/i2c/i2c-boardinfo.c
此函数在machine_init()函数中被调用:
此处busnum由machine_init()函数传递,同样也为0。所以在i2c_register_board_info()函数中的if语句肯定会被执行:
然后看i2c_register_adapter()函数中和__i2c_first_dynamic_bus_num相关的
代码部分:
这使得i2c_register_adapter中的if条件成立,i2c_scan_static_board_info(adap)执行。
相关阅读: