当前位置:  技术问答>linux和unix

请教一个驱动与设备号对应的问题,百思不得其解

    来源: 互联网  发布时间:2016-02-20

    本文导语:  我以前写linux驱动时,总是自己从头构架,这样就可以按自己的意愿分配主、从设备号,如UART、IIC、RTC等等,但发现自己写的没有系统的稳定, 如UART、IIC、RTC在linux里都有一个很完整的驱动,只要再完成一些硬件上...

我以前写linux驱动时,总是自己从头构架,这样就可以按自己的意愿分配主、从设备号,如UART、IIC、RTC等等,但发现自己写的没有系统的稳定,
如UART、IIC、RTC在linux里都有一个很完整的驱动,只要再完成一些硬件上的接口函数就行了,于是想全部用系统的驱动,但是出一个比较麻烦的问题。


现在我就这些注册设备得到的主、从设备号是多少产生疑问,如RTC的二种注册方法:

一:
static struct rtc_ops atmel_rtt_rtcops = {
.owner = THIS_MODULE,
.open = atmel_rtt_rtcops_open,
.release = atmel_rtt_rtcops_release,
.ioctl = atmel_rtt_rtcops_ioctl,
.read_time = atmel_rtt_rtcops_gettime,
.set_time = atmel_rtt_rtcops_settime,
.proc = atmel_rtt_rtcops_proc,
};
register_rtc(&atmel_rtt_rtcops);

这样的话,在/dev下建议一个设备节点,主、从设备号是10、135就可以了(我是瞎猜的),但如何知道这10、135是如何得到的?

二:

static const struct rtc_class_ops atmel_rtc_ops = {
.ioctl = atmel_rtc_ioctl,
.read_time = atmel_rtc_readtime,
.set_time = atmel_rtc_settime,
.read_alarm = atmel_rtc_readalarm,
.set_alarm = atmel_rtc_setalarm,
.proc = atmel_rtc_proc,
};

rtc = rtc_device_register(pdev->name, &pdev->dev, &atmel_rtc_ops, THIS_MODULE);
这个是最近2.6内核里大部分的做法,它得到的设备主、从号不再是10、135,那么如何知道这个注册方法的主、从设备号?
在/proc里的 devices文件里只显示其主设备号,如何得知它的从设备号?



|
可以用mknod 建立个该主设备号指定一个空闲的从设备号到/dev目录下的..

|
查看这个&pdev结构体应该定义了设备号变量名称..
2.6一般是动态生成的吧

|
"在/proc里的   devices文件里只显示其主设备号,如何得知它的从设备号?"
从设备可以自己设定,目的就是不出现重复的相同的设备的..

你可以先指定从设备号为0试试看..

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教字节序问题,分析了一个例子,但是不得要领。
  • 请教,请教,这个问题是为什么????
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)
  • 请教这种循环的执行过程
  • 请教两个redhat9问题
  • 请教如何在指定目录下查找包含指定文字的文件
  • 请教局域网中如何通过ip地址得到主机名
  • 请教kdevelop的问题
  • 请教linux 下的adsl拨号问题.
  • 请教,如何用虚拟订机安装liux
  • 【请教】LINUX 下SNMP的MIB开发
  • 请教一个opengl的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3