All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Frank Li <Frank.Li@nxp.com>
Cc: Philipp Zabel <p.zabel@pengutronix.de>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Shawn Guo <shawnguo@kernel.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	Fabio Estevam <festevam@gmail.com>,
	Rui Miguel Silva <rmfrfs@gmail.com>,
	Martin Kepplinger-Novakovic <martink@posteo.de>,
	Purism Kernel Team <kernel@puri.sm>,
	linux-media@vger.kernel.org, imx@lists.linux.dev,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/4] media: nxp: use dev_err_probe() to simplify code
Date: Wed, 19 Nov 2025 13:33:07 +0900	[thread overview]
Message-ID: <20251119043307.GH17526@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20251117-cam_cleanup-v1-2-6cd42872db79@nxp.com>

Hi Frank,

Thank you for the patch.

On Mon, Nov 17, 2025 at 01:58:12PM -0500, Frank Li wrote:
> Use dev_err_probe() to simplify code. No functional change.
> 
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
>  drivers/media/platform/nxp/imx-mipi-csis.c    |  6 ++----
>  drivers/media/platform/nxp/imx7-media-csi.c   | 13 ++++---------
>  drivers/media/platform/nxp/imx8mq-mipi-csi2.c | 28 ++++++++++++---------------
>  3 files changed, 18 insertions(+), 29 deletions(-)
> 
> diff --git a/drivers/media/platform/nxp/imx-mipi-csis.c b/drivers/media/platform/nxp/imx-mipi-csis.c
> index 088b2945aee33731c565f049dd17721356300b84..ce93d868746f002c22e2f86b1e0aa84ec1a76061 100644
> --- a/drivers/media/platform/nxp/imx-mipi-csis.c
> +++ b/drivers/media/platform/nxp/imx-mipi-csis.c
> @@ -1547,10 +1547,8 @@ static int mipi_csis_probe(struct platform_device *pdev)
>  	/* Now that the hardware is initialized, request the interrupt. */
>  	ret = devm_request_irq(dev, irq, mipi_csis_irq_handler, 0,
>  			       dev_name(dev), csis);
> -	if (ret) {
> -		dev_err(dev, "Interrupt request failed\n");
> -		return ret;
> -	}
> +	if (ret)
> +		return dev_err_probe(dev, ret, "Interrupt request failed\n");
>  
>  	/* Initialize and register the subdev. */
>  	ret = mipi_csis_subdev_init(csis);
> diff --git a/drivers/media/platform/nxp/imx7-media-csi.c b/drivers/media/platform/nxp/imx7-media-csi.c
> index 933a5f39f9f4c9b43ca8d2a1819d0145981266e6..82109e6884a4d931a84ef02e2bde41d0d7248511 100644
> --- a/drivers/media/platform/nxp/imx7-media-csi.c
> +++ b/drivers/media/platform/nxp/imx7-media-csi.c
> @@ -2218,11 +2218,8 @@ static int imx7_csi_probe(struct platform_device *pdev)
>  
>  	/* Acquire resources and install interrupt handler. */
>  	csi->mclk = devm_clk_get(&pdev->dev, "mclk");
> -	if (IS_ERR(csi->mclk)) {
> -		ret = PTR_ERR(csi->mclk);
> -		dev_err(dev, "Failed to get mclk: %d", ret);
> -		return ret;
> -	}
> +	if (IS_ERR(csi->mclk))
> +		return dev_err_probe(dev, PTR_ERR(csi->mclk), "Failed to get mclk\n");

		return dev_err_probe(dev, PTR_ERR(csi->mclk),
				     "Failed to get mclk\n");

>  
>  	csi->irq = platform_get_irq(pdev, 0);
>  	if (csi->irq < 0)
> @@ -2236,10 +2233,8 @@ static int imx7_csi_probe(struct platform_device *pdev)
>  
>  	ret = devm_request_irq(dev, csi->irq, imx7_csi_irq_handler, 0, "csi",
>  			       (void *)csi);
> -	if (ret < 0) {
> -		dev_err(dev, "Request CSI IRQ failed.\n");
> -		return ret;
> -	}
> +	if (ret < 0)
> +		return dev_err_probe(dev, ret, "Request CSI IRQ failed.\n");
>  
>  	/* Initialize all the media device infrastructure. */
>  	ret = imx7_csi_media_init(csi);
> diff --git a/drivers/media/platform/nxp/imx8mq-mipi-csi2.c b/drivers/media/platform/nxp/imx8mq-mipi-csi2.c
> index 0851f4a9ae52d3096f454da643cfdc5017e000b1..75709161fb26a61239b94430365849e022fdc14f 100644
> --- a/drivers/media/platform/nxp/imx8mq-mipi-csi2.c
> +++ b/drivers/media/platform/nxp/imx8mq-mipi-csi2.c
> @@ -951,10 +951,9 @@ static int imx8mq_mipi_csi_parse_dt(struct csi_state *state)
>  	int ret = 0;
>  
>  	state->rst = devm_reset_control_array_get_exclusive(dev);
> -	if (IS_ERR(state->rst)) {
> -		dev_err(dev, "Failed to get reset: %pe\n", state->rst);
> -		return PTR_ERR(state->rst);
> -	}
> +	if (IS_ERR(state->rst))
> +		return dev_err_probe(dev, PTR_ERR(state->rst),
> +				     "Failed to get reset: %pe\n", state->rst);

		return dev_err_probe(dev, PTR_ERR(state->rst),
				     "Failed to get reset\n");

as dev_err_probe() prints the error already.

>  
>  	if (state->pdata->use_reg_csr) {
>  		const struct regmap_config regmap_config = {
> @@ -977,24 +976,21 @@ static int imx8mq_mipi_csi_parse_dt(struct csi_state *state)
>  
>  	ret = of_property_read_u32_array(np, "fsl,mipi-phy-gpr", out_val,
>  					 ARRAY_SIZE(out_val));
> -	if (ret) {
> -		dev_err(dev, "no fsl,mipi-phy-gpr property found: %d\n", ret);
> -		return ret;
> -	}
> +	if (ret)
> +		return dev_err_probe(dev, ret,
> +				     "no fsl,mipi-phy-gpr property found: %d\n", ret);

		return dev_err_probe(dev, ret,
				     "no fsl,mipi-phy-gpr property found\n");

or possibly

		return dev_err_probe(dev, ret, "no %s property found\n",
				     "fsl,mipi-phy-gpr");

to enable string de-duplication (assuming it's worth it).

>  
>  	ph = *out_val;
>  
>  	node = of_find_node_by_phandle(ph);
> -	if (!node) {
> -		dev_err(dev, "Error finding node by phandle\n");
> -		return -ENODEV;
> -	}
> +	if (!node)
> +		return dev_err_probe(dev, -ENODEV, "Error finding node by phandle\n");

Line wrap here too.

> +
>  	state->phy_gpr = syscon_node_to_regmap(node);
>  	of_node_put(node);
> -	if (IS_ERR(state->phy_gpr)) {
> -		dev_err(dev, "failed to get gpr regmap: %pe\n", state->phy_gpr);
> -		return PTR_ERR(state->phy_gpr);
> -	}
> +	if (IS_ERR(state->phy_gpr))
> +		return dev_err_probe(dev, PTR_ERR(state->phy_gpr),
> +				     "failed to get gpr regmap: %pe\n", state->phy_gpr);

		return dev_err_probe(dev, PTR_ERR(state->phy_gpr),
				     "failed to get gpr regmap\n");

I think you can also drop the error message upon
imx8mq_mipi_csi_parse_dt() failure in imx8mq_mipi_csi_probe().

With those changes,

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

>  
>  	state->phy_gpr_reg = out_val[1];
>  	dev_dbg(dev, "phy gpr register set to 0x%x\n", state->phy_gpr_reg);

-- 
Regards,

Laurent Pinchart

  reply	other threads:[~2025-11-19  4:33 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-17 18:58 [PATCH 0/4] media: platform: nxp: Trivial cleanup pathces Frank Li
2025-11-17 18:58 ` [PATCH 1/4] media: nxp: use devm_mutex_init() simple code Frank Li
2025-11-19  4:22   ` Laurent Pinchart
2025-11-19 16:17     ` Frank Li
2025-11-17 18:58 ` [PATCH 2/4] media: nxp: use dev_err_probe() to simplify code Frank Li
2025-11-19  4:33   ` Laurent Pinchart [this message]
2025-11-17 18:58 ` [PATCH 3/4] media: nxp: imx8-isi: use devm_pm_runtime_enable() " Frank Li
2025-11-19  4:24   ` Laurent Pinchart
2025-11-17 18:58 ` [PATCH 4/4] media: nxp: use cleanup __free(fwnode_handle) " Frank Li
2025-11-19  4:25   ` Laurent Pinchart
2025-11-19  5:02     ` Laurent Pinchart
2025-12-03 21:31       ` Frank Li

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=20251119043307.GH17526@pendragon.ideasonboard.com \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=Frank.Li@nxp.com \
    --cc=festevam@gmail.com \
    --cc=imx@lists.linux.dev \
    --cc=kernel@pengutronix.de \
    --cc=kernel@puri.sm \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=martink@posteo.de \
    --cc=mchehab@kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=rmfrfs@gmail.com \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    /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.