MTD设备用户管理
版本:linux.2.6.27
1、什么是“MTD设备用户”
// mtd通知结构体,添加和移除方法,一个链表头.
struct mtd_notifier {
void (*add)(struct mtd_info *mtd);
void (*remove)(struct mtd_info *mtd);
struct list_head list;
};
就是这么一个结构:mtd_notifier。他是做什么用处的呢? 固名思义,就是MTD的使用者吧,怎么使用?
注意他有两个方法:一个是add,一个是remove,还有一个链表挂勾。它的两个方法的参数只有一个就是struct mtd_info*,这个参数就是代表一个分区的数据结构。可以想象,就是在添加或删除一个mtd_info分区的时候会调用这两个方法。对于那个 list链表挂勾,应该是将该mtd_notifier挂到某个同一类别的链表上的吧。
大至意思就是这样,我们再继续看一看主要的处理函数。
2 主要处理函数
2.1 注册
.../drivers/mtd/mtdcore.c
void register_mtd_user (struct mtd_notifier *new)