linux of clk get,clk_get函数实现,Linux内核时钟框架

(1) 对应外设时钟的开启struct clk=clk_get(NULL,"adc");clk.enable();之后adc对应的时钟位就能时能。struct clk *clk_get(struct device *dev, const char *id){..........list_for_each_entry(p, &clocks, list) {if (p->id == i...
摘要由CSDN通过智能技术生成

(1)  对应外设时钟的开启

struct clk=clk_get(NULL,"adc");

clk.enable();

之后adc对应的时钟位就能时能。

struct clk *clk_get(struct device *dev, const char *id)

{

..........

list_for_each_entry(p, &clocks, list) {

if (p->id == idno &&

strcmp(id, p->name) == 0 &&

try_module_get(p->owner)) {

clk = p;

break;

}

}

.............................................

return clk;

}

clk_get从一个时钟list链表中以字符id名称来查找一个时钟clk结构体并且返回,最后调用clk.enable(),来时能对应的外设时钟源。

(2)  list的设置和对应list中的成员。

MACHINE_START(MINI2440, "FriendlyARM Mini2440 development board")

.phys_io    = S3C2410_PA_UART,

.io_pg_offst    = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc,

.boot_params    = S3C2410_SDRA

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值