Re: [PATCH] media: Use of_node_name_eq for node name comparisons

From: Laurent Pinchart
Date: Thu Dec 06 2018 - 04:06:22 EST


Hi Rob,

Thank you for the patch.

On Wednesday, 5 December 2018 21:50:29 EET Rob Herring wrote:
> Convert string compares of DT node names to use of_node_name_eq helper
> instead. This removes direct access to the node name pointer.
>
> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
> Cc: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx>
> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
> Cc: Kukjin Kim <kgene@xxxxxxxxxx>
> Cc: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
> Cc: Benoit Parrot <bparrot@xxxxxx>
> Cc: Hyun Kwon <hyun.kwon@xxxxxxxxxx>
> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> Cc: Michal Simek <michal.simek@xxxxxxxxxx>
> Cc: linux-media@xxxxxxxxxxxxxxx
> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> Cc: linux-samsung-soc@xxxxxxxxxxxxxxx
> Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
> ---
> drivers/media/platform/exynos4-is/media-dev.c | 12 ++++++------
> drivers/media/platform/ti-vpe/cal.c | 4 ++--
> drivers/media/platform/xilinx/xilinx-tpg.c | 2 +-
> drivers/media/v4l2-core/v4l2-fwnode.c | 6 ++----
> 4 files changed, 11 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/media/platform/exynos4-is/media-dev.c
> b/drivers/media/platform/exynos4-is/media-dev.c index
> 870501b0f351..ced14af56606 100644
> --- a/drivers/media/platform/exynos4-is/media-dev.c
> +++ b/drivers/media/platform/exynos4-is/media-dev.c
> @@ -445,7 +445,7 @@ static int fimc_md_parse_port_node(struct fimc_md *fmd,
> */
> np = of_get_parent(rem);
>
> - if (np && !of_node_cmp(np->name, "i2c-isp"))
> + if (of_node_name_eq(np, "i2c-isp"))
> pd->fimc_bus_type = FIMC_BUS_TYPE_ISP_WRITEBACK;
> else
> pd->fimc_bus_type = pd->sensor_bus_type;
> @@ -495,7 +495,7 @@ static int fimc_md_register_sensor_entities(struct
> fimc_md *fmd) for_each_available_child_of_node(parent, node) {
> struct device_node *port;
>
> - if (of_node_cmp(node->name, "csis"))
> + if (!of_node_name_eq(node, "csis"))
> continue;
> /* The csis node can have only port subnode. */
> port = of_get_next_child(node, NULL);
> @@ -720,13 +720,13 @@ static int fimc_md_register_platform_entities(struct
> fimc_md *fmd, continue;
>
> /* If driver of any entity isn't ready try all again later. */
> - if (!strcmp(node->name, CSIS_OF_NODE_NAME))
> + if (of_node_name_eq(node, CSIS_OF_NODE_NAME))
> plat_entity = IDX_CSIS;
> - else if (!strcmp(node->name, FIMC_IS_OF_NODE_NAME))
> + else if (of_node_name_eq(node, FIMC_IS_OF_NODE_NAME))

You might want to s/if\t/if / while at it.

> plat_entity = IDX_IS_ISP;
> - else if (!strcmp(node->name, FIMC_LITE_OF_NODE_NAME))
> + else if (of_node_name_eq(node, FIMC_LITE_OF_NODE_NAME))
> plat_entity = IDX_FLITE;
> - else if (!strcmp(node->name, FIMC_OF_NODE_NAME) &&
> + else if (of_node_name_eq(node, FIMC_OF_NODE_NAME) &&

And here too.

Apart from that,

Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>

> !of_property_read_bool(node, "samsung,lcd-wb"))
> plat_entity = IDX_FIMC;
>
> diff --git a/drivers/media/platform/ti-vpe/cal.c
> b/drivers/media/platform/ti-vpe/cal.c index 95a093f41905..fc3c212b96e1
> 100644
> --- a/drivers/media/platform/ti-vpe/cal.c
> +++ b/drivers/media/platform/ti-vpe/cal.c
> @@ -1615,7 +1615,7 @@ of_get_next_port(const struct device_node *parent,
> return NULL;
> }
> prev = port;
> - } while (of_node_cmp(port->name, "port") != 0);
> + } while (!of_node_name_eq(port, "port"));
> }
>
> return port;
> @@ -1635,7 +1635,7 @@ of_get_next_endpoint(const struct device_node *parent,
> if (!ep)
> return NULL;
> prev = ep;
> - } while (of_node_cmp(ep->name, "endpoint") != 0);
> + } while (!of_node_name_eq(ep, "endpoint"));
>
> return ep;
> }
> diff --git a/drivers/media/platform/xilinx/xilinx-tpg.c
> b/drivers/media/platform/xilinx/xilinx-tpg.c index
> 851d20dcd550..ce686b8d6cff 100644
> --- a/drivers/media/platform/xilinx/xilinx-tpg.c
> +++ b/drivers/media/platform/xilinx/xilinx-tpg.c
> @@ -725,7 +725,7 @@ static int xtpg_parse_of(struct xtpg_device *xtpg)
> const struct xvip_video_format *format;
> struct device_node *endpoint;
>
> - if (!port->name || of_node_cmp(port->name, "port"))
> + if (!of_node_name_eq(port, "port"))
> continue;
>
> format = xvip_of_get_format(port);
> diff --git a/drivers/media/v4l2-core/v4l2-fwnode.c
> b/drivers/media/v4l2-core/v4l2-fwnode.c index 218f0da0ce76..849326241b17
> 100644
> --- a/drivers/media/v4l2-core/v4l2-fwnode.c
> +++ b/drivers/media/v4l2-core/v4l2-fwnode.c
> @@ -564,8 +564,7 @@ int v4l2_fwnode_parse_link(struct fwnode_handle
> *__fwnode, fwnode = fwnode_get_parent(__fwnode);
> fwnode_property_read_u32(fwnode, port_prop, &link->local_port);
> fwnode = fwnode_get_next_parent(fwnode);
> - if (is_of_node(fwnode) &&
> - of_node_cmp(to_of_node(fwnode)->name, "ports") == 0)
> + if (is_of_node(fwnode) && of_node_name_eq(to_of_node(fwnode), "ports"))
> fwnode = fwnode_get_next_parent(fwnode);
> link->local_node = fwnode;
>
> @@ -578,8 +577,7 @@ int v4l2_fwnode_parse_link(struct fwnode_handle
> *__fwnode, fwnode = fwnode_get_parent(fwnode);
> fwnode_property_read_u32(fwnode, port_prop, &link->remote_port);
> fwnode = fwnode_get_next_parent(fwnode);
> - if (is_of_node(fwnode) &&
> - of_node_cmp(to_of_node(fwnode)->name, "ports") == 0)
> + if (is_of_node(fwnode) && of_node_name_eq(to_of_node(fwnode), "ports"))
> fwnode = fwnode_get_next_parent(fwnode);
> link->remote_node = fwnode;

--
Regards,

Laurent Pinchart