From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: linux-media@vger.kernel.org, Sakari Ailus <sakari.ailus@iki.fi>,
Manivannan Sadhasivam <mani@kernel.org>
Subject: Re: [PATCH v1 15/15] media: i2c: imx290: Simplify imx290_set_data_lanes()
Date: Wed, 23 Nov 2022 12:25:21 +0200 [thread overview]
Message-ID: <Y331EbmsjgVyRXiE@pendragon.ideasonboard.com> (raw)
In-Reply-To: <2139506.Icojqenx9y@steina-w>
Hi Alexander,
On Wed, Nov 23, 2022 at 10:04:58AM +0100, Alexander Stein wrote:
> Am Dienstag, 22. November 2022, 23:32:50 CET schrieb Laurent Pinchart:
> > There's no need to check for an incorrect number of data lanes in
> > imx290_set_data_lanes() as the value is validated at probe() time. Drop
> > the check.
> >
> > The PHY_LANE_NUM and CSI_LANE_MODE registers are programmed with a value
> > equal to the number of lanes minus one. Compute it instead of handling
> > it in the switch/case.
> >
> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > ---
> > drivers/media/i2c/imx290.c | 17 +++++------------
> > 1 file changed, 5 insertions(+), 12 deletions(-)
> >
> > diff --git a/drivers/media/i2c/imx290.c b/drivers/media/i2c/imx290.c
> > index 4dfa090f918d..369db35a7afd 100644
> > --- a/drivers/media/i2c/imx290.c
> > +++ b/drivers/media/i2c/imx290.c
> > @@ -512,28 +512,21 @@ static int imx290_set_register_array(struct imx290
> > *imx290,
> >
> > static int imx290_set_data_lanes(struct imx290 *imx290)
> > {
> > - int ret = 0, laneval, frsel;
> > + int ret = 0;
>
> You can remove ret and make function returning void as well as there
> (currently) is no error handling at all. The current single caller also
> ignores the return value.
There's error handling in this function, in the imx290_write() calls.
The ret variable should stay at least for that. As for making the
function void, I would rather fix the caller. I'll add a patch for that
in v2.
> > + u32 frsel;
> >
> > switch (imx290->nlanes) {
> > case 2:
> > - laneval = 0x01;
> > + default:
> > frsel = 0x02;
> > break;
> > case 4:
> > - laneval = 0x03;
> > frsel = 0x01;
> > break;
> > - default:
> > - /*
> > - * We should never hit this since the data lane count is
> > - * validated in probe itself
> > - */
> > - dev_err(imx290->dev, "Lane configuration not supported\n");
> > - return -EINVAL;
> > }
> >
> > - imx290_write(imx290, IMX290_PHY_LANE_NUM, laneval, &ret);
> > - imx290_write(imx290, IMX290_CSI_LANE_MODE, laneval, &ret);
> > + imx290_write(imx290, IMX290_PHY_LANE_NUM, imx290->nlanes - 1, &ret);
> > + imx290_write(imx290, IMX290_CSI_LANE_MODE, imx290->nlanes - 1, &ret);
> > imx290_write(imx290, IMX290_FR_FDG_SEL, frsel, &ret);
> >
> > return ret;
--
Regards,
Laurent Pinchart
prev parent reply other threads:[~2022-11-23 10:43 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-22 22:32 [PATCH v1 00/15] media: i2c: imx290: Miscellaneous improvements Laurent Pinchart
2022-11-22 22:32 ` [PATCH v1 01/15] media: i2c: imx290: Group functions in sections Laurent Pinchart
2022-11-23 7:46 ` Alexander Stein
2022-11-22 22:32 ` [PATCH v1 02/15] media: i2c: imx290: Factor out subdev init and cleanup to functions Laurent Pinchart
2022-11-23 7:44 ` Alexander Stein
2022-11-23 10:04 ` Laurent Pinchart
2022-11-24 18:31 ` Dave Stevenson
2022-11-24 19:25 ` Laurent Pinchart
2022-11-22 22:32 ` [PATCH v1 03/15] media: i2c: imx290: Factor out control update code to a function Laurent Pinchart
2022-11-23 7:51 ` Alexander Stein
2022-11-23 10:08 ` Laurent Pinchart
2022-11-22 22:32 ` [PATCH v1 04/15] media: i2c: imx290: Access link_freq_index directly Laurent Pinchart
2022-11-23 7:53 ` Alexander Stein
2022-11-22 22:32 ` [PATCH v1 05/15] media: i2c: imx290: Pass format and mode to imx290_calc_pixel_rate() Laurent Pinchart
2022-11-23 9:06 ` Alexander Stein
2022-11-22 22:32 ` [PATCH v1 06/15] media: i2c: imx290: Compute pixel rate and blanking in one place Laurent Pinchart
2022-11-23 7:59 ` Alexander Stein
2022-11-23 9:58 ` Dave Stevenson
2022-11-22 22:32 ` [PATCH v1 07/15] media: i2c: imx290: Factor out black level setting to a function Laurent Pinchart
2022-11-23 8:03 ` Alexander Stein
2022-11-23 10:08 ` Dave Stevenson
2022-11-23 11:00 ` Laurent Pinchart
2022-11-24 15:10 ` Dave Stevenson
2022-11-24 16:57 ` Laurent Pinchart
2022-11-24 17:16 ` David Plowman
2022-11-24 18:02 ` Laurent Pinchart
2022-11-22 22:32 ` [PATCH v1 08/15] media: i2c: imx290: Factor out DT parsing to separate function Laurent Pinchart
2022-11-23 8:14 ` Alexander Stein
2022-11-23 10:16 ` Laurent Pinchart
2022-11-22 22:32 ` [PATCH v1 09/15] media: i2c: imx290: Use dev_err_probe() Laurent Pinchart
2022-11-23 8:16 ` Alexander Stein
2022-11-22 22:32 ` [PATCH v1 10/15] media: i2c: imx290: Factor out clock initialization to separate function Laurent Pinchart
2022-11-23 8:18 ` Alexander Stein
2022-11-22 22:32 ` [PATCH v1 11/15] media: i2c: imx290: Use V4L2 subdev active state Laurent Pinchart
2022-11-23 8:42 ` Alexander Stein
2022-11-23 10:49 ` Laurent Pinchart
2022-11-28 15:33 ` Alexander Stein
2022-11-28 18:11 ` Laurent Pinchart
2022-11-22 22:32 ` [PATCH v1 12/15] media: i2c: imx290: Rename, extend and expand usage of imx290_pixfmt Laurent Pinchart
2022-11-23 8:53 ` Alexander Stein
2022-11-22 22:32 ` [PATCH v1 13/15] media: i2c: imx290: Use runtime PM autosuspend Laurent Pinchart
2022-11-22 22:32 ` [PATCH v1 14/15] media: i2c: imx290: Configure data lanes at start time Laurent Pinchart
2022-11-23 9:01 ` Alexander Stein
2022-11-23 10:16 ` Dave Stevenson
2022-11-23 14:28 ` Laurent Pinchart
2022-11-24 18:02 ` Dave Stevenson
2022-11-24 19:19 ` Laurent Pinchart
2022-11-22 22:32 ` [PATCH v1 15/15] media: i2c: imx290: Simplify imx290_set_data_lanes() Laurent Pinchart
2022-11-23 9:04 ` Alexander Stein
2022-11-23 10:25 ` Laurent Pinchart [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y331EbmsjgVyRXiE@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=alexander.stein@ew.tq-group.com \
--cc=linux-media@vger.kernel.org \
--cc=mani@kernel.org \
--cc=sakari.ailus@iki.fi \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.