Lines Matching refs:test
3 * Kunit test for clk gate basic type
9 #include <kunit/test.h>
11 static void clk_gate_register_test_dev(struct kunit *test)
17 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, pdev);
21 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ret);
22 KUNIT_EXPECT_STREQ(test, "test_gate", clk_hw_get_name(ret));
23 KUNIT_EXPECT_EQ(test, 0UL, clk_hw_get_flags(ret));
29 static void clk_gate_register_test_parent_names(struct kunit *test)
36 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, parent);
40 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ret);
41 KUNIT_EXPECT_PTR_EQ(test, parent, clk_hw_get_parent(ret));
47 static void clk_gate_register_test_parent_data(struct kunit *test)
55 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, parent);
60 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ret);
61 KUNIT_EXPECT_PTR_EQ(test, parent, clk_hw_get_parent(ret));
67 static void clk_gate_register_test_parent_data_legacy(struct kunit *test)
75 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, parent);
80 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ret);
81 KUNIT_EXPECT_PTR_EQ(test, parent, clk_hw_get_parent(ret));
87 static void clk_gate_register_test_parent_hw(struct kunit *test)
94 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, parent);
98 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ret);
99 KUNIT_EXPECT_PTR_EQ(test, parent, clk_hw_get_parent(ret));
105 static void clk_gate_register_test_hiword_invalid(struct kunit *test)
112 KUNIT_EXPECT_TRUE(test, IS_ERR(ret));
126 .name = "clk-gate-register-test",
137 static struct clk_gate_test_context *clk_gate_test_alloc_ctx(struct kunit *test)
141 test->priv = ctx = kunit_kzalloc(test, sizeof(*ctx), GFP_KERNEL);
142 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ctx);
148 static void clk_gate_test_parent_rate(struct kunit *test)
150 struct clk_gate_test_context *ctx = test->priv;
156 KUNIT_EXPECT_EQ(test, prate, rate);
159 static void clk_gate_test_enable(struct kunit *test)
161 struct clk_gate_test_context *ctx = test->priv;
167 KUNIT_ASSERT_EQ(test, clk_prepare_enable(clk), 0);
169 KUNIT_EXPECT_EQ(test, enable_val, ctx->fake_reg);
170 KUNIT_EXPECT_TRUE(test, clk_hw_is_enabled(hw));
171 KUNIT_EXPECT_TRUE(test, clk_hw_is_prepared(hw));
172 KUNIT_EXPECT_TRUE(test, clk_hw_is_enabled(parent));
173 KUNIT_EXPECT_TRUE(test, clk_hw_is_prepared(parent));
176 static void clk_gate_test_disable(struct kunit *test)
178 struct clk_gate_test_context *ctx = test->priv;
185 KUNIT_ASSERT_EQ(test, clk_prepare_enable(clk), 0);
186 KUNIT_ASSERT_EQ(test, enable_val, ctx->fake_reg);
189 KUNIT_EXPECT_EQ(test, disable_val, ctx->fake_reg);
190 KUNIT_EXPECT_FALSE(test, clk_hw_is_enabled(hw));
191 KUNIT_EXPECT_FALSE(test, clk_hw_is_prepared(hw));
192 KUNIT_EXPECT_FALSE(test, clk_hw_is_enabled(parent));
193 KUNIT_EXPECT_FALSE(test, clk_hw_is_prepared(parent));
203 static int clk_gate_test_init(struct kunit *test)
209 ctx = clk_gate_test_alloc_ctx(test);
212 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, parent);
216 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, hw);
224 static void clk_gate_test_exit(struct kunit *test)
226 struct clk_gate_test_context *ctx = test->priv;
233 .name = "clk-gate-test",
239 static void clk_gate_test_invert_enable(struct kunit *test)
241 struct clk_gate_test_context *ctx = test->priv;
247 KUNIT_ASSERT_EQ(test, clk_prepare_enable(clk), 0);
249 KUNIT_EXPECT_EQ(test, enable_val, ctx->fake_reg);
250 KUNIT_EXPECT_TRUE(test, clk_hw_is_enabled(hw));
251 KUNIT_EXPECT_TRUE(test, clk_hw_is_prepared(hw));
252 KUNIT_EXPECT_TRUE(test, clk_hw_is_enabled(parent));
253 KUNIT_EXPECT_TRUE(test, clk_hw_is_prepared(parent));
256 static void clk_gate_test_invert_disable(struct kunit *test)
258 struct clk_gate_test_context *ctx = test->priv;
265 KUNIT_ASSERT_EQ(test, clk_prepare_enable(clk), 0);
266 KUNIT_ASSERT_EQ(test, enable_val, ctx->fake_reg);
269 KUNIT_EXPECT_EQ(test, disable_val, ctx->fake_reg);
270 KUNIT_EXPECT_FALSE(test, clk_hw_is_enabled(hw));
271 KUNIT_EXPECT_FALSE(test, clk_hw_is_prepared(hw));
272 KUNIT_EXPECT_FALSE(test, clk_hw_is_enabled(parent));
273 KUNIT_EXPECT_FALSE(test, clk_hw_is_prepared(parent));
282 static int clk_gate_test_invert_init(struct kunit *test)
288 ctx = clk_gate_test_alloc_ctx(test);
291 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, parent);
297 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, hw);
306 .name = "clk-gate-invert-test",
312 static void clk_gate_test_hiword_enable(struct kunit *test)
314 struct clk_gate_test_context *ctx = test->priv;
320 KUNIT_ASSERT_EQ(test, clk_prepare_enable(clk), 0);
322 KUNIT_EXPECT_EQ(test, enable_val, ctx->fake_reg);
323 KUNIT_EXPECT_TRUE(test, clk_hw_is_enabled(hw));
324 KUNIT_EXPECT_TRUE(test, clk_hw_is_prepared(hw));
325 KUNIT_EXPECT_TRUE(test, clk_hw_is_enabled(parent));
326 KUNIT_EXPECT_TRUE(test, clk_hw_is_prepared(parent));
329 static void clk_gate_test_hiword_disable(struct kunit *test)
331 struct clk_gate_test_context *ctx = test->priv;
338 KUNIT_ASSERT_EQ(test, clk_prepare_enable(clk), 0);
339 KUNIT_ASSERT_EQ(test, enable_val, ctx->fake_reg);
342 KUNIT_EXPECT_EQ(test, disable_val, ctx->fake_reg);
343 KUNIT_EXPECT_FALSE(test, clk_hw_is_enabled(hw));
344 KUNIT_EXPECT_FALSE(test, clk_hw_is_prepared(hw));
345 KUNIT_EXPECT_FALSE(test, clk_hw_is_enabled(parent));
346 KUNIT_EXPECT_FALSE(test, clk_hw_is_prepared(parent));
355 static int clk_gate_test_hiword_init(struct kunit *test)
361 ctx = clk_gate_test_alloc_ctx(test);
364 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, parent);
369 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, hw);
378 .name = "clk-gate-hiword-test",
384 static void clk_gate_test_is_enabled(struct kunit *test)
389 ctx = clk_gate_test_alloc_ctx(test);
393 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, hw);
394 KUNIT_ASSERT_TRUE(test, clk_hw_is_enabled(hw));
399 static void clk_gate_test_is_disabled(struct kunit *test)
404 ctx = clk_gate_test_alloc_ctx(test);
408 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, hw);
409 KUNIT_ASSERT_FALSE(test, clk_hw_is_enabled(hw));
414 static void clk_gate_test_is_enabled_inverted(struct kunit *test)
419 ctx = clk_gate_test_alloc_ctx(test);
423 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, hw);
424 KUNIT_ASSERT_TRUE(test, clk_hw_is_enabled(hw));
429 static void clk_gate_test_is_disabled_inverted(struct kunit *test)
434 ctx = clk_gate_test_alloc_ctx(test);
438 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, hw);
439 KUNIT_ASSERT_FALSE(test, clk_hw_is_enabled(hw));
453 .name = "clk-gate-is_enabled-test",