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

From: Christophe JAILLET
Date: Mon Nov 13 2023 - 14:16:12 EST


Le 13/11/2023 à 11:17, Sergey Shtylyov a écrit :
On 11/13/23 11:05 AM, Niklas Cassel 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);

Agreed. Christophe, please fix.

Will do.

Thx for both of you for the review.

CJ


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

Kind regards,
Niklas

MBR, Sergey