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                    s...@canb.auug.org.au

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

Reply via email to