mtd设备节点疑问
2.6.18内核drivers/mtd/mtdchar.c里面定义了一个file_operations, 还定义了模块入口函数:static int __init init_mtdchar(void)
{
if (register_chrdev(MTD_CHAR_MAJOR, "mtd", &mtd_fops)) {
printk(KERN_NOTICE "Can't allocate major number %d for Memory Technology Devices.\n",
MTD_CHAR_MAJOR);
return -EAGAIN;
}
...
}
这很明显是一个字符设备驱动,会生产/dev/mtd设备节点,但是为什么系统启动后ls /dev看不到mtd这个设备节点,但能看到mtd0,mtd1...和mtdblock0,mtdblock1... ?
我知道mtdx和mtdblockx对应flash的各个分区,就不知道为何找不到/dev/mtd? 只是有个文件操作集,没有生成mtd 设备 mtd驱动是不会生成/dev/mtd 这个设备结点的
它只会生成你所看到的 /dev/mtdX 或者 /dev/mtdblockX
其中一个字符驱动形式,一个是块驱动形式
页:
[1]