linux/include/kunit/clk.h
Stephen Boyd d690bd11e8 clk: Add test managed clk provider/consumer APIs
Unit tests are more ergonomic and simpler to understand if they don't
have to hoist a bunch of code into the test harness init and exit
functions. Add some test managed wrappers for the clk APIs so that clk
unit tests can write more code in the actual test and less code in the
harness.

Only add APIs that are used for now. More wrappers can be added in the
future as necessary.

Cc: Brendan Higgins <brendan.higgins@linux.dev>
Cc: David Gow <davidgow@google.com>
Cc: Rae Moar <rmoar@google.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Link: https://lore.kernel.org/r/20240718210513.3801024-7-sboyd@kernel.org
2024-07-29 15:33:12 -07:00

29 lines
815 B
C

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _CLK_KUNIT_H
#define _CLK_KUNIT_H
struct clk;
struct clk_hw;
struct device;
struct device_node;
struct kunit;
struct clk *
clk_get_kunit(struct kunit *test, struct device *dev, const char *con_id);
struct clk *
of_clk_get_kunit(struct kunit *test, struct device_node *np, int index);
struct clk *
clk_hw_get_clk_kunit(struct kunit *test, struct clk_hw *hw, const char *con_id);
struct clk *
clk_hw_get_clk_prepared_enabled_kunit(struct kunit *test, struct clk_hw *hw,
const char *con_id);
int clk_prepare_enable_kunit(struct kunit *test, struct clk *clk);
int clk_hw_register_kunit(struct kunit *test, struct device *dev, struct clk_hw *hw);
int of_clk_hw_register_kunit(struct kunit *test, struct device_node *node,
struct clk_hw *hw);
#endif