免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4281 | 回复: 10
打印 上一主题 下一主题

知道主设备号和次设备号,能否判断该设备是否存在 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-14 09:49 |只看该作者 |倒序浏览
我要做一个检测SD卡是否插在板子上的功能,通过驱动源码得知主设备号和次设备号分别是0和16,我能不能通过分析/proc或者/dev判断出SD卡有没插上?


另外block_device_operations结构体内定义了media_changed函数指针,驱动内实现的有sd_media_changed函数,能不能通过调用它来判断?


书上说内核模块的导出符号可以被其它模块使用,那我可不可以在用户空间使用?


请高人指点,谢谢!

论坛徽章:
0
2 [报告]
发表于 2008-08-14 09:57 |只看该作者
cat /proc/partitions就知道了
或者检查dev/mmc/有没有生成blkX文件
其实这样的程序没什么实际意义

论坛徽章:
0
3 [报告]
发表于 2008-08-14 09:59 |只看该作者

回复 #2 vitoUNIX 的帖子

谢谢,我试一下。

这是其它部门的需求,我也只能满足他们。

论坛徽章:
0
4 [报告]
发表于 2008-08-14 11:00 |只看该作者
还是不行。由于板子不支持热插拔,开机状态下把SD卡拔下来后,cat /proc/partitions仍然能看到SD卡的分区。我想在开机后的任一时刻只要一拔下SD卡,检测时就能检测到SD卡不存在了,要怎么做呢?


另外 ,也没有找到/dev/mmc这个目录

[ 本帖最后由 cugfeng 于 2008-8-14 11:01 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2008-08-14 11:03 |只看该作者
你是2.4内核吧 2.4的应该在scsi目录下

SD卡的热插拔我也一直没搞过 到现在我那块板子SD卡驱动一直有问题呢

论坛徽章:
0
6 [报告]
发表于 2008-08-14 11:24 |只看该作者

回复 #5 vitoUNIX 的帖子

2.6的内核

~ # uname -a
Linux (none) 2.6.14-hi3510_v100_p01_dvs_b01 #16 PREEMPT Thu May 22 10:34:41 CST
2008 armv5tejl unknown


热插拔那一块公司暂时还没做,所以这个问题让我解决起来也不好搞,我才刚毕业入职一个多月

论坛徽章:
0
7 [报告]
发表于 2008-08-14 11:26 |只看该作者
我刚入职不到一个月!! 上个月14号到的公司 这是我的第一家公司 以前我也没干过

论坛徽章:
0
8 [报告]
发表于 2008-08-14 11:27 |只看该作者
那你的SD卡设备文件是挂在哪的?

论坛徽章:
0
9 [报告]
发表于 2008-08-14 12:00 |只看该作者

回复 #8 vitoUNIX 的帖子

呵呵,看来咱们都一样啊。

识别出来是/dev/sd/0/…… 挂在了/mnt/sd

论坛徽章:
5
10 [报告]
发表于 2008-08-14 16:32 |只看该作者
原帖由 cugfeng 于 2008-8-14 11:24 发表
2.6的内核

~ # uname -a
Linux (none) 2.6.14-hi3510_v100_p01_dvs_b01 #16 PREEMPT Thu May 22 10:34:41 CST
2008 armv5tejl unknown


热插拔那一块公司暂时还没做,所以这个问题让我解决起来也不好搞 ...



可看看document\usb\hotplug.txt
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP