Message ID | 1533890734-10109-3-git-send-email-rajan.vaja@xilinx.com |
---|---|
State | Accepted |
Delegated to: | Simon Glass |
Headers | show |
Series | dm: core: Scan "/firmware" node by default | expand |
On 10 August 2018 at 02:45, Rajan Vaja <rajan.vaja@xilinx.com> wrote: > All Linux firmware drivers are put under "/firmware" node > and it has support to populate "/firmware" node by default. > > u-boot and Linux can share same DTB. In this case, driver > probe for devices under "/firmware" will not be invoked > as "/firmware" does not have its own "compatible" property. > > This patch scans "/firmware" node by default like "/clocks". > > Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> > --- > drivers/core/root.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) Reviewed-by: Simon Glass <sjg@chromium.org> We should add a firmware device for sandbox.
On 17.8.2018 14:49, Simon Glass wrote: > On 10 August 2018 at 02:45, Rajan Vaja <rajan.vaja@xilinx.com> wrote: >> All Linux firmware drivers are put under "/firmware" node >> and it has support to populate "/firmware" node by default. >> >> u-boot and Linux can share same DTB. In this case, driver >> probe for devices under "/firmware" will not be invoked >> as "/firmware" does not have its own "compatible" property. >> >> This patch scans "/firmware" node by default like "/clocks". >> >> Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> >> --- >> drivers/core/root.c | 8 +++++++- >> 1 file changed, 7 insertions(+), 1 deletion(-) > > Reviewed-by: Simon Glass <sjg@chromium.org> > > We should add a firmware device for sandbox. > what to add there? M
Hi Michael, On 17 August 2018 at 07:22, Michal Simek <michal.simek@xilinx.com> wrote: > On 17.8.2018 14:49, Simon Glass wrote: >> On 10 August 2018 at 02:45, Rajan Vaja <rajan.vaja@xilinx.com> wrote: >>> All Linux firmware drivers are put under "/firmware" node >>> and it has support to populate "/firmware" node by default. >>> >>> u-boot and Linux can share same DTB. In this case, driver >>> probe for devices under "/firmware" will not be invoked >>> as "/firmware" does not have its own "compatible" property. >>> >>> This patch scans "/firmware" node by default like "/clocks". >>> >>> Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> >>> --- >>> drivers/core/root.c | 8 +++++++- >>> 1 file changed, 7 insertions(+), 1 deletion(-) >> >> Reviewed-by: Simon Glass <sjg@chromium.org> >> >> We should add a firmware device for sandbox. >> > > what to add there? It can be any device, but I suggest something simple like a demo-shape? Then you can check that it is accessible in a test in test/dm/core.c, perhaps. Regards, Simon
On 17.8.2018 20:03, Simon Glass wrote: > Hi Michael, > > On 17 August 2018 at 07:22, Michal Simek <michal.simek@xilinx.com> wrote: >> On 17.8.2018 14:49, Simon Glass wrote: >>> On 10 August 2018 at 02:45, Rajan Vaja <rajan.vaja@xilinx.com> wrote: >>>> All Linux firmware drivers are put under "/firmware" node >>>> and it has support to populate "/firmware" node by default. >>>> >>>> u-boot and Linux can share same DTB. In this case, driver >>>> probe for devices under "/firmware" will not be invoked >>>> as "/firmware" does not have its own "compatible" property. >>>> >>>> This patch scans "/firmware" node by default like "/clocks". >>>> >>>> Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> >>>> --- >>>> drivers/core/root.c | 8 +++++++- >>>> 1 file changed, 7 insertions(+), 1 deletion(-) >>> >>> Reviewed-by: Simon Glass <sjg@chromium.org> >>> >>> We should add a firmware device for sandbox. >>> >> >> what to add there? > > It can be any device, but I suggest something simple like a > demo-shape? Then you can check that it is accessible in a test in > test/dm/core.c, perhaps. Rajan: please take a look at it. Thanks, Michal
diff --git a/drivers/core/root.c b/drivers/core/root.c index 1ab4c38..47d10b8 100644 --- a/drivers/core/root.c +++ b/drivers/core/root.c @@ -357,8 +357,14 @@ int dm_extended_scan_fdt(const void *blob, bool pre_reloc_only) } ret = dm_scan_fdt_ofnode_path("/clocks", pre_reloc_only); - if (ret) + if (ret) { debug("scan for /clocks failed: %d\n", ret); + return ret; + } + + ret = dm_scan_fdt_ofnode_path("/firmware", pre_reloc_only); + if (ret) + debug("scan for /firmware failed: %d\n", ret); return ret; }
All Linux firmware drivers are put under "/firmware" node and it has support to populate "/firmware" node by default. u-boot and Linux can share same DTB. In this case, driver probe for devices under "/firmware" will not be invoked as "/firmware" does not have its own "compatible" property. This patch scans "/firmware" node by default like "/clocks". Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> --- drivers/core/root.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)