Chinaunix首页 | 论坛 | 博客
  • 博客访问: 717958
  • 博文数量: 192
  • 博客积分: 2653
  • 博客等级: 少校
  • 技术积分: 1623
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-31 18:25
个人简介

How tough life is, how strong you should be!

文章分类

全部博文(192)

文章存档

2015年(1)

2014年(2)

2013年(37)

2012年(152)

分类: LINUX

2012-07-19 19:45:25

关于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通讯

阅读(1301) | 评论(0) | 转发(3) |
0

上一篇:Mmc Controller Driver

下一篇:USB基本知识-2

给主人留下些什么吧!~~