- 论坛徽章:
- 0
|
关于linux2.6的mmc/sd驱动
关于linux 2.6 mmc/sd驱动
linux 2.6 中的mmc/sd驱动分为以下几方面的内容
1. sysfs 层的总线类型处理: 注册一组 mmc 类型处理函数, 标志为 "mmc"
具体在mmc_sysfs.c文件中实现
2. mmc/sd 快设备管理:注册一个块设备和一组 mmc 总线类型的 driver 子函数, 实现块设备的队列管理等
drivers/mmc/mmc_block.c
3. mmc/sd host管理: 实现 host 的管理
. drivers/mmc/mmc.c:主要的 MMC command 與 protocol 實作。
4. 针对特定的mcu实现一个host驱动实例:主要是注册一个 host实体,中断处理函数,io设置函数,请求处理函数等
以上1.2.3基本是不需要修改的,需要处理的就是
4.要做的工作.当有卡插入时,由4中实现的插卡中断激活卡初始化程序和总线探测函数.
由mmc总线探测函数会调用块设备的探测函数,在卡设备探测函数中会初始化块设备的请求队列和注册一个gendisk实体(以后文件系统会通过
gendisk实体访问 mmc 块设备),同时在sysfs中建立真正的 mmc/sd 设备.块设备通过具体的 host
注册的io设置函数和请求函数与具体的host通讯.
后面的文章将具体对几个部分进行分析
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/69999/showart_734099.html |
|