]> git.sur5r.net Git - u-boot/blobdiff - test/dm/syscon.c
Merge branch 'master' of git://git.denx.de/u-boot-sunxi
[u-boot] / test / dm / syscon.c
index 36424816b894303faa52b22a0ec8129326af6765..77c79285d933a2079d468ebd4ab7847bab74a877 100644 (file)
@@ -1,7 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * Copyright (C) 2015 Google, Inc
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
@@ -11,8 +10,6 @@
 #include <dm/test.h>
 #include <test/ut.h>
 
-DECLARE_GLOBAL_DATA_PTR;
-
 /* Base test of system controllers */
 static int dm_test_syscon_base(struct unit_test_state *uts)
 {
@@ -29,3 +26,20 @@ static int dm_test_syscon_base(struct unit_test_state *uts)
        return 0;
 }
 DM_TEST(dm_test_syscon_base, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT);
+
+/* Test system controller finding */
+static int dm_test_syscon_by_driver_data(struct unit_test_state *uts)
+{
+       struct udevice *dev;
+
+       ut_assertok(syscon_get_by_driver_data(SYSCON0, &dev));
+       ut_asserteq(SYSCON0, dev->driver_data);
+
+       ut_assertok(syscon_get_by_driver_data(SYSCON1, &dev));
+       ut_asserteq(SYSCON1, dev->driver_data);
+
+       ut_asserteq(-ENODEV, syscon_get_by_driver_data(2, &dev));
+
+       return 0;
+}
+DM_TEST(dm_test_syscon_by_driver_data, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT);