码迷,mamicode.com
首页 > 其他好文 > 详细

驱动学习之LED驱动框架

时间:2016-11-25 07:39:45      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:led驱动框架

一:什么是驱动框架
  (1)内核中驱动部分维护者针对每个种类的驱动设计一套成熟的、标准的、典型的驱动实现,然后把不同厂家的同类硬件驱动中相同的部分抽出来自己实现好,再把不同部分留出接口给具体的驱动开发工程师来实现,这就叫驱动框架。
  (2)内核维护者在内核中设计了一些统一管控系统资源的体系,这些体系让内核能够对资源在各个驱动之间的使用统一协调和分配,保证整个内核的稳定健康运行。譬如系统中所有的GPIO就属于系统资源,每个驱动模块如果要使用某个GPIO就要先调用特殊的接口先申请,申请到后使用,使用完后要释放。又譬如中断号也是一种资源,驱动在使用前也必须去申请。这也是驱动框架的组成部分。
  (3)一些特定的接口函数、一些特定的数据结构,这些是驱动框架的直接表现。


二:内核中的LED驱动框架

1:相关文件
  (1)drivers/leds目录,这个目录就是驱动框架规定的LED这种硬件的驱动应该存放的地方。
  (2)led-class.c和led-core.c,这两个文件加起来属于LED驱动框架的第一部分,这两个文件是内核开发者提供的,他们描述的是内核中所有厂家的不同LED硬件的相同部分的逻辑。分析发现这两个文件中重的是led-class.c这个文件。
  (3)leds-xxxx.c,这个文件是LED驱动框架的第2部分,是由不同厂商的驱动工程师编写添加的,厂商驱动工程师结合自己公司的硬件的不同情况来对LED进行操作,使用第一部分提供的接口来和驱动框架进行交互,最终实现驱动的功能。

2:九鼎移植的内核中led驱动

  (1)九鼎移植的内核中未使用内核推荐的led驱动框架
  (2)九鼎的LED驱动存放在drivers/char/led/x210-led.c中






本文出自 “11664570” 博客,请务必保留此出处http://11674570.blog.51cto.com/11664570/1876414

驱动学习之LED驱动框架

标签:led驱动框架

原文地址:http://11674570.blog.51cto.com/11664570/1876414

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!