linux设备驱动,求高手
linux设备驱动像RTC、watchdog等设备,在写这些设备驱动的时候内核里么的代码都是先定义一些资源,然后注册平台设备,然后是驱动部分。而一些LED灯的控制就显示的非常简单,直接写个字符设备就可以控制了。为什么它们之间有这么大的区别呢。RTC、watchdog等这样的设备难道不能直接写成类似于控制一个LED等的简单的字符设备驱动吗?求高手指点一二
[解决办法]
当然也可以。
但是把设备和驱动分开注册,就有几个好处:
1.相似的设备可以有多个,创建多个设备实例比较方便。
2.可以更好的扩展子设备,形成设备树,便于管理,这些子设备之间的通讯就可以以父设备为基础进行交互。
3.增强驱动代码可重用性,一份驱动可驱动多个相似设备,有的只是根据设备id号的不同来区别就好了。
暂时想到这些,共同探讨。