bcma: populate bus DT subnodes as platform_device-s
authorRafał Miłecki <zajec5@gmail.com>
Sun, 28 Jun 2015 15:17:13 +0000 (17:17 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 21 Jul 2015 14:06:06 +0000 (17:06 +0300)
Our bus should allow defining children nodes as we may want to specify
devices attached to the bus. This is required e.g. to specify NAND or
ChipCommon cores and use bus's address and IRQ mappings.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/bcma/main.c

index 9635f1033ce5c46e7aba2863fa04a8bc86421aa9..59128478a90fd3200c131be97225b8d97eb8763d 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/slab.h>
 #include <linux/of_address.h>
 #include <linux/of_irq.h>
+#include <linux/of_platform.h>
 
 MODULE_DESCRIPTION("Broadcom's specific AMBA driver");
 MODULE_LICENSE("GPL");
@@ -409,6 +410,13 @@ int bcma_bus_register(struct bcma_bus *bus)
                bcma_core_pci_early_init(&bus->drv_pci[0]);
        }
 
+       if (bus->host_pdev) {
+               struct device *dev = &bus->host_pdev->dev;
+
+               of_platform_populate(dev->of_node, of_default_bus_match_table,
+                                    NULL, dev);
+       }
+
        /* Cores providing flash access go before SPROM init */
        list_for_each_entry(core, &bus->cores, list) {
                if (bcma_is_core_needed_early(core->id.id))