summaryrefslogtreecommitdiff
path: root/include/kunit
diff options
context:
space:
mode:
authorStephen Boyd <sboyd@kernel.org>2024-07-19 00:05:05 +0300
committerStephen Boyd <sboyd@kernel.org>2024-07-30 01:33:12 +0300
commitd690bd11e87adfc684265209a5aabd1f58fa367e (patch)
tree187f63373b8beca42e945d7f755b51e405ddeaaf /include/kunit
parent5ac79730324c6f37106ce397586020ffe6e8e234 (diff)
downloadlinux-d690bd11e87adfc684265209a5aabd1f58fa367e.tar.xz
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
Diffstat (limited to 'include/kunit')
-rw-r--r--include/kunit/clk.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/include/kunit/clk.h b/include/kunit/clk.h
new file mode 100644
index 000000000000..73bc99cefe7b
--- /dev/null
+++ b/include/kunit/clk.h
@@ -0,0 +1,28 @@
+/* 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