Linux内核4.14版本——mmc core(9)——mmc core主模块(5)host的mmc总线相关

1. mmc_attach_bus & mmc_detach_bus

主要功能:

mmc_attach_bus用于将分配一个mmc总线操作集给host。
mmc_detach_bus用于释放和host相关联的mmc总线操作集。

一些变量:

mmc_host->bus_ops,表示host的mmc总线操作集
mmc_host->bus_refs,表示host的mmc总线的使用者计数
mmc_host->bus_dead,表示host的mmc总线是否被激活,如果设置了bus_ops,那么就会被激活了

1.1 mmc_attach_bus

/*
 * Assign a mmc bus handler to a host. Only one bus handler may control a
 * host at any given time.
 */
void mmc_attach_bus(struct mmc_host *host, const struct mmc_bus_ops *ops)
{
	unsigned long flags;

	WARN_ON(!host->claimed);

	spin_lock_irqsave(&host->lock, flags);

	WARN_ON(host->bus_ops);  // 不允许重复设置host的mmc总线操作集
	WARN_ON(host->bus_refs); // 当mmc总线的使用者计数还存在时,不允许设置host的mmc总线操作集

	host->bus_ops = ops;    // 设置host的mmc总线操作集
	host->bus_refs = 1;   
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值