From: Geert Uytterhoeven Date: Mon, 2 Jun 2014 13:38:10 +0000 (+0200) Subject: spi: rspi: Remove unneeded resource test in DMA setup X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=fcdc49ae53dc8cfc1a7758607bca68935f568ca2;p=deliverable%2Flinux.git 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 Signed-off-by: Mark Brown --- 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");