前面HOST篇最后的中断篇中讲到,插入SD卡,主控制器产生中断,进入中断处理函数s3cmci_irq_cd,其中调用的函数 mmc_detect_change,它将最终调用queue_delayed_work执行工作队列里的mmc_rescan函数 下面来看看 mmc_rescan [cpp]view plaincopy 1. void mmc_rescan(struct work_struct *work) 2. { 3. struct mmc_hos...
1staticint__init mmc_init(void)2{3intret;45workqueue = alloc_ordered_workqueue("kmmcd",0);//建立队列,主要用来支持热插热拔6if(!workqueue)7return-ENOMEM;89ret = mmc_register_bus();//注册mmc总线10if(ret)11gotodestroy_workqueue;1213ret = mmc_register_host_class();//注册mmc host class14...
INIT_DELAYED_WORK(&host->detect, mmc_rescan);returnhost; } 如果你看了 queue_delayed_work 这个函数功能介绍,相信对 INIT_DELAYED_WORK 也不会陌生了吧。不废话了,来看mmc_rescan: voidmmc_rescan(structwork_struct *work)// // 来自 core/host.c{structmmc_host *host = container_of(work,structmmc...
还有一个与 mmc info 命令相同功能的命令:mmcinfo,“mmc”和“info”之间没有空格。 2、mmc rescan命令 mmc rescan 命令用于扫描当前开发板上所有的 MMC 设备,包括 EMMC 和 SD 卡,输入“mmc rescan”即可。 3、mmc list命令 mmc list 命令用于来查看当前开发板一共有几个 MMC 设备,输入“mmc list”...
针对mmc controller,该子系统抽象为mmc_host,用于描述一个进行设备通信的控制器,提供了相应的访问接口(记为mmc_host->request); 针对mmc、sd、tf卡具体设备,该子系统抽象为mmc_card,用于描述卡信息。mmc子系统提供年rescan接口用于mmc card的注册; 针对mmc、sd、tf,mmc子系统完成了统一的mmc driver,针对mmc总线规...
mmc_rescan就是扫描卡的函数 代码语言:javascript 复制 voidmmc_rescan(struct work_struct*work){struct mmc_host*host=container_of(work,struct mmc_host,detect.work);int i;if(host->trigger_card_event&&host->ops->card_event){host->ops->card_event(host);host->trigger_card_event=false;}if(host...
2、mmcrescan命令 mmcrescan命令用于扫描当前开发板上所有的MMC设备,包括EMMC和SD卡,输入“mmcrescan”即可。 3、mmclist命令 mmclist命令用于来查看当前开发板一共有几个MMC设备,输入“mmclist”,结果如图30.4.5.3所示: 图30.4.5.3扫描MMC设备 可以看出当前开发板有两个MMC设备:FSL_SDHC:0和FSL_SDHC:1 (eMMC),...
一、常用的MMC命令和参数 mmc命令中,比较常用的8个命令如下所示: mmc info 命令 mmc rescan 命令 mmc list 命令 mmc dev 命令 mmc part 命令 mmc read 命令 mmc write 命令 mmc erase 命令 具体的详细的命令,在u-boot的命令行,直接在串口端输入mmc 命令,其后可以跟不同的参数,就可以打印出MMC相关的命令介...
mmc rescan 命令 mmc list 命令 mmc dev 命令 mmc part 命令 mmc read 命令 mmc write 命令 mmc erase 命令 1、mmc info 命令 mmc info命令用于显示当前选定的 MMC 设备的相关信息,包括设备编号、制造商 ID、OEM、卡名称、总容量、总扇区数、块大小、传输速度、版本信息、是否支持高容量(High Capacity)等,如...
四、mmc_alloc_host 在emmc/sd host层解析一文中,我们有分析过mmci_probe函数,该函数的第30行,是这样子的: mmc = mmc_alloc_host(sizeof(struct mmci_host), &dev->dev); 该函数里面有这么一行: INIT_DELAYED_WORK(&host->detect, mmc_rescan); 这里是建立了一个延时工作队列,该工作队列的处理函数为...