Nanopi SDIO 接口驱动简要分析

这里比较关键的是 mmc_rescan 这个函数,它可以探测出 sdio 总线上的器件如:sdio设备、sd卡、emmc 等,
系统初始化时会主动调用 mmc_rescan 来探测一次设备,
之后会调用延时 work: mmc_schedule_delayed_work(&host->detect, HZ) 以固定的频率来探测设备,以保证有设备接入时可以第一时间被检测到,这种机制属于热插拔,而这种检测的方式类似于 USB 的中断传输方式。
host->detect 被初始化为: INIT_DELAYED_WORK(&host->detect, mmc_rescan),所以系统中在一直循环调用 mmc_rescan。
图示的 sdio 设备是以 broadcom 无线网卡驱动为例的,当初就是想分析 wifi 驱动,所以就牵连出了这么多,
最后发现 broadcom 的驱动略庞大,貌似把 mac80211 给取替了,
所以后来转头先分析 USB 接口的无线网卡,搞起来就就轻松许多,待这款网卡完全基本分析透彻后写出随笔,再回来搞 broadcom。
感谢花费宝贵的时间浏览,
转载请注明出处。
本人将在[资源共享]分类下陆续加入学习过程中一些比较重要且有用处的资料、源码,大家可前往下载,一起进步。
感谢支持!

浙公网安备 33010602011771号