mmc subsystem系列(持续更新中):
[mmc subsystem] 概念与框架
[mmc subsystem] mmc core(第一章)——概述
[mmc subsystem] mmc core(第二章)——数据结构和宏定义说明
[mmc subsystem] mmc core(第三章)——bus模块说明
[mmc subsystem] mmc core(第四章)——host模块说明
[mmc subsystem] mmc core(第五章)——card相关模块(mmc type card)
[mmc subsystem] mmc core(第六章)——mmc core主模块
建议先参考《[mmc subsystem] 概念与框架》和《[mmc subsystem] mmc core(第一章)——概述》对整体有一个了解。
=========================================================================================================
零、说明
对应代码drivers/mmc/core/host.c,drivers/mmc/core/host.h。
为底层host controller driver实现mmc host的申请以及注册的API等等,以及host相关属性的实现。
一、API总览
1、mmc host分配、注册相关
- mmc_alloc_host & mmc_free_host
底层host controller驱动调用,用来分配或者释放一个struct mmc_host结构体,将其于mmc_host_class关联,并且做部分初始化操作。
原型:struct mmc_host *mmc_alloc_host(int extra, struct device *dev)
参数说明:extra——》mmc_host的私有数据的长度,会和mmc_host结构体一起分配,
dev——》底层host controller的device结构体,用于作为mmc_host的device的父设备
原型:void mmc_free_host(struct mmc_host *host)
- mmc_add_host & mmc_remove_host
底层host controller驱动调用,注册或者卸载mmc_host到设备驱动中,添加到sys类下面,并设置相应的debug目录。然后启动mmc_host。
原型:int mmc_add_host(struct mmc_host *host)
原型:void mmc_remove_host(struct mmc_host *host)
2、mmc host class相关
- mmc_register_host_class & mmc_unregister_host_class
注册或者卸载mmc_host类。
原型:int mmc_register_host_class(void)
原型:void mmc_unregister_host_class(void)
3、mmc host属性解析相关
- mmc_of_parse
底层host controller驱动调用,解析mmc_host的dtsi节点的部分属性。
原型:void mmc_of_parse(struct mmc_host *host)