Re: [PATCH v2 1/2] media: i2c: max96717: coding style fixes

From: Tommaso Merciai
Date: Tue Jul 09 2024 - 05:20:46 EST


Hi Julien,
Sorry for delay on reviewing/testing this.

On Mon, Jul 01, 2024 at 11:31:42AM +0200, Julien Massot wrote:
> Coding style fixes suggested by Sakari during the
> driver review.
>
> Signed-off-by: Julien Massot <julien.massot@xxxxxxxxxxxxx>
> ---
> drivers/media/i2c/max96717.c | 31 ++++++++++++-------------------
> 1 file changed, 12 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/media/i2c/max96717.c b/drivers/media/i2c/max96717.c
> index 859a439b64d9..4e85b8eb1e77 100644
> --- a/drivers/media/i2c/max96717.c
> +++ b/drivers/media/i2c/max96717.c
> @@ -25,6 +25,7 @@
> #define MAX96717_PORTS 2
> #define MAX96717_PAD_SINK 0
> #define MAX96717_PAD_SOURCE 1
> +#define MAX96717_CSI_NLANES 4
>
> #define MAX96717_DEFAULT_CLKOUT_RATE 24000000UL
>
> @@ -495,7 +496,6 @@ static int max96717_enable_streams(struct v4l2_subdev *sd,
> u64 streams_mask)
> {
> struct max96717_priv *priv = sd_to_max96717(sd);
> - struct device *dev = &priv->client->dev;
> u64 sink_streams;
> int ret;
>
> @@ -516,11 +516,8 @@ static int max96717_enable_streams(struct v4l2_subdev *sd,
> ret = v4l2_subdev_enable_streams(priv->source_sd,
> priv->source_sd_pad,
> sink_streams);
> - if (ret) {
> - dev_err(dev, "Fail to start streams:%llu on remote subdev\n",
> - sink_streams);
> + if (ret)
> goto stop_csi;
> - }
> }
>
> priv->enabled_source_streams |= streams_mask;
> @@ -530,6 +527,7 @@ static int max96717_enable_streams(struct v4l2_subdev *sd,
> stop_csi:
> if (!priv->enabled_source_streams)
> max96717_start_csi(priv, false);
> +
> return ret;
> }
>
> @@ -769,11 +767,8 @@ max96717_clk_recalc_rate(struct clk_hw *hw, unsigned long parent_rate)
> static unsigned int max96717_clk_find_best_index(struct max96717_priv *priv,
> unsigned long rate)
> {
> - unsigned int i, idx;
> - unsigned long diff_new, diff_old;
> -
> - diff_old = U32_MAX;
> - idx = 0;
> + unsigned int i, idx = 0;
> + unsigned long diff_new, diff_old = U32_MAX;
>
> for (i = 0; i < ARRAY_SIZE(max96717_predef_freqs); i++) {
> diff_new = abs(rate - max96717_predef_freqs[i].freq);
> @@ -860,8 +855,7 @@ static int max96717_register_clkout(struct max96717_priv *priv)
> struct clk_init_data init = { .ops = &max96717_clk_ops };
> int ret;
>
> - init.name = kasprintf(GFP_KERNEL, "max96717.%s.clk_out",
> - dev_name(dev));
> + init.name = kasprintf(GFP_KERNEL, "max96717.%s.clk_out", dev_name(dev));
> if (!init.name)
> return -ENOMEM;
>
> @@ -944,8 +938,9 @@ static int max96717_init_csi_lanes(struct max96717_priv *priv)
> * Unused lanes need to be mapped as well to not have
> * the same lanes mapped twice.
> */
> - for (; lane < 4; lane++) {
> - unsigned int idx = find_first_zero_bit(&lanes_used, 4);
> + for (; lane < MAX96717_CSI_NLANES; lane++) {
> + unsigned int idx = find_first_zero_bit(&lanes_used,
> + MAX96717_CSI_NLANES);
>
> val |= idx << (lane * 2);
> lanes_used |= BIT(idx);
> @@ -999,9 +994,7 @@ static int max96717_hw_init(struct max96717_priv *priv)
> static int max96717_parse_dt(struct max96717_priv *priv)
> {
> struct device *dev = &priv->client->dev;
> - struct v4l2_fwnode_endpoint vep = {
> - .bus_type = V4L2_MBUS_CSI2_DPHY
> - };
> + struct v4l2_fwnode_endpoint vep = { .bus_type = V4L2_MBUS_CSI2_DPHY };
> struct fwnode_handle *ep_fwnode;
> unsigned char num_data_lanes;
> int ret;
> @@ -1019,11 +1012,11 @@ static int max96717_parse_dt(struct max96717_priv *priv)
> return dev_err_probe(dev, ret, "Failed to parse sink endpoint");
>
> num_data_lanes = vep.bus.mipi_csi2.num_data_lanes;
> - if (num_data_lanes < 1 || num_data_lanes > 4)
> + if (num_data_lanes < 1 || num_data_lanes > MAX96717_CSI_NLANES)
> return dev_err_probe(dev, -EINVAL,
> "Invalid data lanes must be 1 to 4\n");
>
> - memcpy(&priv->mipi_csi2, &vep.bus.mipi_csi2, sizeof(priv->mipi_csi2));
> + priv->mipi_csi2 = vep.bus.mipi_csi2;
>
> return 0;
> }
>
> --
> 2.45.2
>

Patch looks good to me. I tested this on my gmsl2 alvium and all is working fine.

Reviewed-by: Tommaso Merciai <tomm.merciai@xxxxxxxxx>
Tested-by: Tommaso Merciai <tomm.merciai@xxxxxxxxx>

Thanks & Regards,
Tommaso