garyv 发表于 2010-12-31 17:58

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?

star316 发表于 2011-01-06 21:24

只是有个文件操作集,没有生成mtd 设备

468904197 发表于 2011-01-12 15:33

mtd驱动是不会生成/dev/mtd 这个设备结点的
它只会生成你所看到的 /dev/mtdX 或者 /dev/mtdblockX
其中一个字符驱动形式,一个是块驱动形式
页: [1]
查看完整版本: mtd设备节点疑问