serial: ifx6x60: dma_alloc_coherent must use parent dev
authorRuss Gorby <russ.gorby@intel.com>
Mon, 7 Feb 2011 20:02:28 +0000 (12:02 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 17 Feb 2011 19:16:14 +0000 (11:16 -0800)
This driver is a SPI protocol driver and has no DMA ops
associated with the device so the call will fail. Furthermore,
the DMA allocation made here will be used by the SPI
controller driver (parent dev) so it makes sense to
pass that device instead.

Signed-off-by: Russ Gorby <russ.gorby@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/tty/serial/ifx6x60.c

index 972c04d8c1a3c902ea643c525937292cc8b89ac8..bb2ff206d0ab2bf3e573ac965c77364d5879124a 100644 (file)
@@ -998,7 +998,7 @@ static int ifx_spi_spi_probe(struct spi_device *spi)
        ifx_dev->spi_slave_cts = 0;
 
        /*initialize transfer and dma buffers */
-       ifx_dev->tx_buffer = dma_alloc_coherent(&ifx_dev->spi_dev->dev,
+       ifx_dev->tx_buffer = dma_alloc_coherent(ifx_dev->spi_dev->dev.parent,
                                IFX_SPI_TRANSFER_SIZE,
                                &ifx_dev->tx_bus,
                                GFP_KERNEL);
@@ -1007,7 +1007,7 @@ static int ifx_spi_spi_probe(struct spi_device *spi)
                ret = -ENOMEM;
                goto error_ret;
        }
-       ifx_dev->rx_buffer = dma_alloc_coherent(&ifx_dev->spi_dev->dev,
+       ifx_dev->rx_buffer = dma_alloc_coherent(ifx_dev->spi_dev->dev.parent,
                                IFX_SPI_TRANSFER_SIZE,
                                &ifx_dev->rx_bus,
                                GFP_KERNEL);