devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vinod Koul <vkoul@kernel.org>
To: Frank Li <Frank.Li@nxp.com>
Cc: robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org,
	dmaengine@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, peng.fan@nxp.com, joy.zou@nxp.com,
	shenwei.wang@nxp.com, imx@lists.linux.dev
Subject: Re: [PATCH v9 03/13] dmaengine: fsl-edma: clean up fsl_edma_irq_exit()
Date: Fri, 7 Jul 2023 11:11:19 +0530	[thread overview]
Message-ID: <ZKelf9T7QTPjZTHT@matsya> (raw)
In-Reply-To: <20230620201221.2580428-4-Frank.Li@nxp.com>

On 20-06-23, 16:12, Frank Li wrote:
> In the probe function, devm_request_irq is now being used to automatically
> manage IRQ. It eliminates the need for manual IRQ freeing during removal.
> 
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> Reviewed-by: Peng Fan <peng.fan@nxp.com>
> ---
>  drivers/dma/fsl-edma-main.c | 12 ------------
>  1 file changed, 12 deletions(-)
> 
> diff --git a/drivers/dma/fsl-edma-main.c b/drivers/dma/fsl-edma-main.c
> index e40769666e39..16305bb9a2ef 100644
> --- a/drivers/dma/fsl-edma-main.c
> +++ b/drivers/dma/fsl-edma-main.c
> @@ -216,17 +216,6 @@ fsl_edma2_irq_init(struct platform_device *pdev,
>  	return 0;
>  }
>  
> -static void fsl_edma_irq_exit(
> -		struct platform_device *pdev, struct fsl_edma_engine *fsl_edma)
> -{
> -	if (fsl_edma->txirq == fsl_edma->errirq) {
> -		devm_free_irq(&pdev->dev, fsl_edma->txirq, fsl_edma);
> -	} else {
> -		devm_free_irq(&pdev->dev, fsl_edma->txirq, fsl_edma);
> -		devm_free_irq(&pdev->dev, fsl_edma->errirq, fsl_edma);
> -	}
> -}
> -
>  static void fsl_disable_clocks(struct fsl_edma_engine *fsl_edma, int nr_clocks)
>  {
>  	int i;
> @@ -427,7 +416,6 @@ static int fsl_edma_remove(struct platform_device *pdev)
>  	struct device_node *np = pdev->dev.of_node;
>  	struct fsl_edma_engine *fsl_edma = platform_get_drvdata(pdev);
>  
> -	fsl_edma_irq_exit(pdev, fsl_edma);

I would not agree, this code is a failsafe to ensure that irq is quiesced
and cant fire again while we are unrolling which also triggers a tasklet

We are better of with this change

>  	fsl_edma_cleanup_vchan(&fsl_edma->dma_dev);
>  	of_dma_controller_free(np);
>  	dma_async_device_unregister(&fsl_edma->dma_dev);
> -- 
> 2.34.1

-- 
~Vinod

  reply	other threads:[~2023-07-07  5:41 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-20 20:12 [PATCH v9 00/13] dmaengine: edma: add freescale edma v3 support Frank Li
2023-06-20 20:12 ` [PATCH v9 01/13] dmaengine: fsl-edma: fix build error when arch is s390 Frank Li
2023-07-07  5:37   ` Vinod Koul
2023-06-20 20:12 ` [PATCH v9 02/13] dmaengine: fsl-edma: clean up EXPORT_SYMBOL_GPL in fsl-edma-common.c Frank Li
2023-07-07  5:39   ` Vinod Koul
2023-06-20 20:12 ` [PATCH v9 03/13] dmaengine: fsl-edma: clean up fsl_edma_irq_exit() Frank Li
2023-07-07  5:41   ` Vinod Koul [this message]
2023-06-20 20:12 ` [PATCH v9 04/13] dmaengine: fsl-edma: transition from bool fields to bitmask flags in drvdata Frank Li
2023-06-20 20:12 ` [PATCH v9 05/13] dmaengine: fsl-edma: Remove enum edma_version Frank Li
2023-06-20 20:12 ` [PATCH v9 06/13] dmaengine: fsl-edma: move common IRQ handler to common.c Frank Li
2023-06-20 20:12 ` [PATCH v9 07/13] dmaengine: fsl-edma: simply ATTR_DSIZE and ATTR_SSIZE by using ffs() Frank Li
2023-06-20 20:12 ` [PATCH v9 08/13] dmaengine: fsl-edma: refactor using devm_clk_get_enabled Frank Li
2023-06-20 20:12 ` [PATCH v9 09/13] dmaengine: fsl-edma: move clearing of register interrupt into setup_irq function Frank Li
2023-06-20 20:12 ` [PATCH v9 10/13] dmaengine: fsl-edma: refactor chan_name setup and safety Frank Li
2023-06-20 20:12 ` [PATCH v9 11/13] dmaengine: fsl-edma: move tcd into struct fsl_dma_chan Frank Li
2023-06-20 20:12 ` [PATCH v9 12/13] dmaengine: fsl-edma: integrate v3 support Frank Li
2023-07-07  5:44   ` Vinod Koul
2023-07-07 16:21     ` Frank Li
2023-07-09 10:46       ` Vinod Koul
2023-06-20 20:12 ` [PATCH v9 13/13] dt-bindings: fsl-dma: fsl-edma: add edma3 compatible string Frank Li
2023-07-07  5:45   ` Vinod Koul
2023-06-28 14:45 ` [PATCH v9 00/13] dmaengine: edma: add freescale edma v3 support Frank Li
2023-07-02 20:22   ` Krzysztof Kozlowski
2023-07-03 14:45     ` Frank Li
2023-07-03 15:00       ` Krzysztof Kozlowski

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=ZKelf9T7QTPjZTHT@matsya \
    --to=vkoul@kernel.org \
    --cc=Frank.Li@nxp.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmaengine@vger.kernel.org \
    --cc=imx@lists.linux.dev \
    --cc=joy.zou@nxp.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peng.fan@nxp.com \
    --cc=robh+dt@kernel.org \
    --cc=shenwei.wang@nxp.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).