从零开始之驱动发开、linux驱动(三十九、Linux common clock framework(4)_总结)

本文总结了Linux Common Clock Framework的主要内容,包括clock、clk_root_list、clk_orphan_list和clk_notifier_list四个链表的功能。阐述了时钟注册过程,特别是孤儿时钟的管理和转换。还介绍了不同类型的时钟注册函数,如开关、固定频率、多选一和分频时钟,并指出倍频时钟通常由厂商自定义实现,以三星的锁相环PLL为例。
摘要由CSDN通过智能技术生成

前面三节参考蜗窝大神的文章分析了Linux common clock framework的主要实现细节,本篇则是对前三篇从全局的一个整合说明。

 

common clock framework主要维护着四条链表

static HLIST_HEAD(clk_root_list);
static HLIST_HEAD(clk_orphan_list);
static LIST_HEAD(clk_notifier_list);

 

static LIST_HEAD(clocks);

其中clock链表我们在上一节的末尾已经说明,这个主要就是为了方便查找。

clk_root_list是存放根时钟的,一个链表,通常根时钟都是固定频率的时钟。(fix)

clk_orphan_list是存放孤儿节点的时钟,即一般而言没有父时钟,也不是根时钟,这种时钟通常就是孤儿时钟。

clk_notifier_list是通知链表,即某个父时钟跟新了频率,其也要通知子时钟更新它的频率计算。

注册时的位置如下

clk_register
    __clk_init
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑的小刺猬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值