Android源码分析
文章平均质量分 76
third_eye
这个作者很懒,什么都没留下…
展开
-
sd卡读文件过程分析(一)(内核2.6.29,驱动goldfish)
这段时间想弄懂mmc驱动的读写原理,一直在goldfish的驱动代码中乱撞。某天突然灵光一闪,要从文件系统开始分析。眼前一篇豁然开朗。跟踪过程记录如下:首先是file的读操作。因为sd卡是fat32文件系统,找到fat32的file_operations:const struct file_operations fat_file_operations = { .llseek = generic_file_llseek, .read = do原创 2010-11-12 16:03:00 · 1086 阅读 · 0 评论 -
关于struct device_driver结构中的probe探测函数的调用(内核版本:2.6.29)
<br />最近看到linux的设备驱动模型,关于Kobject、Kset等还不是很清淅。看到了struct device_driver这个结构时,想到一个问题:它的初始化函数到底在哪里调用呢?以前搞PCI驱动时用pci驱动注册函数就可以调用它,搞 s3c2410驱动时只要在mach-smdk2410.c中的struct platform_device *smdk2410_devices {}中加入设备也会调用。但从来就没有想过具体的驱动注册并调用probe的过程。<br /><br /> 于是转载 2010-11-11 14:56:00 · 649 阅读 · 0 评论 -
sd卡读文件过程分析(二)(内核2.6.29,驱动goldfish)
<br /> <br /> <br />块设备部分现在还没有涉及,先来分析goldfish驱动吧。<br />goldfish驱动MMC设备的代码在driver/mmc/下,一共有三个层次:host,core,card。<br />card层:对应具体的设备驱动,如MMC/SD卡块设备驱动,SDIO UART<br />core层:为上次设备驱动实现提供操作接口,和下层host注册提供机制<br />host层:具体MMC/SD/SDIO控制器驱动层。如S3C2440 MMC/SD控制器驱动<br />这里原创 2011-03-28 17:11:00 · 1110 阅读 · 0 评论 -
sd卡虚拟化函数跟踪记录
dump_stack();打印调用堆栈 mmc_blk_probe-->add_disk-->register_disk-->device_add-->put_device /-->blkdev_get-->__blkdev_get-->rescan_pa原创 2011-03-28 17:38:00 · 1199 阅读 · 0 评论