[PATCH] bcma: populate bus DT subnodes as platform_device-s
Hauke Mehrtens
hauke at hauke-m.de
Sun Aug 2 11:03:46 PDT 2015
On 06/28/2015 05:17 PM, Rafał Miłecki wrote:
> 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 at gmail.com>
> ---
> drivers/bcma/main.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/bcma/main.c b/drivers/bcma/main.c
> index 9635f10..5912847 100644
> --- a/drivers/bcma/main.c
> +++ b/drivers/bcma/main.c
> @@ -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) {
Here is an other problem. So many bugs in this line. ;-)
host_pdev is in a union so this is also true for PCIe devices, but then
the offset of the dev structure probably is wrong. You should check for
the hosttype. I will send a patch.
> + 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))
>
More information about the linux-arm-kernel
mailing list