Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp185292pxk; Wed, 16 Sep 2020 01:27:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyrBYhee1XWMXnKoCfJmwJkmjhj9/wjEKN3bYc83teV4dVxfNciYM/PxrdqgnQNG94i9tEZ X-Received: by 2002:a17:906:3553:: with SMTP id s19mr23478194eja.178.1600244874926; Wed, 16 Sep 2020 01:27:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1600244874; cv=none; d=google.com; s=arc-20160816; b=qphWSqiFQt7z2K3P/AhRtn+4mFVuzG4WabJI2LQHW/5kCiMBtFTMVqQDnH0abf5+xF C9sxoTRiI4TUl2UK5m6DxiKy+7fMyBGEUNKGDQYNXX7F3jh2t7LLSz3uz3iMG5YuqIQk hcDiyKrD0t50fDstqN/5xieS5gZuu/sK4y2FtpbYbJJShdLlKpOHOYua9oRADYdJLY++ xrFCsVzjGxdz0BNE7EzMcX8vfbFDV+P1aV2dxRzBQwksMJGOXzIBhcm+Ngy9uocJAUKW KkZDiszo+rCfLiCsuj0/p/V9midJ1KHPZXsXRsasQRr032W8+Mjyk09ZHIS9u0MOxa5e PtKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=zjOPESKOk4LenpT8SRJ299aPKnmaxMcgs4gVDQzjcUE=; b=BsI14VzmSG56OzRBKmwGI9CSEP17XlNozKvwIkRNMp4EffL36f9C5/C7Z6ZmNtB4rc UujFzluFqX1TQu0rdI0AV+pGb5Okn0WH5Ejl6Ef/JPIglDIxt6xZpzCHpgfrx8FrsD4d L6oVNfY1rRWOhOtL5oygAb0NgFJltBgXMo7bYZj2oJ/icjUAkFF9YBXhMeXb/Q6qzVkD RjMWzyQ5dgZ7G04NdJlbnYi9tVirRCtaVgYiH7oJxqBzo6ncLEAefQOfrTP2+8IElXMQ tPrDGAbj/UDvWtPSuvr0pI+5LCOSi83ZTlVjitDwCQXILPaNzEU1/dwsSn86zoAzZgHE eENg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ha18si11073573ejb.543.2020.09.16.01.27.32; Wed, 16 Sep 2020 01:27:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726587AbgIPI0v (ORCPT + 99 others); Wed, 16 Sep 2020 04:26:51 -0400 Received: from relay9-d.mail.gandi.net ([217.70.183.199]:34425 "EHLO relay9-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726161AbgIPI0r (ORCPT ); Wed, 16 Sep 2020 04:26:47 -0400 X-Originating-IP: 93.34.118.233 Received: from uno.localdomain (93-34-118-233.ip49.fastwebnet.it [93.34.118.233]) (Authenticated sender: jacopo@jmondi.org) by relay9-d.mail.gandi.net (Postfix) with ESMTPSA id 38CC5FF806; Wed, 16 Sep 2020 08:26:40 +0000 (UTC) Date: Wed, 16 Sep 2020 10:30:32 +0200 From: Jacopo Mondi To: Lad Prabhakar Cc: Sakari Ailus , Laurent Pinchart , Mauro Carvalho Chehab , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Biju Das , Prabhakar Subject: Re: [PATCH v5 1/3] media: i2c: ov772x: Parse endpoint properties Message-ID: <20200916083032.yif4veaf3n44hkpf@uno.localdomain> References: <20200915174235.1229-1-prabhakar.mahadev-lad.rj@bp.renesas.com> <20200915174235.1229-2-prabhakar.mahadev-lad.rj@bp.renesas.com> <20200916074737.phc6atpsahxowfjt@uno.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20200916074737.phc6atpsahxowfjt@uno.localdomain> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Prabhakar, sorry, two more tiny nits On Wed, Sep 16, 2020 at 09:47:37AM +0200, Jacopo Mondi wrote: > Hi Prabhakar, > > On Tue, Sep 15, 2020 at 06:42:33PM +0100, Lad Prabhakar wrote: > > Parse endpoint properties using v4l2_fwnode_endpoint_alloc_parse() > > to determine bus-type and store it locally in priv data. > > > > v4l2_fwnode_endpoint_alloc_parse() with bus_type set to > > V4L2_MBUS_PARALLEL falls back to V4L2_MBUS_PARALLEL thus handling > > backward compatibility with existing DT where bus-type isn't specified. > > > I don't think this is necessary here. This patch does not need to > handle any retrocompatibility, as only PARALLEL is supported. > > The 'right' way to put it to me would be > "Parse endpoint properties using v4l2_fwnode_endpoint_alloc_parse() > to determine the bus type and store it in the driver structure. > > Set bus_type to V4L2_MBUS_PARALLEL as it's the only supported one" > > See comment in the next patch for retrocompatibility > > > > > Signed-off-by: Lad Prabhakar > > --- > > drivers/media/i2c/ov772x.c | 25 +++++++++++++++++++++++++ > > 1 file changed, 25 insertions(+) > > > > diff --git a/drivers/media/i2c/ov772x.c b/drivers/media/i2c/ov772x.c > > index 2cc6a678069a..4ab4b3c883d0 100644 > > --- a/drivers/media/i2c/ov772x.c > > +++ b/drivers/media/i2c/ov772x.c > > @@ -31,6 +31,7 @@ > > #include > > #include > > #include > > +#include > > #include > > #include > > > > @@ -434,6 +435,7 @@ struct ov772x_priv { > > #ifdef CONFIG_MEDIA_CONTROLLER > > struct media_pad pad; > > #endif > > + enum v4l2_mbus_type bus_type; > > }; > > > > /* > > @@ -1354,6 +1356,8 @@ static const struct v4l2_subdev_ops ov772x_subdev_ops = { > > > > static int ov772x_probe(struct i2c_client *client) > > { > > + struct v4l2_fwnode_endpoint bus_cfg; > > + struct fwnode_handle *ep; > > struct ov772x_priv *priv; > > int ret; > > static const struct regmap_config ov772x_regmap_config = { > > @@ -1415,6 +1419,27 @@ static int ov772x_probe(struct i2c_client *client) > > goto error_clk_put; > > } > > > > + ep = fwnode_graph_get_next_endpoint(dev_fwnode(&client->dev), > > + NULL); > > + if (!ep) { > > + dev_err(&client->dev, "endpoint node not found\n"); Nit: other error messages in the driver start with a capital letter, > > + ret = -EINVAL; > > + goto error_clk_put; > > + } > > + > > + /* For backward compatibility with the existing DT where > > + * bus-type isn't specified v4l2_fwnode_endpoint_alloc_parse() > > + * with bus_type set to V4L2_MBUS_PARALLEL falls back to > > + * V4L2_MBUS_PARALLEL > > + */ > > You can drop this comment block > Or better move it to the next patch. Two nits in the meantime: Use /* * This in place of /* This And I would write it as something like /* * For backward compatibility with older DTS where the * bus-type property was not mandatory, assume * V4L2_MBUS_PARALLEL as it was the only supported bus at the * time. v4l2_fwnode_endpoint_alloc_parse() will not fail if * 'bus-type' is not specified. */ Thanks j > > + bus_cfg.bus_type = V4L2_MBUS_PARALLEL; > > + ret = v4l2_fwnode_endpoint_alloc_parse(ep, &bus_cfg); > > + priv->bus_type = bus_cfg.bus_type; > > Set this after if (ret) > > > + v4l2_fwnode_endpoint_free(&bus_cfg); > > + fwnode_handle_put(ep); > > + if (ret) > > + goto error_clk_put; > > + > > ret = ov772x_video_probe(priv); > > if (ret < 0) > > goto error_gpio_put; > > -- > > 2.17.1 > >