sspi->bitbang.master->dev.of_node = pdev->dev.of_node;
 
        /* request DMA channels */
-       sspi->rx_chan = dma_request_slave_channel(&pdev->dev, "rx");
-       if (!sspi->rx_chan) {
+       sspi->rx_chan = dma_request_chan(&pdev->dev, "rx");
+       if (IS_ERR(sspi->rx_chan)) {
                dev_err(&pdev->dev, "can not allocate rx dma channel\n");
-               ret = -ENODEV;
+               ret = PTR_ERR(sspi->rx_chan);
                goto free_master;
        }
-       sspi->tx_chan = dma_request_slave_channel(&pdev->dev, "tx");
-       if (!sspi->tx_chan) {
+       sspi->tx_chan = dma_request_chan(&pdev->dev, "tx");
+       if (IS_ERR(sspi->tx_chan)) {
                dev_err(&pdev->dev, "can not allocate tx dma channel\n");
-               ret = -ENODEV;
+               ret = PTR_ERR(sspi->tx_chan);
                goto free_rx_dma;
        }