diff options
Diffstat (limited to 'drivers/of/unittest.c')
-rw-r--r-- | drivers/of/unittest.c | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c index 0cf9a236d438..52c45c7df07f 100644 --- a/drivers/of/unittest.c +++ b/drivers/of/unittest.c | |||
@@ -92,6 +92,16 @@ static void __init of_selftest_find_node_by_name(void) | |||
92 | "option path test failed\n"); | 92 | "option path test failed\n"); |
93 | of_node_put(np); | 93 | of_node_put(np); |
94 | 94 | ||
95 | np = of_find_node_opts_by_path("/testcase-data:test/option", &options); | ||
96 | selftest(np && !strcmp("test/option", options), | ||
97 | "option path test, subcase #1 failed\n"); | ||
98 | of_node_put(np); | ||
99 | |||
100 | np = of_find_node_opts_by_path("/testcase-data/testcase-device1:test/option", &options); | ||
101 | selftest(np && !strcmp("test/option", options), | ||
102 | "option path test, subcase #2 failed\n"); | ||
103 | of_node_put(np); | ||
104 | |||
95 | np = of_find_node_opts_by_path("/testcase-data:testoption", NULL); | 105 | np = of_find_node_opts_by_path("/testcase-data:testoption", NULL); |
96 | selftest(np, "NULL option path test failed\n"); | 106 | selftest(np, "NULL option path test failed\n"); |
97 | of_node_put(np); | 107 | of_node_put(np); |
@@ -102,6 +112,12 @@ static void __init of_selftest_find_node_by_name(void) | |||
102 | "option alias path test failed\n"); | 112 | "option alias path test failed\n"); |
103 | of_node_put(np); | 113 | of_node_put(np); |
104 | 114 | ||
115 | np = of_find_node_opts_by_path("testcase-alias:test/alias/option", | ||
116 | &options); | ||
117 | selftest(np && !strcmp("test/alias/option", options), | ||
118 | "option alias path test, subcase #1 failed\n"); | ||
119 | of_node_put(np); | ||
120 | |||
105 | np = of_find_node_opts_by_path("testcase-alias:testaliasoption", NULL); | 121 | np = of_find_node_opts_by_path("testcase-alias:testaliasoption", NULL); |
106 | selftest(np, "NULL option alias path test failed\n"); | 122 | selftest(np, "NULL option alias path test failed\n"); |
107 | of_node_put(np); | 123 | of_node_put(np); |
@@ -378,9 +394,9 @@ static void __init of_selftest_property_string(void) | |||
378 | rc = of_property_match_string(np, "phandle-list-names", "first"); | 394 | rc = of_property_match_string(np, "phandle-list-names", "first"); |
379 | selftest(rc == 0, "first expected:0 got:%i\n", rc); | 395 | selftest(rc == 0, "first expected:0 got:%i\n", rc); |
380 | rc = of_property_match_string(np, "phandle-list-names", "second"); | 396 | rc = of_property_match_string(np, "phandle-list-names", "second"); |
381 | selftest(rc == 1, "second expected:0 got:%i\n", rc); | 397 | selftest(rc == 1, "second expected:1 got:%i\n", rc); |
382 | rc = of_property_match_string(np, "phandle-list-names", "third"); | 398 | rc = of_property_match_string(np, "phandle-list-names", "third"); |
383 | selftest(rc == 2, "third expected:0 got:%i\n", rc); | 399 | selftest(rc == 2, "third expected:2 got:%i\n", rc); |
384 | rc = of_property_match_string(np, "phandle-list-names", "fourth"); | 400 | rc = of_property_match_string(np, "phandle-list-names", "fourth"); |
385 | selftest(rc == -ENODATA, "unmatched string; rc=%i\n", rc); | 401 | selftest(rc == -ENODATA, "unmatched string; rc=%i\n", rc); |
386 | rc = of_property_match_string(np, "missing-property", "blah"); | 402 | rc = of_property_match_string(np, "missing-property", "blah"); |
@@ -478,7 +494,6 @@ static void __init of_selftest_changeset(void) | |||
478 | struct device_node *n1, *n2, *n21, *nremove, *parent, *np; | 494 | struct device_node *n1, *n2, *n21, *nremove, *parent, *np; |
479 | struct of_changeset chgset; | 495 | struct of_changeset chgset; |
480 | 496 | ||
481 | of_changeset_init(&chgset); | ||
482 | n1 = __of_node_dup(NULL, "/testcase-data/changeset/n1"); | 497 | n1 = __of_node_dup(NULL, "/testcase-data/changeset/n1"); |
483 | selftest(n1, "testcase setup failure\n"); | 498 | selftest(n1, "testcase setup failure\n"); |
484 | n2 = __of_node_dup(NULL, "/testcase-data/changeset/n2"); | 499 | n2 = __of_node_dup(NULL, "/testcase-data/changeset/n2"); |
@@ -979,7 +994,7 @@ static int of_path_platform_device_exists(const char *path) | |||
979 | return pdev != NULL; | 994 | return pdev != NULL; |
980 | } | 995 | } |
981 | 996 | ||
982 | #if IS_ENABLED(CONFIG_I2C) | 997 | #if IS_BUILTIN(CONFIG_I2C) |
983 | 998 | ||
984 | /* get the i2c client device instantiated at the path */ | 999 | /* get the i2c client device instantiated at the path */ |
985 | static struct i2c_client *of_path_to_i2c_client(const char *path) | 1000 | static struct i2c_client *of_path_to_i2c_client(const char *path) |
@@ -1445,7 +1460,7 @@ static void of_selftest_overlay_11(void) | |||
1445 | return; | 1460 | return; |
1446 | } | 1461 | } |
1447 | 1462 | ||
1448 | #if IS_ENABLED(CONFIG_I2C) && IS_ENABLED(CONFIG_OF_OVERLAY) | 1463 | #if IS_BUILTIN(CONFIG_I2C) && IS_ENABLED(CONFIG_OF_OVERLAY) |
1449 | 1464 | ||
1450 | struct selftest_i2c_bus_data { | 1465 | struct selftest_i2c_bus_data { |
1451 | struct platform_device *pdev; | 1466 | struct platform_device *pdev; |
@@ -1584,7 +1599,7 @@ static struct i2c_driver selftest_i2c_dev_driver = { | |||
1584 | .id_table = selftest_i2c_dev_id, | 1599 | .id_table = selftest_i2c_dev_id, |
1585 | }; | 1600 | }; |
1586 | 1601 | ||
1587 | #if IS_ENABLED(CONFIG_I2C_MUX) | 1602 | #if IS_BUILTIN(CONFIG_I2C_MUX) |
1588 | 1603 | ||
1589 | struct selftest_i2c_mux_data { | 1604 | struct selftest_i2c_mux_data { |
1590 | int nchans; | 1605 | int nchans; |
@@ -1695,7 +1710,7 @@ static int of_selftest_overlay_i2c_init(void) | |||
1695 | "could not register selftest i2c bus driver\n")) | 1710 | "could not register selftest i2c bus driver\n")) |
1696 | return ret; | 1711 | return ret; |
1697 | 1712 | ||
1698 | #if IS_ENABLED(CONFIG_I2C_MUX) | 1713 | #if IS_BUILTIN(CONFIG_I2C_MUX) |
1699 | ret = i2c_add_driver(&selftest_i2c_mux_driver); | 1714 | ret = i2c_add_driver(&selftest_i2c_mux_driver); |
1700 | if (selftest(ret == 0, | 1715 | if (selftest(ret == 0, |
1701 | "could not register selftest i2c mux driver\n")) | 1716 | "could not register selftest i2c mux driver\n")) |
@@ -1707,7 +1722,7 @@ static int of_selftest_overlay_i2c_init(void) | |||
1707 | 1722 | ||
1708 | static void of_selftest_overlay_i2c_cleanup(void) | 1723 | static void of_selftest_overlay_i2c_cleanup(void) |
1709 | { | 1724 | { |
1710 | #if IS_ENABLED(CONFIG_I2C_MUX) | 1725 | #if IS_BUILTIN(CONFIG_I2C_MUX) |
1711 | i2c_del_driver(&selftest_i2c_mux_driver); | 1726 | i2c_del_driver(&selftest_i2c_mux_driver); |
1712 | #endif | 1727 | #endif |
1713 | platform_driver_unregister(&selftest_i2c_bus_driver); | 1728 | platform_driver_unregister(&selftest_i2c_bus_driver); |
@@ -1814,7 +1829,7 @@ static void __init of_selftest_overlay(void) | |||
1814 | of_selftest_overlay_10(); | 1829 | of_selftest_overlay_10(); |
1815 | of_selftest_overlay_11(); | 1830 | of_selftest_overlay_11(); |
1816 | 1831 | ||
1817 | #if IS_ENABLED(CONFIG_I2C) | 1832 | #if IS_BUILTIN(CONFIG_I2C) |
1818 | if (selftest(of_selftest_overlay_i2c_init() == 0, "i2c init failed\n")) | 1833 | if (selftest(of_selftest_overlay_i2c_init() == 0, "i2c init failed\n")) |
1819 | goto out; | 1834 | goto out; |
1820 | 1835 | ||