定义:kernel/include/linux/clk.h

实现:kernel/drivers/clk/clkdev.c

clk_get函数介绍

使用该函数时,我们一般第一个参数传入NULL,第二个参数是我们要查找的硬件上的那部分时钟。

在kernel目录下,使用 grep -wrn "clk_get"命令,可以查找到内核中clk_get函数使用的地方。

在传入dev=NULL时,该函数调用clk_get_sys:

clk_get函数介绍

clk_get_sys函数首先使用互斥锁clocks_mutex进行锁定,然后调用clk_find函数查找传入的硬件设备,返回一个clk_lookup的指针。

clk_get函数介绍

该函数中list_for_each_entry(p,&clocks,node)可以理解为一个for循环,clocks是一个链表,p依次指向链表中的每一个成员变量。

遍历、查找、匹配与传入的硬件名称相比较,如果找到,就返回一个指向clk_lookup结构的指针。

相关文章:

  • 2021-12-24
  • 2021-11-29
  • 2021-08-25
  • 2021-08-30
  • 2021-11-12
  • 2022-01-31
  • 2021-09-17
  • 2021-06-17
猜你喜欢
  • 2021-04-13
  • 2022-12-23
  • 2022-12-23
  • 2021-12-01
  • 2021-10-06
相关资源
相似解决方案