aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/spi/spi-altera.c
diff options
context:
space:
mode:
authorJulia Lawall <Julia.Lawall@lip6.fr>2013-08-24 13:13:15 -0400
committerMark Brown <broonie@linaro.org>2013-08-29 08:39:35 -0400
commitb3136f8f7c49bb4ca71247046f688fdffa104310 (patch)
treea119f4bf171596adb6eecbe66abcc8f79da3b5e5 /drivers/spi/spi-altera.c
parent72be0ee42ebaf744d4a5cf684ee68dba59d6bac1 (diff)
spi: simplify devm_request_mem_region/devm_ioremap
Convert the composition of devm_request_mem_region and devm_ioremap to a single call to devm_ioremap_resource. The associated call to platform_get_resource is also simplified and moved next to the new call to devm_ioremap_resource. This was done using a combination of the semantic patches devm_ioremap_resource.cocci and devm_request_and_ioremap.cocci, found in the scripts/coccinelle/api directory. This patch also removes the label exit_busy, to use the error code returned by the failing operation, rather than always -EBUSY. Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'drivers/spi/spi-altera.c')
-rw-r--r--drivers/spi/spi-altera.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/drivers/spi/spi-altera.c b/drivers/spi/spi-altera.c
index 453fa5ac04ad..dce4a7e69b46 100644
--- a/drivers/spi/spi-altera.c
+++ b/drivers/spi/spi-altera.c
@@ -239,15 +239,11 @@ static int altera_spi_probe(struct platform_device *pdev)
239 239
240 /* find and map our resources */ 240 /* find and map our resources */
241 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 241 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
242 if (!res) 242 hw->base = devm_ioremap_resource(&pdev->dev, res);
243 goto exit_busy; 243 if (IS_ERR(hw->base)) {
244 if (!devm_request_mem_region(&pdev->dev, res->start, resource_size(res), 244 err = PTR_ERR(hw->base);
245 pdev->name)) 245 goto exit;
246 goto exit_busy; 246 }
247 hw->base = devm_ioremap_nocache(&pdev->dev, res->start,
248 resource_size(res));
249 if (!hw->base)
250 goto exit_busy;
251 /* program defaults into the registers */ 247 /* program defaults into the registers */
252 hw->imr = 0; /* disable spi interrupts */ 248 hw->imr = 0; /* disable spi interrupts */
253 writel(hw->imr, hw->base + ALTERA_SPI_CONTROL); 249 writel(hw->imr, hw->base + ALTERA_SPI_CONTROL);
@@ -274,9 +270,6 @@ static int altera_spi_probe(struct platform_device *pdev)
274 dev_info(&pdev->dev, "base %p, irq %d\n", hw->base, hw->irq); 270 dev_info(&pdev->dev, "base %p, irq %d\n", hw->base, hw->irq);
275 271
276 return 0; 272 return 0;
277
278exit_busy:
279 err = -EBUSY;
280exit: 273exit:
281 spi_master_put(master); 274 spi_master_put(master);
282 return err; 275 return err;