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 值。