aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2014-09-12 08:12:00 -0400
committerMark Brown <broonie@kernel.org>2014-09-13 12:01:57 -0400
commitb89e9c87dd3b118f0b953d349e5bede1505e3bc5 (patch)
tree05c8929d83e4218de5b54bf28cce60f39b2eba10
parentea092455d713d28c0b74a2ebe022524025d97491 (diff)
spi: dw-mid: remove redundant dmac member
Instead of using that member we prefer to use dma_dev which represents actual struct device of the DMA device. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--drivers/spi/spi-dw-mid.c12
-rw-r--r--drivers/spi/spi-dw.h1
2 files changed, 8 insertions, 5 deletions
diff --git a/drivers/spi/spi-dw-mid.c b/drivers/spi/spi-dw-mid.c
index deba3c459d68..9ae2eaa228fd 100644
--- a/drivers/spi/spi-dw-mid.c
+++ b/drivers/spi/spi-dw-mid.c
@@ -39,12 +39,13 @@ static bool mid_spi_dma_chan_filter(struct dma_chan *chan, void *param)
39{ 39{
40 struct dw_spi *dws = param; 40 struct dw_spi *dws = param;
41 41
42 return dws->dmac && (&dws->dmac->dev == chan->device->dev); 42 return dws->dma_dev == chan->device->dev;
43} 43}
44 44
45static int mid_spi_dma_init(struct dw_spi *dws) 45static int mid_spi_dma_init(struct dw_spi *dws)
46{ 46{
47 struct mid_dma *dw_dma = dws->dma_priv; 47 struct mid_dma *dw_dma = dws->dma_priv;
48 struct pci_dev *dma_dev;
48 struct intel_mid_dma_slave *rxs, *txs; 49 struct intel_mid_dma_slave *rxs, *txs;
49 dma_cap_mask_t mask; 50 dma_cap_mask_t mask;
50 51
@@ -52,7 +53,11 @@ static int mid_spi_dma_init(struct dw_spi *dws)
52 * Get pci device for DMA controller, currently it could only 53 * Get pci device for DMA controller, currently it could only
53 * be the DMA controller of Medfield 54 * be the DMA controller of Medfield
54 */ 55 */
55 dws->dmac = pci_get_device(PCI_VENDOR_ID_INTEL, 0x0827, NULL); 56 dma_dev = pci_get_device(PCI_VENDOR_ID_INTEL, 0x0827, NULL);
57 if (!dma_dev)
58 return -ENODEV;
59
60 dws->dma_dev = &dma_dev->dev;
56 61
57 dma_cap_zero(mask); 62 dma_cap_zero(mask);
58 dma_cap_set(DMA_SLAVE, mask); 63 dma_cap_set(DMA_SLAVE, mask);
@@ -81,8 +86,7 @@ static int mid_spi_dma_init(struct dw_spi *dws)
81free_rxchan: 86free_rxchan:
82 dma_release_channel(dws->rxchan); 87 dma_release_channel(dws->rxchan);
83err_exit: 88err_exit:
84 return -1; 89 return -EBUSY;
85
86} 90}
87 91
88static void mid_spi_dma_exit(struct dw_spi *dws) 92static void mid_spi_dma_exit(struct dw_spi *dws)
diff --git a/drivers/spi/spi-dw.h b/drivers/spi/spi-dw.h
index fcd12b6b4697..089fc4ba3ace 100644
--- a/drivers/spi/spi-dw.h
+++ b/drivers/spi/spi-dw.h
@@ -140,7 +140,6 @@ struct dw_spi {
140 dma_addr_t dma_addr; /* phy address of the Data register */ 140 dma_addr_t dma_addr; /* phy address of the Data register */
141 struct dw_spi_dma_ops *dma_ops; 141 struct dw_spi_dma_ops *dma_ops;
142 void *dma_priv; /* platform relate info */ 142 void *dma_priv; /* platform relate info */
143 struct pci_dev *dmac;
144 143
145 /* Bus interface info */ 144 /* Bus interface info */
146 void *priv; 145 void *priv;