media: stm32-dcmi: Use dma_request_chan() instead dma_request_slave_channel()

Message ID 20191217104135.23554-1-peter.ujfalusi@ti.com
State New
Headers show
Series
  • media: stm32-dcmi: Use dma_request_chan() instead dma_request_slave_channel()
Related show

Commit Message

Peter Ujfalusi Dec. 17, 2019, 10:41 a.m.
dma_request_slave_channel() is a wrapper on top of dma_request_chan()
eating up the error code.

By using dma_request_chan() directly the driver can support deferred
probing against DMA.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>

---
 drivers/media/platform/stm32/stm32-dcmi.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

-- 
Peter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

Comments

Hugues FRUCHET Dec. 18, 2019, 10:52 a.m. | #1
Thanks for patching Peter,

No regression observed on my side.

Acked-by: Hugues Fruchet <hugues.fruchet@st.com>


Best regards,
Hugues.

On 12/17/19 11:41 AM, Peter Ujfalusi wrote:
> dma_request_slave_channel() is a wrapper on top of dma_request_chan()

> eating up the error code.

> 

> By using dma_request_chan() directly the driver can support deferred

> probing against DMA.

> 

> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>

> ---

>   drivers/media/platform/stm32/stm32-dcmi.c | 6 +++---

>   1 file changed, 3 insertions(+), 3 deletions(-)

> 

> diff --git a/drivers/media/platform/stm32/stm32-dcmi.c b/drivers/media/platform/stm32/stm32-dcmi.c

> index 9392e3409fba..55351872b0c7 100644

> --- a/drivers/media/platform/stm32/stm32-dcmi.c

> +++ b/drivers/media/platform/stm32/stm32-dcmi.c

> @@ -1910,10 +1910,10 @@ static int dcmi_probe(struct platform_device *pdev)

>   		return PTR_ERR(mclk);

>   	}

>   

> -	chan = dma_request_slave_channel(&pdev->dev, "tx");

> -	if (!chan) {

> +	chan = dma_request_chan(&pdev->dev, "tx");

> +	if (IS_ERR(chan)) {

>   		dev_info(&pdev->dev, "Unable to request DMA channel, defer probing\n");

> -		return -EPROBE_DEFER;

> +		return PTR_ERR(chan);

>   	}

>   

>   	spin_lock_init(&dcmi->irqlock);

>

Patch

diff --git a/drivers/media/platform/stm32/stm32-dcmi.c b/drivers/media/platform/stm32/stm32-dcmi.c
index 9392e3409fba..55351872b0c7 100644
--- a/drivers/media/platform/stm32/stm32-dcmi.c
+++ b/drivers/media/platform/stm32/stm32-dcmi.c
@@ -1910,10 +1910,10 @@  static int dcmi_probe(struct platform_device *pdev)
 		return PTR_ERR(mclk);
 	}
 
-	chan = dma_request_slave_channel(&pdev->dev, "tx");
-	if (!chan) {
+	chan = dma_request_chan(&pdev->dev, "tx");
+	if (IS_ERR(chan)) {
 		dev_info(&pdev->dev, "Unable to request DMA channel, defer probing\n");
-		return -EPROBE_DEFER;
+		return PTR_ERR(chan);
 	}
 
 	spin_lock_init(&dcmi->irqlock);