[PATCH v3 1/3] devinfo: do not dump the device node for the root node
Lucas Stach
l.stach at pengutronix.de
Thu Jul 16 05:40:46 EDT 2020
Am Donnerstag, den 16.07.2020, 08:46 +0200 schrieb Oleksij Rempel:
> Calling the devinfo against a device which is linked to some devicetree
> node weill result a devictree dump of this node. For example:
>
> barebox at Protonic PRTI6Q board:/ devinfo sound-spdif.of
> Bus: platform
> Device node: /sound-spdif
> sound-spdif {
> compatible = "fsl,imx-audio-spdif";
> model = "imx-spdif";
> spdif-controller = <0x7a>;
> spdif-in;
> spdif-out;
> };
>
> Calling same command on a device wich is linked to the root node of
> devicetree, for example "machine.of", will trigger a dump fo complete
> devicetree.
Taking a step back from the immediate issue with the root node: is it
even a good idea to dump the whole subtree of nodes in the devinfo?
Most likely someone using devinfo is only interested in the of_node of
the device and maybe some subnodes that don't have a device on their
own.
So wouldn't it make more sense to only dump the node of the device in
question and subnodes without a compatible? This way we could remove
the special case for the root node and still get some useful
information in devinfo, like the board compatible property.
Regards,
Lucas
> Since the same functionality is provided by the "of_dump"
> command, it is better to limit devinfo on the root device. After this
> patch we would get following output:
>
> barebox at Protonic PRTI6Q board:/ devinfo machine.of
> Driver: board-protonic-imx6
> Bus: platform
> Parameters:
> boardid: 0 (type: uint32)
> boardrev: 1 (type: uint32)
>
> In this example, "boardid" and "boardrev" are variabled provided by this
> this specific board driver.
>
> Signed-off-by: Oleksij Rempel <o.rempel at pengutronix.de>
> ---
> commands/devinfo.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/commands/devinfo.c b/commands/devinfo.c
> index 81956b1cc0..018a7c4167 100644
> --- a/commands/devinfo.c
> +++ b/commands/devinfo.c
> @@ -99,7 +99,7 @@ static int do_devinfo(int argc, char *argv[])
> printf("\n");
> }
> #ifdef CONFIG_OFDEVICE
> - if (dev->device_node) {
> + if (dev->device_node && dev->device_node != of_get_root_node()) {
> printf("Device node: %s\n", dev->device_node->full_name);
> of_print_nodes(dev->device_node, 0);
> }
More information about the barebox
mailing list