Clk API

KUnit clk API 用于测试 clk 提供者和 clk 消费者。

int clk_prepare_enable_kunit(struct kunit *test, struct clk *clk)

测试托管的 clk_prepare_enable()

参数

struct kunit *test

测试上下文

struct clk *clk

要准备和启用的 clk

返回

成功返回 0,失败返回负的 errno。

struct clk *clk_get_kunit(struct kunit *test, struct device *dev, const char *con_id)

测试托管的 clk_get()

参数

struct kunit *test

测试上下文

struct device *dev

时钟“消费者”的设备

const char *con_id

时钟消费者 ID

描述

就像 clk_get() 一样,只是 clk 由测试用例管理,并在测试用例结束后使用 clk_put() 自动释放。

返回

新的 clk 消费者,失败时返回 ERR_PTR。

struct clk *of_clk_get_kunit(struct kunit *test, struct device_node *np, int index)

测试托管的 of_clk_get()

参数

struct kunit *test

测试上下文

struct device_node *np

时钟“消费者”的 device_node

int index

np 的“clocks”属性中的索引

描述

就像 of_clk_get() 一样,只是 clk 由测试用例管理,并在测试用例结束后使用 clk_put() 自动释放。

返回

新的 clk 消费者,失败时返回 ERR_PTR。

struct clk *clk_hw_get_clk_kunit(struct kunit *test, struct clk_hw *hw, const char *con_id)

测试托管的 clk_hw_get_clk()

参数

struct kunit *test

测试上下文

struct clk_hw *hw

与正在使用的 clk 关联的 clk_hw

const char *con_id

设备上的连接 ID 字符串

描述

就像 clk_hw_get_clk() 一样,只是 clk 由测试用例管理,并在测试用例结束后使用 clk_put() 自动释放。

返回

新的 clk 消费者,失败时返回 ERR_PTR。

struct clk *clk_hw_get_clk_prepared_enabled_kunit(struct kunit *test, struct clk_hw *hw, const char *con_id)

测试托管的 clk_hw_get_clk() + clk_prepare_enable()

参数

struct kunit *test

测试上下文

struct clk_hw *hw

与正在使用的 clk 关联的 clk_hw

const char *con_id

设备上的连接 ID 字符串

描述

就像

struct clk *clk = clk_hw_get_clk(...);
clk_prepare_enable(clk);

只是 clk 由测试用例管理,并在测试用例结束后使用 clk_disable_unprepare() 自动禁用和取消准备,并使用 clk_put() 释放。

返回

新的已准备和启用的 clk 消费者,失败时返回 ERR_PTR。

int clk_hw_register_kunit(struct kunit *test, struct device *dev, struct clk_hw *hw)

测试托管的 clk_hw_register()

参数

struct kunit *test

测试上下文

struct device *dev

正在注册此时钟的设备

struct clk_hw *hw

指向硬件特定时钟数据的链接

描述

就像 clk_hw_register() 一样,只是 clk 注册由测试用例管理,并在测试用例结束后自动取消注册。

返回

成功返回 0,失败返回负的 errno 值。

int of_clk_hw_register_kunit(struct kunit *test, struct device_node *node, struct clk_hw *hw)

测试托管的 of_clk_hw_register()

参数

struct kunit *test

测试上下文

struct device_node *node

正在注册此时钟的设备的 device_node

struct clk_hw *hw

指向硬件特定时钟数据的链接

描述

就像 of_clk_hw_register() 一样,只是 clk 注册由测试用例管理,并在测试用例结束后自动取消注册。

返回

成功返回 0,失败返回负的 errno 值。

int of_clk_add_hw_provider_kunit(struct kunit *test, struct device_node *np, struct clk_hw *(*get)(struct of_phandle_args *clkspec, void *data), void *data)

测试托管的 of_clk_add_hw_provider()

参数

struct kunit *test

测试上下文

struct device_node *np

与时钟提供器关联的设备节点指针

struct clk_hw *(*get)(struct of_phandle_args *clkspec, void *data)

用于解码 clk_hw 的回调函数

void *data

用于 get 回调的上下文指针。

描述

与 of_clk_add_hw_provider() 类似,但 clk_hw 提供器由测试用例管理,并在测试用例结束后自动注销。

返回

成功返回 0,失败返回负的 errno 值。