本文共 1299 字,大约阅读时间需要 4 分钟。
1/初始化 i2c core postcore_initcall(i2c_init); // 初始化 i2c core2/i2c adapter platform_device 注册 customize_machine of_platform_populate for_each_child_of_node of_platform_bus_create of_platform_device_create_pdata // 创建 platform 设备 // 控制器信息 platform 的注册 3/控制器驱动注册 i2c 设备 i2c_device 注册(注册后i2c_device已经和i2c adapter 绑定) // drivers/i2c/busses/ 控制器驱动 注册 _probe i2c_add_numbered_adapter __i2c_add_numbered_adapter i2c_register_adapter of_i2c_register_devices of_i2c_register_device i2c_new_device //i2c设备注册 // 注册设备的方法 // Documentation/i2c/instantiating-devices4/i2c设备驱动注册 i2c_add_driver i2c_register_driver driver_register
i2c_master_send i2c_transfer __i2c_transfer adap->algo->master_xfer // 实现在平台相关的 i2c控制器 驱动中 sprd_i2c_master_xfer sprd_i2c_master_xfer // 上一行 和 这一行是一个函数 sprd_i2c_handle_msg // start // 数据收发 // end static const struct i2c_algorithm sprd_i2c_algo = { .master_xfer = sprd_i2c_master_xfer, .functionality = sprd_i2c_func, };
转载地址:http://iaigi.baihongyu.com/