diff options
author | Geert Uytterhoeven <geert+renesas@glider.be> | 2014-06-02 15:38:10 +0200 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-06-02 15:49:34 +0100 |
commit | fcdc49ae53dc8cfc1a7758607bca68935f568ca2 (patch) | |
tree | c0910a04a4619fc31266e9957aae2238571c0ce0 /drivers | |
parent | 65bf220571f131a7c3a564a88793bd0f16fd7c96 (diff) | |
download | linux-fcdc49ae53dc8cfc1a7758607bca68935f568ca2.tar.gz linux-fcdc49ae53dc8cfc1a7758607bca68935f568ca2.tar.bz2 linux-fcdc49ae53dc8cfc1a7758607bca68935f568ca2.zip |
spi: rspi: Remove unneeded resource test in DMA setup
The resource is know to exist, as rspi_probe() already mapped it.
Remove the test, and just pass the resource.
Pass the device pointer instead of the platform device pointer, as the
latter is no longer needed.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/spi/spi-rspi.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/drivers/spi/spi-rspi.c b/drivers/spi/spi-rspi.c index 0a7a2d618f0f..1ec51cb00203 100644 --- a/drivers/spi/spi-rspi.c +++ b/drivers/spi/spi-rspi.c @@ -980,35 +980,32 @@ static struct dma_chan *rspi_request_dma_chan(struct device *dev, return chan; } -static int rspi_request_dma(struct rspi_data *rspi, - struct platform_device *pdev) +static int rspi_request_dma(struct device *dev, struct rspi_data *rspi, + const struct resource *res) { - const struct rspi_plat_data *rspi_pd = dev_get_platdata(&pdev->dev); - struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + const struct rspi_plat_data *rspi_pd = dev_get_platdata(dev); - if (!res || !rspi_pd) + if (!rspi_pd) return 0; /* The driver assumes no error. */ /* If the module receives data by DMAC, it also needs TX DMAC */ if (rspi_pd->dma_rx_id && rspi_pd->dma_tx_id) { - rspi->chan_rx = rspi_request_dma_chan(&pdev->dev, - DMA_DEV_TO_MEM, + rspi->chan_rx = rspi_request_dma_chan(dev, DMA_DEV_TO_MEM, rspi_pd->dma_rx_id, res->start + RSPI_SPDR); if (!rspi->chan_rx) return -ENODEV; - dev_info(&pdev->dev, "Use DMA when rx.\n"); + dev_info(dev, "Use DMA when rx.\n"); } if (rspi_pd->dma_tx_id) { - rspi->chan_tx = rspi_request_dma_chan(&pdev->dev, - DMA_MEM_TO_DEV, + rspi->chan_tx = rspi_request_dma_chan(dev, DMA_MEM_TO_DEV, rspi_pd->dma_tx_id, res->start + RSPI_SPDR); if (!rspi->chan_tx) return -ENODEV; - dev_info(&pdev->dev, "Use DMA when tx\n"); + dev_info(dev, "Use DMA when tx\n"); } return 0; @@ -1210,7 +1207,7 @@ static int rspi_probe(struct platform_device *pdev) goto error2; } - ret = rspi_request_dma(rspi, pdev); + ret = rspi_request_dma(&pdev->dev, rspi, res); if (ret < 0) dev_warn(&pdev->dev, "DMA not available, using PIO\n"); |