Re: [PATCH 3/8 v2] ARM OMAP2+ GPMC: add bus children

Roger Quadros
2015-02-25T12:03:17Z

Robert,

On 24/02/15 22:05, Robert ABEL wrote:
> This patch adds support for spawning busses as children of the GPMC.
>
> Signed-off-by: Robert ABEL <rabel@cit-ec.uni-bielefeld.de>
> ---
> drivers/memory/omap-gpmc.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/memory/omap-gpmc.c b/drivers/memory/omap-gpmc.c
> index 5cabac8..78b78a64 100644
> --- a/drivers/memory/omap-gpmc.c
> +++ b/drivers/memory/omap-gpmc.c
> @@ -27,6 +27,7 @@
> #include <linux/of_address.h>
> #include <linux/of_mtd.h>
> #include <linux/of_device.h>
> +#include <linux/of_platform.h>
> #include <linux/omap-gpmc.h>
> #include <linux/mtd/nand.h>
> #include <linux/pm_runtime.h>
> @@ -1800,7 +1801,7 @@ static int gpmc_probe_generic_child(struct platform_device *pdev,
> gpmc_cs_enable_mem(cs);
>
> no_timings:
> - if (of_platform_device_create(child, NULL, &pdev->dev))
> + if (!of_platform_populate(child, of_default_bus_match_table, NULL, &pdev->dev))
> return 0;

This creates platform devices for the children of child, but what about platform
device for the child itself?

e.g. This fails to create the NOR device and instead starts creating children for
NOR partitions instead.

What bus device are you using. Shouldn't the bus driver for that bus be responsible
for spawning children of its bus?

>
> dev_err(&pdev->dev, "failed to create gpmc child %s\n", child->name);
>

cheers,
-roger