Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5ef650ae authored by Wan ZongShun's avatar Wan ZongShun Committed by Mark Brown
Browse files

ASoC: s6000: use resource_size for {request/release}_mem_region and ioremap



The size calculation is end - start + 1. But,sometimes, the '1' can
be forgotten carelessly, witch will have potential risk, so use resource_size
for {request/release}_mem_region and ioremap here should be good habit.

Signed-off-by: default avatarWan ZongShun <mcuos.com@gmail.com>
Acked-by: default avatarDaniel Glöckner <dg@emlix.com>
Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 85252b6a
Loading
Loading
Loading
Loading
+17 −21
Original line number Diff line number Diff line
@@ -451,8 +451,7 @@ static int __devinit s6000_i2s_probe(struct platform_device *pdev)
		goto err_release_none;
	}

	region = request_mem_region(scbmem->start,
				    scbmem->end - scbmem->start + 1,
	region = request_mem_region(scbmem->start, resource_size(scbmem),
								pdev->name);
	if (!region) {
		dev_err(&pdev->dev, "I2S SCB region already claimed\n");
@@ -460,7 +459,7 @@ static int __devinit s6000_i2s_probe(struct platform_device *pdev)
		goto err_release_none;
	}

	mmio = ioremap(scbmem->start, scbmem->end - scbmem->start + 1);
	mmio = ioremap(scbmem->start, resource_size(scbmem));
	if (!mmio) {
		dev_err(&pdev->dev, "can't ioremap SCB region\n");
		ret = -ENOMEM;
@@ -474,8 +473,7 @@ static int __devinit s6000_i2s_probe(struct platform_device *pdev)
		goto err_release_map;
	}

	region = request_mem_region(sifmem->start,
				    sifmem->end - sifmem->start + 1,
	region = request_mem_region(sifmem->start, resource_size(sifmem),
								pdev->name);
	if (!region) {
		dev_err(&pdev->dev, "I2S SIF region already claimed\n");
@@ -490,7 +488,7 @@ static int __devinit s6000_i2s_probe(struct platform_device *pdev)
		goto err_release_sif;
	}

	region = request_mem_region(dma1->start, dma1->end - dma1->start + 1,
	region = request_mem_region(dma1->start, resource_size(dma1),
								pdev->name);
	if (!region) {
		dev_err(&pdev->dev, "I2S DMA region already claimed\n");
@@ -500,8 +498,7 @@ static int __devinit s6000_i2s_probe(struct platform_device *pdev)

	dma2 = platform_get_resource(pdev, IORESOURCE_DMA, 1);
	if (dma2) {
		region = request_mem_region(dma2->start,
					    dma2->end - dma2->start + 1,
		region = request_mem_region(dma2->start, resource_size(dma2),
								pdev->name);
		if (!region) {
			dev_err(&pdev->dev,
@@ -561,15 +558,15 @@ err_release_dev:
	kfree(dev);
err_release_dma2:
	if (dma2)
		release_mem_region(dma2->start, dma2->end - dma2->start + 1);
		release_mem_region(dma2->start, resource_size(dma2));
err_release_dma1:
	release_mem_region(dma1->start, dma1->end - dma1->start + 1);
	release_mem_region(dma1->start, resource_size(dma1));
err_release_sif:
	release_mem_region(sifmem->start, (sifmem->end - sifmem->start) + 1);
	release_mem_region(sifmem->start, resource_size(sifmem));
err_release_map:
	iounmap(mmio);
err_release_scb:
	release_mem_region(scbmem->start, (scbmem->end - scbmem->start) + 1);
	release_mem_region(scbmem->start, resource_size(scbmem));
err_release_none:
	return ret;
}
@@ -590,19 +587,18 @@ static void __devexit s6000_i2s_remove(struct platform_device *pdev)
	kfree(dev);

	region = platform_get_resource(pdev, IORESOURCE_DMA, 0);
	release_mem_region(region->start, region->end - region->start + 1);
	release_mem_region(region->start, resource_size(region));

	region = platform_get_resource(pdev, IORESOURCE_DMA, 1);
	if (region)
		release_mem_region(region->start,
				   region->end - region->start + 1);
		release_mem_region(region->start, resource_size(region));

	region = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	release_mem_region(region->start, (region->end - region->start) + 1);
	release_mem_region(region->start, resource_size(region));

	iounmap(mmio);
	region = platform_get_resource(pdev, IORESOURCE_IO, 0);
	release_mem_region(region->start, (region->end - region->start) + 1);
	release_mem_region(region->start, resource_size(region));
}

static struct platform_driver s6000_i2s_driver = {