diff options
author | Rob Herring <robh@kernel.org> | 2015-02-04 19:43:01 +0300 |
---|---|---|
committer | Rob Herring <robh@kernel.org> | 2015-02-04 19:43:01 +0300 |
commit | 962a70d05edac2e2eb53cd077715930083964b9e (patch) | |
tree | f0b3a7bd574b2edfa76ce960e7f8630aea77e257 /drivers/of/unittest.c | |
parent | 10638a4ed2b8618f20fabf9ed19df60a68446e90 (diff) | |
parent | 26bc420b59a38e4e6685a73345a0def461136dce (diff) | |
download | linux-962a70d05edac2e2eb53cd077715930083964b9e.tar.xz |
Merge tag 'v3.19-rc6' into HEAD
Linux 3.19-rc6
Diffstat (limited to 'drivers/of/unittest.c')
-rw-r--r-- | drivers/of/unittest.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c index 139363af5c88..12cdbc1e3042 100644 --- a/drivers/of/unittest.c +++ b/drivers/of/unittest.c @@ -935,6 +935,9 @@ static int selftest_probe(struct platform_device *pdev) } dev_dbg(dev, "%s for node @%s\n", __func__, np->full_name); + + of_platform_populate(np, NULL, NULL, &pdev->dev); + return 0; } @@ -1342,6 +1345,39 @@ static void of_selftest_overlay_8(void) selftest(1, "overlay test %d passed\n", 8); } +/* test insertion of a bus with parent devices */ +static void of_selftest_overlay_10(void) +{ + int ret; + char *child_path; + + /* device should disable */ + ret = of_selftest_apply_overlay_check(10, 10, 0, 1); + if (selftest(ret == 0, "overlay test %d failed; overlay application\n", 10)) + return; + + child_path = kasprintf(GFP_KERNEL, "%s/test-selftest101", + selftest_path(10)); + if (selftest(child_path, "overlay test %d failed; kasprintf\n", 10)) + return; + + ret = of_path_platform_device_exists(child_path); + kfree(child_path); + if (selftest(ret, "overlay test %d failed; no child device\n", 10)) + return; +} + +/* test insertion of a bus with parent devices (and revert) */ +static void of_selftest_overlay_11(void) +{ + int ret; + + /* device should disable */ + ret = of_selftest_apply_revert_overlay_check(11, 11, 0, 1); + if (selftest(ret == 0, "overlay test %d failed; overlay application\n", 11)) + return; +} + static void __init of_selftest_overlay(void) { struct device_node *bus_np = NULL; @@ -1390,6 +1426,9 @@ static void __init of_selftest_overlay(void) of_selftest_overlay_6(); of_selftest_overlay_8(); + of_selftest_overlay_10(); + of_selftest_overlay_11(); + out: of_node_put(bus_np); } |