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-oc-tiny.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-oc-tiny.c')
-rw-r--r-- | drivers/spi/spi-oc-tiny.c | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/drivers/spi/spi-oc-tiny.c b/drivers/spi/spi-oc-tiny.c index 58deb79d046b..d36ba907743d 100644 --- a/drivers/spi/spi-oc-tiny.c +++ b/drivers/spi/spi-oc-tiny.c | |||
@@ -315,15 +315,11 @@ static int tiny_spi_probe(struct platform_device *pdev) | |||
315 | 315 | ||
316 | /* find and map our resources */ | 316 | /* find and map our resources */ |
317 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); | 317 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
318 | if (!res) | 318 | hw->base = devm_ioremap_resource(&pdev->dev, res); |
319 | goto exit_busy; | 319 | if (IS_ERR(hw->base)) { |
320 | if (!devm_request_mem_region(&pdev->dev, res->start, resource_size(res), | 320 | err = PTR_ERR(hw->base); |
321 | pdev->name)) | 321 | goto exit; |
322 | goto exit_busy; | 322 | } |
323 | hw->base = devm_ioremap_nocache(&pdev->dev, res->start, | ||
324 | resource_size(res)); | ||
325 | if (!hw->base) | ||
326 | goto exit_busy; | ||
327 | /* irq is optional */ | 323 | /* irq is optional */ |
328 | hw->irq = platform_get_irq(pdev, 0); | 324 | hw->irq = platform_get_irq(pdev, 0); |
329 | if (hw->irq >= 0) { | 325 | if (hw->irq >= 0) { |
@@ -337,8 +333,10 @@ static int tiny_spi_probe(struct platform_device *pdev) | |||
337 | if (platp) { | 333 | if (platp) { |
338 | hw->gpio_cs_count = platp->gpio_cs_count; | 334 | hw->gpio_cs_count = platp->gpio_cs_count; |
339 | hw->gpio_cs = platp->gpio_cs; | 335 | hw->gpio_cs = platp->gpio_cs; |
340 | if (platp->gpio_cs_count && !platp->gpio_cs) | 336 | if (platp->gpio_cs_count && !platp->gpio_cs) { |
341 | goto exit_busy; | 337 | err = -EBUSY; |
338 | goto exit; | ||
339 | } | ||
342 | hw->freq = platp->freq; | 340 | hw->freq = platp->freq; |
343 | hw->baudwidth = platp->baudwidth; | 341 | hw->baudwidth = platp->baudwidth; |
344 | } else { | 342 | } else { |
@@ -365,8 +363,6 @@ static int tiny_spi_probe(struct platform_device *pdev) | |||
365 | exit_gpio: | 363 | exit_gpio: |
366 | while (i-- > 0) | 364 | while (i-- > 0) |
367 | gpio_free(hw->gpio_cs[i]); | 365 | gpio_free(hw->gpio_cs[i]); |
368 | exit_busy: | ||
369 | err = -EBUSY; | ||
370 | exit: | 366 | exit: |
371 | spi_master_put(master); | 367 | spi_master_put(master); |
372 | return err; | 368 | return err; |