platform驱动能否通过 insmod加载?
by luckey_pig - 驱动开发 - 2011-11-07 15:12:30 阅读(3506) 回复(8)
platform总线是linux2.6
paltform设备模型: static int __init ixp4xx_ehci_init(void) { int ret; struct platform_device *device; TRACE; pr_debug ("%s: block sizes: qh %Zd qtd %Zd itd %Zd sitd %Zd\n", ixp4xx_ehci_name, sizeof (struct ehci_qh), sizeof (struct ehci_qtd), sizeof (struct ehci_itd), sizeof (struct ehci_sitd)); /* Register device for usb host0 controller */ ...
put_user(),get_user()为两个宏,当拷贝数据为1, 2, 4 字节时, 速度比较快. int get_user(value, address), int put_user(expression, address), 第一个参数为内核空间的变量,第二个为一个指针,为一个用户空间地址, 传输大小由address 类型决定. access_ok()用于检查程序是否能以指定的方式访问指定的地址指定长度的内存. int access_ok(int type, unsigned long addr, unsigned long size) type 为 VERIFY_READ, VERIFY_WRITE...
平台设备的引入是为了能更好的描述设备的资源信息. 属于platform device的设备的共同点是: 直接通过cpu的总线寻址. 平台设备对象由platform_device描述: struct platform_device { const char * name; u32 id; struct device dev; //对应的设备 u32 num_resources; //资源的数量 struct resource * resource; //资源信息 }; 与此对应的平台设备驱动程序由struct platform_driver描述: struct platform_driver { ...
转自宋宝华老师的博客。写的很好,我整理了一下转换为pdf文件,传上来于大家分享。 预览在这里:http://www.tek-life.org/2010/09/26/%E8%BD%AC-platform%E8%AE%BE%E5%A4%87%E9%A9%B1%E5%8A%A8%E5%85%A8%E9%80%8F%E6%9E%90/
驱动程序模型-platform 边学边译, 但愿不会因自己理解的错误而误导大家. 欢迎讨论译稿:) 原文请见http://code.google.com/p/linuxkernelchinesedoc/source/browse/trunk/%20linuxkernelchinesedoc/device-model/zplatform.txt 我的译文如下(已commit): 平台设备和驱动 ~~~~~~~~~~~~ 在中可以找到面向平台总线的驱动模型接口: platform_device和 platform_driver. 平台总是条伪总线,它被用来连接处在仅有最少基本组件的总线...
大家好。 我看了linux设备驱动详解这本书的工程linux设备驱动开发详解。 基于平台设备写了globalfifo_device_driver 模块加载函数中用platform_driver_register(&globalfifo_device_driver); 卸载函数为platform_driver_unregister(&globalfifo_device_driver) 但是insmod globalfifo.ko后 找不到加载的模块在哪里 lsmod 可以看到加载的模块 但是cat /proc/devices找不到设备节点 /dev中无法创建设备节点 请问怎么回事? 谢谢。