Re: [PATCH] ata: pata_pxa: convert not to use dma_request_slave_channel()

From: Niklas Cassel
Date: Mon Nov 13 2023 - 03:05:50 EST


Hello Christophe,

On Sun, Nov 12, 2023 at 04:07:59PM +0100, Christophe JAILLET wrote:
> dma_request_slave_channel() is deprecated. dma_request_chan() should
> be used directly instead.
>
> Switch to the preferred function and update the error handling accordingly.
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
> ---
> drivers/ata/pata_pxa.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/ata/pata_pxa.c b/drivers/ata/pata_pxa.c
> index 5275c6464f57..0c9c9cf63d36 100644
> --- a/drivers/ata/pata_pxa.c
> +++ b/drivers/ata/pata_pxa.c
> @@ -274,9 +274,8 @@ static int pxa_ata_probe(struct platform_device *pdev)
> /*
> * Request the DMA channel
> */
> - data->dma_chan =
> - dma_request_slave_channel(&pdev->dev, "data");
> - if (!data->dma_chan)
> + data->dma_chan = dma_request_chan(&pdev->dev, "data");

While the previous API could only return NULL on failure, the new API can
return an actual error.

I think we should return the actual error instead of -EBUSY.

i.e.:

if (IS_ERR(data->dma_chan))
return PTR_ERR(data->dma_chan);


> + if (IS_ERR(data->dma_chan))
> return -EBUSY;
> ret = dmaengine_slave_config(data->dma_chan, &config);
> if (ret < 0) {
> --
> 2.34.1
>


Kind regards,
Niklas