网络安全参考 | UNIX参考 | GPS参考 | 无线参考 | 在线手册 | OSBUG.ORG | SUNNY-NETWORK.COM
天线制作 GPS 地标
网站地图 RSS订阅
高级搜索 收藏本站
Home | 业界动态 | Open source | GNU | Linux | BSD | Solaris | AIX | HP-UX | IRIX | Mac OS X | Minix | Tru64 | SCO UNIX | Network | Security | X-Window | Database | 应用服务 | Programming | 经典著作 | 永远的纪念 | 杂项
 当前位置: Home > Linux > 内核 > 文章  
Linux2.6内核驱动移植
文章来源: 不详 文章作者: 晏渭川 发布时间: 2006-07-07   字体: [ ]  
 

  Linux2.6的发布,由于2.6内核做了教的改动,各个设备的驱动程序在不同程度上要进行改写。为了方便各位Linux爱好者我把自己整理的这分文档share出来。该文当列举了2.6内核同以前版本的绝大多数变化,可惜的是由于时间和精力有限没有详细列出各个函数的用法。

  特别声明:该文档中的内容来自http://lwn.net,该网也上也有各个函数的较为详细的说明可供各位参考。如果需要该文档的word版的朋友, 请mail到weiriver@sohu.com索取。
  
  1. 使用新的入口

  必须包含

  module_init(your_init_func);
  module_exit(your_exit_func);

  老版本: 

  int init_module(void);
  void cleanup_module(voi);

  2.4中两种都可以用,对如后面的入口函数不必要显示包含任何头文件。

  2. GPL

  MODULE_LICENSE("Dual BSD/GPL");

  老版本:

  MODULE_LICENSE("GPL");

  3. 模块参数

  必须显式包含

  module_param(name, type, perm);
  module_param_named(name, value, type, perm);

  参数定义

  module_param_string(name, string, len, perm);
  module_param_array(name, type, num, perm);

  老版本:

  MODULE_PARM(variable,type);
  MODULE_PARM_DESC(variable,type);

  4. 模块别名

  MODULE_ALIAS("alias-name");

  这是新增的,在老版本中需在/etc/modules.conf配置,现在在代码中就可以实现。

  5. 模块计数

  int try_module_get(&module);
  module_put();

  老版本:

  MOD_INC_USE_COUNTMOD_DEC_USE_COUNT

  6. 符号导出

  只有显示的导出符号才能被其他模块使用,默认不导出所有的符号,不必使用EXPORT_NO_SYMBOLS
  老板本:默认导出所有的符号,除非使用
EXPORT_NO_SYMBOLS

  7. 内核版本检查

  需要在多个文件中包含时,不必定义__NO_VERSION__
  老版本:在多个文件中包含时,除在主文件外的其他文件中必须定义__NO_VERSION__,防止版本重复定义。

 
推荐文章
·浅谈关于Linux系统内核的源代码
·打造适合自己Slackware机器的内
·自己动手做一个最小的Linux kern
·一个Linux爱好者的2.6.11内核编
·定制Linux系统内核,发挥Linux潜
·如何编译一个操作系统内核-Ubunt
·重新编译Linux操作系统的内核指
·快速编译Linux内核需要的模块方
·编译内核以使其支持PS并口改装手
·编译支持NTFS的Linux系统内核模
·配置、编译Linux系统内核的实用
·Linux操作系统的内核编译详细步
·Linux操作系统的内核编译内幕详
·Linux基础知识:内核编译-内核管
 

 
共2页: 上一页 1 [2] 下一页
↑返回顶部   打印本页   关闭窗口↓  

Google
 
Web oldhand.org unixreference.net meshmea.org
相关分类
热点文章
·Linux中的Ramdisk与Init
·Linux 初始 RAM 磁盘(i
·一个Linux爱好者的2.6.1
·自己动手做一个最小的Li
·如何在Linux系统中添加
·如何编译一个操作系统内
·udev轻松上路
·浅谈关于Linux系统内核
相关文章
·在嵌入式Linux实现802.1
·几种Linux嵌入式开发环
·嵌入式设备上的 Linux
·在Linux中使用中星微301
·Linux的I2C驱动架构
·基于Qt/Embedded的GUI移
·基于μClinux的SoPC应用
·ARM入门
更多...
 
 

Copyright(c) 2001-2009 OLDHAND ORGANIZATION, All Rights reserved.
Power by DedeCms 织梦内容管理系统