为底层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关联,并且做部分初始化操作。 原型:struc...
为底层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关联,并且做部分初始化操作。 原型:struc...
原型: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_re...
in byteshost->dev=&pdev->dev;platform_set_drvdata(pdev,host);// pdev->dev->driver_data = host/* Step 3: Register the host with driver model */// 第3步:将mmc_host注册到驱动模型中mmc_add_host(mmc);return0;err_alloc_host:returnret;} ...
probe最重要的作用是host的注册,那么首先必须构造出一个host,这个host就是通过mmc_alloc_host函数来构造出来的,初始化host的时钟,设置host的gpio等等其他参数初始化,最后通过mmc_add_host函数来注册host,下面看下这两个函数的具体内容。 1.mmc_alloc_host ...
其实,互联网上对Linuxmmc软件框架的介绍已经非常多。本小节主要再以mmc的rescan初始化流程及request流程进行说明。参考Linux版本为4.17,mmchost驱动为瑞萨的rcar-M3。Block层的相关处理流程及驱动的具体实现流程本小节不涉及。 如下图16所示,在瑞萨mmc驱动在执行probe流程时,首先会通过mmc_alloc_host函数分配一个structmm...
1.mmc_alloc_host mmc_alloc_host()位于/drivers/mmc/core/host.c structmmc_host*mmc_alloc_host(intextra,structdevice*dev){interr;structmmc_host*host;if(!idr_pre_get(&mmc_host_idr,GFP_KERNEL))returnNULL;host=kzalloc(sizeof(structmmc_host)+extra,GFP_KERNEL);if(!host)returnNULL;spin_lock(...
对应代码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_alloc_host函数会创建一个工作队列,mmc_rescan与host->detect绑定。 代码语言:javascript 代码运行次数:0 复制 Cloud Studio代码运行 INIT_DELAYED_WORK(&host->detect,mmc_rescan); mmc_rescan就是扫描卡的函数 代码语言:javascript 代码运行次数:0
1、既然是讲host的注册,那么首先必须构造出一个host,这个host就是通过sdhci_alloc_host函数来构造出来的,它是一个struct sdhci_host类型的结构体。同时,也通过mmc_alloc_host函数构造了一个struct mmc_host的结构体变量mmc。 2、初始化host的时钟,设置host的gpio等等其他一些“乱七八糟”的参数初始化(需要的时候再...