总线驱动设备模型(1)——框架认识


输入子系统体现了驱动程序的分层分离的思想:

1、核心层input.c,输入子系统的核心

2、evdev.c,驱动程序的纯软件部分,input_register_handler注册handler,代码稳定

3、buttons.c,驱动部分的硬件相关部分,input_register_device注册device,根据硬件及需求修改



总线驱动设备模型

1、总线驱动设备模型只是提供一种机制,将驱动程序分为device和driver两部分并彼此建立联系

2、注册device过程:

    a、将device放入bus的dev链表

    b、从bus的drv链表取出每一个driver,用bus的match函数判断取出的driver能否支持这个device(判断name)

    c、如果支持,调用该driver的probe函数(probe函数自由实现)

3、注册driver过程:

    a、将driver放入bus的drv链表

    b、从bus的dev链表取出每一个device,用bus的match函数判断这个driver能否支持取出的device(判断name)

    c、如果支持,调用该driver的probe函数(probe函数自由实现)


附:平台总线驱动设备模型、usb总线驱动设备模型


猜你喜欢

转载自blog.csdn.net/hfutyyj/article/details/80248904