[PATCH v3 7/9] staging: media: atmel: use for_each_endpoint_of_node()
Dan Carpenter
dan.carpenter at linaro.org
Wed May 29 23:40:05 PDT 2024
On Thu, May 30, 2024 at 02:06:22AM +0000, Kuninori Morimoto wrote:
> We already have for_each_endpoint_of_node(), don't use
> of_graph_get_next_endpoint() directly. Replace it.
>
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas at ideasonboard.com>
> ---
> .../staging/media/deprecated/atmel/atmel-sama5d2-isc.c | 8 ++------
> .../staging/media/deprecated/atmel/atmel-sama7g5-isc.c | 8 ++------
> 2 files changed, 4 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/staging/media/deprecated/atmel/atmel-sama5d2-isc.c b/drivers/staging/media/deprecated/atmel/atmel-sama5d2-isc.c
> index 31b2b48085c59..3b28a232418a9 100644
> --- a/drivers/staging/media/deprecated/atmel/atmel-sama5d2-isc.c
> +++ b/drivers/staging/media/deprecated/atmel/atmel-sama5d2-isc.c
> @@ -333,20 +333,16 @@ static const u32 isc_sama5d2_gamma_table[][GAMMA_ENTRIES] = {
> static int isc_parse_dt(struct device *dev, struct isc_device *isc)
> {
> struct device_node *np = dev->of_node;
> - struct device_node *epn = NULL;
> + struct device_node *epn;
> struct isc_subdev_entity *subdev_entity;
> unsigned int flags;
> int ret;
>
> INIT_LIST_HEAD(&isc->subdev_entities);
>
> - while (1) {
> + for_each_endpoint_of_node(np, epn) {
> struct v4l2_fwnode_endpoint v4l2_epn = { .bus_type = 0 };
>
> - epn = of_graph_get_next_endpoint(np, epn);
> - if (!epn)
> - return 0;
> -
> ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(epn),
> &v4l2_epn);
> if (ret) {
This introduces a Smatch warning because now "ret" is uninitialized if
the for_each_endpoint_of_node() list is empty. Is that something which
is possible?
I've been meaning to make a list of loops which always iterate at least
one time. for_each_cpu() etc.
regards,
dan carpenter
More information about the linux-arm-kernel
mailing list