一、示意图
App
input.c
/ \
/ \
/ 分离 \
button.c < ===== > evdev.c
硬件相关 纯软件(稳定)
bus_drv_dev模型 bus drv链表
1.把device放入bus的dev链表 device_add /.match\ 1.放入drv链表 2.从dv链表取出一一比较(match)
2.从bus的drv链表取出每一个drv / \driver_register
用bus的match函数判断drv能否支持dev / \3.若支持,调用probe
3.若可以支持,调用drv的probe device driver
硬件相关 .probe比较稳定的代码
.name
usb_bus_type
/ \
usb_new_device / \usb_register
/ \
usb_interface usb_driver
.id_table
.probe
platform_bus_type
/ .match \
/ \
/ \
platform_device platform_driver
.probe
二、led_dev.c