QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: keenor

编写一个简单的驱动程序

  [复制链接]
发表于 2003-5-26 03:13:36 | 显示全部楼层
[quote:8e36f521ce="keenor"]说明4:
这个例子限定了内核版本(2.4.20)和条件(devfs),所以这里没有考虑任何错误处理和移植问题。这是为了尽量简洁。大家将来如果真要做驱动,可不能这么简单了,要考虑好多问题的。[/quote]

i do not think u code is binded to 2.4.20. maybe every 2.4.x can. for considering the different kernel. i recommend the sysdep.h in ldd2 examples.
回复

使用道具 举报

发表于 2003-5-26 03:21:57 | 显示全部楼层
about the SET_MODULE_OWNER see it from module.h

409 #ifdef CONFIG_MODULES
410 #define SET_MODULE_OWNER(some_struct) do { (some_struct)->owner = THIS_MODULE; } while (0)
411 #else
412 #define SET_MODULE_OWNER(some_struct) do { } while (0)
413 #endif

no tricky here. set the owner pointer to the module struct.
回复

使用道具 举报

发表于 2003-6-9 17:25:52 | 显示全部楼层
我用以上例子时出现如下错误,是2.4.18-14内核,insmod dragonfly.o
dragonfly.o: init_module: Device or resource busy
Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters.
      You may find more information in syslog or the output from dmesg
而且我还发现devfs_register就会出现这样的问题,请指教
回复

使用道具 举报

发表于 2003-6-9 21:52:59 | 显示全部楼层
u error come from this
"if (!df_devfs_dir) return -EBUSY; "

but i am not sure why 2.4.18-14 have this problem. can u change it to normal register_chrdev
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-12-3 07:47 , Processed in 0.127451 second(s), 12 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表