linux-next: manual merge of the dt-rh tree with Linus' tree
From: Stephen Rothwell
Date: Tue May 13 2014 - 01:10:58 EST
Hi Rob,
Today's linux-next merge of the dt-rh tree got a conflict in
drivers/of/selftest.c between commit 82c0f5897a87 ("of: selftest: add
deferred probe interrupt test") from Linus' tree and commit
ae7c987bc3a7 ("of/selftest: add testcase for nodes with same name and
address") from the dt-rh tree.
I fixed it up (I think - see below) and can carry the fix as necessary
(no action is required).
--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx
diff --cc drivers/of/selftest.c
index fe70b86bcffb,c93cb4ae5a21..000000000000
--- a/drivers/of/selftest.c
+++ b/drivers/of/selftest.c
@@@ -430,32 -430,23 +430,49 @@@ static void __init of_selftest_match_no
static void __init of_selftest_platform_populate(void)
{
- struct device_node *np, *child;
+ int irq;
+ struct device_node *np;
+ struct platform_device *pdev;
++ struct device_node *child;
+ int rc;
+ struct of_device_id match[] = {
+ { .compatible = "test-device", },
+ {}
+ };
+ np = of_find_node_by_path("/testcase-data");
+ of_platform_populate(np, of_default_bus_match_table, NULL, NULL);
+
+ /* Test that a missing irq domain returns -EPROBE_DEFER */
+ np = of_find_node_by_path("/testcase-data/testcase-device1");
+ pdev = of_find_device_by_node(np);
+ if (!pdev)
+ selftest(0, "device 1 creation failed\n");
+ irq = platform_get_irq(pdev, 0);
+ if (irq != -EPROBE_DEFER)
+ selftest(0, "device deferred probe failed - %d\n", irq);
+
+ /* Test that a parsing failure does not return -EPROBE_DEFER */
+ np = of_find_node_by_path("/testcase-data/testcase-device2");
+ pdev = of_find_device_by_node(np);
+ if (!pdev)
+ selftest(0, "device 2 creation failed\n");
+ irq = platform_get_irq(pdev, 0);
+ if (irq >= 0 || irq == -EPROBE_DEFER)
+ selftest(0, "device parsing error failed - %d\n", irq);
+
+ selftest(1, "passed");
++
+ np = of_find_node_by_path("/testcase-data/platform-tests");
+ if (!np) {
+ pr_err("No testcase data in device tree\n");
+ return;
+ }
+
+ for_each_child_of_node(np, child) {
+ rc = of_platform_populate(child, match, NULL, NULL);
+ selftest(!rc, "Could not create device for node '%s'\n", child->name);
+ }
}
static int __init of_selftest(void)
Attachment:
signature.asc
Description: PGP signature