OSDN Git Service

can: mcp251x: Use dmam_alloc_coherent
authorHimangi Saraogi <himangi774@gmail.com>
Sat, 2 Aug 2014 13:52:04 +0000 (19:22 +0530)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Sun, 17 Aug 2014 23:03:43 +0000 (01:03 +0200)
This patch moves the data allocated using dma_alloc_coherent to the
corresponding managed interface and does away with the calls to free the
allocated memory in the probe and remove functions.

Signed-off-by: Himangi Saraogi <himangi774@gmail.com>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/spi/mcp251x.c

index 5df239e..c66d699 100644 (file)
@@ -1107,10 +1107,10 @@ static int mcp251x_can_probe(struct spi_device *spi)
                 * Minimum coherent DMA allocation is PAGE_SIZE, so allocate
                 * that much and share it between Tx and Rx DMA buffers.
                 */
-               priv->spi_tx_buf = dma_alloc_coherent(&spi->dev,
-                                                     PAGE_SIZE,
-                                                     &priv->spi_tx_dma,
-                                                     GFP_DMA);
+               priv->spi_tx_buf = dmam_alloc_coherent(&spi->dev,
+                                                      PAGE_SIZE,
+                                                      &priv->spi_tx_dma,
+                                                      GFP_DMA);
 
                if (priv->spi_tx_buf) {
                        priv->spi_rx_buf = (priv->spi_tx_buf + (PAGE_SIZE / 2));
@@ -1156,9 +1156,6 @@ static int mcp251x_can_probe(struct spi_device *spi)
        return 0;
 
 error_probe:
-       if (mcp251x_enable_dma)
-               dma_free_coherent(&spi->dev, PAGE_SIZE,
-                                 priv->spi_tx_buf, priv->spi_tx_dma);
        mcp251x_power_enable(priv->power, 0);
 
 out_clk:
@@ -1178,11 +1175,6 @@ static int mcp251x_can_remove(struct spi_device *spi)
 
        unregister_candev(net);
 
-       if (mcp251x_enable_dma) {
-               dma_free_coherent(&spi->dev, PAGE_SIZE,
-                                 priv->spi_tx_buf, priv->spi_tx_dma);
-       }
-
        mcp251x_power_enable(priv->power, 0);
 
        if (!IS_ERR(priv->clk))