驱动的分层是core核心层与例化。
例如不同厂家的触摸屏都要用到input输入系统。输入核心层定义了底层设备驱动所需的API,如:
分配和释放一个输入设备
struct input_dev *input_allocate_device(void),
void input_free_device(struct input_dev *dev)
上报绝对坐标
void input_report_abs(struct input_dev *dev, unsigned int code, int value)
主机与外设分离:
外设驱动只需要调用core核心层相关API即可,主机驱动只需要填充core核心层相关函数。做到一个主机可以挂接不同的外设,一个外设驱动可以用在不同的主机上。