Common pattern of handling deferred probe can be simplified with
dev_err_probe().  Less code and also it prints the error value.

Signed-off-by: Krzysztof Kozlowski <k...@kernel.org>
---
 drivers/crypto/sa2ul.c | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/drivers/crypto/sa2ul.c b/drivers/crypto/sa2ul.c
index 4a950437bf44..5a11c2fb7a3a 100644
--- a/drivers/crypto/sa2ul.c
+++ b/drivers/crypto/sa2ul.c
@@ -2243,25 +2243,21 @@ static int sa_dma_init(struct sa_crypto_data *dd)
                return ret;
 
        dd->dma_rx1 = dma_request_chan(dd->dev, "rx1");
-       if (IS_ERR(dd->dma_rx1)) {
-               if (PTR_ERR(dd->dma_rx1) != -EPROBE_DEFER)
-                       dev_err(dd->dev, "Unable to request rx1 DMA channel\n");
-               return PTR_ERR(dd->dma_rx1);
-       }
+       if (IS_ERR(dd->dma_rx1))
+               return dev_err_probe(dd->dev, PTR_ERR(dd->dma_rx1),
+                                    "Unable to request rx1 DMA channel\n");
 
        dd->dma_rx2 = dma_request_chan(dd->dev, "rx2");
        if (IS_ERR(dd->dma_rx2)) {
                dma_release_channel(dd->dma_rx1);
-               if (PTR_ERR(dd->dma_rx2) != -EPROBE_DEFER)
-                       dev_err(dd->dev, "Unable to request rx2 DMA channel\n");
-               return PTR_ERR(dd->dma_rx2);
+               return dev_err_probe(dd->dev, PTR_ERR(dd->dma_rx2),
+                                    "Unable to request rx2 DMA channel\n");
        }
 
        dd->dma_tx = dma_request_chan(dd->dev, "tx");
        if (IS_ERR(dd->dma_tx)) {
-               if (PTR_ERR(dd->dma_tx) != -EPROBE_DEFER)
-                       dev_err(dd->dev, "Unable to request tx DMA channel\n");
-               ret = PTR_ERR(dd->dma_tx);
+               ret = dev_err_probe(dd->dev, PTR_ERR(dd->dma_tx),
+                                   "Unable to request tx DMA channel\n");
                goto err_dma_tx;
        }
 
-- 
2.17.1

Reply via email to