本文转载自:http://blog.csdn.net/sidely/article/details/39666471

在Linux IIC驱动中看到一段代码:

static struct platform_device_id xx_driver_ids[] = {
{
.name = "s3c2410-i2c",
.driver_data   = TYPE_S3C2410,
}, {
.name = "s3c2440-i2c",
.driver_data   = TYPE_S3C2440,
}, { },
};
MODULE_DEVICE_TABLE(platform, xx_driver_ids);

MODULE_DEVICE_TABLE什么意思呢?查找了一番发现,很多文章表述的不够明确,我结合文章及自己的分析理解说一下,不知道有没有不对的地方。

MODULE_DEVICE_TABLE一般用在热插拔的设备驱动中。

上述xx_driver_ids结构,是此驱动所支持的设备列表。

作用是:将xx_driver_ids结构输出到用户空间,这样模块加载系统在加载模块时,就知道了什么模块对应什么硬件设备。

用法是:MODULE_DEVICE_TABLE(设备类型,设备表),其中,设备类型,包括USB,PCI等,也可以自己起名字,上述代码中是针对不同的平台分的类;设备表也是自己定义的,它的最后一项必须是空,用来标识结束。

最新文章

  1. CSS代码实例:用CSS代码写出的各种形状图形
  2. postgresql是如何处理死连接(转)
  3. AngulaJS路由 ui-router 传递多个参数
  4. 数据库MySQL开篇
  5. 串行通讯之.NET SerialPort异步写数据
  6. 【mysql的设计与优化专题(1)】ER图,数据建模与数据字典
  7. 使用AlarmManager进行定时任务处理
  8. 如何合并相同数据并转置(mysql)实现
  9. ORA-01950: 对表空间 'NAMETABLESPACE' 无权限
  10. DLL编写教程(绝对经典之作)
  11. python 生成器和迭代器
  12. php使用protobuf3
  13. MySQL中lock tables和unlock tables浅析
  14. linux之cp和scp的使用
  15. 第二章:深入分析java I/O的工作机制
  16. [wxgl] load image fail
  17. js 弹窗广告24小时显示一次
  18. redis数据淘汰策略
  19. js上传文件带参数,并且,返回给前台文件路径,解析上传的xml文件,存储到数据库中
  20. Maven(Eclipse版)

热门文章

  1. (转)版本管理工具介绍——SVN篇(二)
  2. 个人作业Alpha项目测试
  3. oracle 安装准备
  4. Loj #6000.「 网络流 24 题 」搭配飞行员
  5. 大理石在哪儿(Where is the Marble?,Uva 10474)
  6. 集合类(Collection和Map接口)简介
  7. 转载:SpringMVC的工作原理图
  8. gnuplot examples
  9. linux下的进程
  10. BZOJ 3916 [Baltic2014]friends