test/dm: clk: Add clk_get_by_index[_nodev] test
authorJagan Teki <jagan@amarulasolutions.com>
Tue, 5 Mar 2019 14:12:44 +0000 (19:42 +0530)
committerJagan Teki <jagan@amarulasolutions.com>
Wed, 8 May 2019 19:14:13 +0000 (00:44 +0530)
Add sample dm clk test for clk_get_by_index and
clk_get_by_index_nodev functionality code.

Cc: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
test/dm/clk.c

index 112d5cbbc91c133ae4518b4881cd4731b2da0ced..f301ecbb459db5b2a145a44897de7caca8052407 100644 (file)
@@ -4,12 +4,33 @@
  */
 
 #include <common.h>
+#include <clk.h>
 #include <dm.h>
 #include <asm/clk.h>
 #include <dm/test.h>
 #include <linux/err.h>
 #include <test/ut.h>
 
+/* Base test of the clk uclass */
+static int dm_test_clk_base(struct unit_test_state *uts)
+{
+       struct udevice *dev;
+       struct clk clk_method1;
+       struct clk clk_method2;
+
+       /* Get the device using the clk device */
+       ut_assertok(uclass_get_device_by_name(UCLASS_MISC, "clk-test", &dev));
+
+       /* Get the same clk port in 2 different ways and compare */
+       ut_assertok(clk_get_by_index(dev, 1, &clk_method1));
+       ut_assertok(clk_get_by_index_nodev(dev_ofnode(dev), 1, &clk_method2));
+       ut_asserteq(clk_method1.id, clk_method2.id);
+
+       return 0;
+}
+
+DM_TEST(dm_test_clk_base, DM_TESTF_SCAN_FDT);
+
 static int dm_test_clk(struct unit_test_state *uts)
 {
        struct udevice *dev_fixed, *dev_fixed_factor, *dev_clk, *dev_test;