Sfoglia il codice sorgente

bcma: populate bus DT subnodes as platform_device-s

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>
Rafał Miłecki 10 anni fa
parent
commit
cae761b5a6
1 ha cambiato i file con 8 aggiunte e 0 eliminazioni
  1. 8 0
      drivers/bcma/main.c

+ 8 - 0
drivers/bcma/main.c

@@ -12,6 +12,7 @@
 #include <linux/slab.h>
 #include <linux/slab.h>
 #include <linux/of_address.h>
 #include <linux/of_address.h>
 #include <linux/of_irq.h>
 #include <linux/of_irq.h>
+#include <linux/of_platform.h>
 
 
 MODULE_DESCRIPTION("Broadcom's specific AMBA driver");
 MODULE_DESCRIPTION("Broadcom's specific AMBA driver");
 MODULE_LICENSE("GPL");
 MODULE_LICENSE("GPL");
@@ -409,6 +410,13 @@ int bcma_bus_register(struct bcma_bus *bus)
 		bcma_core_pci_early_init(&bus->drv_pci[0]);
 		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 */
 	/* Cores providing flash access go before SPROM init */
 	list_for_each_entry(core, &bus->cores, list) {
 	list_for_each_entry(core, &bus->cores, list) {
 		if (bcma_is_core_needed_early(core->id.id))
 		if (bcma_is_core_needed_early(core->id.id))