spi: topcliff-pch: don't hardcode PCI slot to get DMA device
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 30 Jul 2014 15:50:30 +0000 (18:50 +0300)
committerMark Brown <broonie@linaro.org>
Wed, 30 Jul 2014 23:03:42 +0000 (00:03 +0100)
The DMA is a function 0 of the multifunction device where SPI host is attached.
Thus, we may avoid to hardcode PCI slot number.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/spi-topcliff-pch.c

index af51d6a..0a87ec3 100644 (file)
@@ -874,8 +874,8 @@ static void pch_spi_request_dma(struct pch_spi_data *data, int bpw)
        dma_cap_set(DMA_SLAVE, mask);
 
        /* Get DMA's dev information */
-       dma_dev = pci_get_bus_and_slot(data->board_dat->pdev->bus->number,
-                                      PCI_DEVFN(12, 0));
+       dma_dev = pci_get_slot(data->board_dat->pdev->bus,
+                       PCI_DEVFN(PCI_SLOT(data->board_dat->pdev->devfn), 0));
 
        /* Set Tx DMA */
        param = &dma->param_tx;