mirror of
https://github.com/torvalds/linux.git
synced 2024-11-15 08:31:55 +00:00
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>
This commit is contained in:
parent
72be0ee42e
commit
b3136f8f7c
@ -239,15 +239,11 @@ static int altera_spi_probe(struct platform_device *pdev)
|
||||
|
||||
/* find and map our resources */
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
if (!res)
|
||||
goto exit_busy;
|
||||
if (!devm_request_mem_region(&pdev->dev, res->start, resource_size(res),
|
||||
pdev->name))
|
||||
goto exit_busy;
|
||||
hw->base = devm_ioremap_nocache(&pdev->dev, res->start,
|
||||
resource_size(res));
|
||||
if (!hw->base)
|
||||
goto exit_busy;
|
||||
hw->base = devm_ioremap_resource(&pdev->dev, res);
|
||||
if (IS_ERR(hw->base)) {
|
||||
err = PTR_ERR(hw->base);
|
||||
goto exit;
|
||||
}
|
||||
/* program defaults into the registers */
|
||||
hw->imr = 0; /* disable spi interrupts */
|
||||
writel(hw->imr, hw->base + ALTERA_SPI_CONTROL);
|
||||
@ -274,9 +270,6 @@ static int altera_spi_probe(struct platform_device *pdev)
|
||||
dev_info(&pdev->dev, "base %p, irq %d\n", hw->base, hw->irq);
|
||||
|
||||
return 0;
|
||||
|
||||
exit_busy:
|
||||
err = -EBUSY;
|
||||
exit:
|
||||
spi_master_put(master);
|
||||
return err;
|
||||
|
@ -315,15 +315,11 @@ static int tiny_spi_probe(struct platform_device *pdev)
|
||||
|
||||
/* find and map our resources */
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
if (!res)
|
||||
goto exit_busy;
|
||||
if (!devm_request_mem_region(&pdev->dev, res->start, resource_size(res),
|
||||
pdev->name))
|
||||
goto exit_busy;
|
||||
hw->base = devm_ioremap_nocache(&pdev->dev, res->start,
|
||||
resource_size(res));
|
||||
if (!hw->base)
|
||||
goto exit_busy;
|
||||
hw->base = devm_ioremap_resource(&pdev->dev, res);
|
||||
if (IS_ERR(hw->base)) {
|
||||
err = PTR_ERR(hw->base);
|
||||
goto exit;
|
||||
}
|
||||
/* irq is optional */
|
||||
hw->irq = platform_get_irq(pdev, 0);
|
||||
if (hw->irq >= 0) {
|
||||
@ -337,8 +333,10 @@ static int tiny_spi_probe(struct platform_device *pdev)
|
||||
if (platp) {
|
||||
hw->gpio_cs_count = platp->gpio_cs_count;
|
||||
hw->gpio_cs = platp->gpio_cs;
|
||||
if (platp->gpio_cs_count && !platp->gpio_cs)
|
||||
goto exit_busy;
|
||||
if (platp->gpio_cs_count && !platp->gpio_cs) {
|
||||
err = -EBUSY;
|
||||
goto exit;
|
||||
}
|
||||
hw->freq = platp->freq;
|
||||
hw->baudwidth = platp->baudwidth;
|
||||
} else {
|
||||
@ -365,8 +363,6 @@ static int tiny_spi_probe(struct platform_device *pdev)
|
||||
exit_gpio:
|
||||
while (i-- > 0)
|
||||
gpio_free(hw->gpio_cs[i]);
|
||||
exit_busy:
|
||||
err = -EBUSY;
|
||||
exit:
|
||||
spi_master_put(master);
|
||||
return err;
|
||||
|
Loading…
Reference in New Issue
Block a user