diff options
author | Julia Lawall <Julia.Lawall@lip6.fr> | 2013-08-24 13:13:15 -0400 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-08-29 08:39:35 -0400 |
commit | b3136f8f7c49bb4ca71247046f688fdffa104310 (patch) | |
tree | a119f4bf171596adb6eecbe66abcc8f79da3b5e5 /drivers/spi/spi-altera.c | |
parent | 72be0ee42ebaf744d4a5cf684ee68dba59d6bac1 (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.c | 17 |
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 | |||
278 | exit_busy: | ||
279 | err = -EBUSY; | ||
280 | exit: | 273 | exit: |
281 | spi_master_put(master); | 274 | spi_master_put(master); |
282 | return err; | 275 | return err; |