diff options
Diffstat (limited to 'sound/soc/s6000/s6000-i2s.c')
-rw-r--r-- | sound/soc/s6000/s6000-i2s.c | 38 |
1 files changed, 17 insertions, 21 deletions
diff --git a/sound/soc/s6000/s6000-i2s.c b/sound/soc/s6000/s6000-i2s.c index 5b9ac1759bd2..59e3fa7bcb05 100644 --- a/sound/soc/s6000/s6000-i2s.c +++ b/sound/soc/s6000/s6000-i2s.c | |||
@@ -451,16 +451,15 @@ static int __devinit s6000_i2s_probe(struct platform_device *pdev) | |||
451 | goto err_release_none; | 451 | goto err_release_none; |
452 | } | 452 | } |
453 | 453 | ||
454 | region = request_mem_region(scbmem->start, | 454 | region = request_mem_region(scbmem->start, resource_size(scbmem), |
455 | scbmem->end - scbmem->start + 1, | 455 | pdev->name); |
456 | pdev->name); | ||
457 | if (!region) { | 456 | if (!region) { |
458 | dev_err(&pdev->dev, "I2S SCB region already claimed\n"); | 457 | dev_err(&pdev->dev, "I2S SCB region already claimed\n"); |
459 | ret = -EBUSY; | 458 | ret = -EBUSY; |
460 | goto err_release_none; | 459 | goto err_release_none; |
461 | } | 460 | } |
462 | 461 | ||
463 | mmio = ioremap(scbmem->start, scbmem->end - scbmem->start + 1); | 462 | mmio = ioremap(scbmem->start, resource_size(scbmem)); |
464 | if (!mmio) { | 463 | if (!mmio) { |
465 | dev_err(&pdev->dev, "can't ioremap SCB region\n"); | 464 | dev_err(&pdev->dev, "can't ioremap SCB region\n"); |
466 | ret = -ENOMEM; | 465 | ret = -ENOMEM; |
@@ -474,9 +473,8 @@ static int __devinit s6000_i2s_probe(struct platform_device *pdev) | |||
474 | goto err_release_map; | 473 | goto err_release_map; |
475 | } | 474 | } |
476 | 475 | ||
477 | region = request_mem_region(sifmem->start, | 476 | region = request_mem_region(sifmem->start, resource_size(sifmem), |
478 | sifmem->end - sifmem->start + 1, | 477 | pdev->name); |
479 | pdev->name); | ||
480 | if (!region) { | 478 | if (!region) { |
481 | dev_err(&pdev->dev, "I2S SIF region already claimed\n"); | 479 | dev_err(&pdev->dev, "I2S SIF region already claimed\n"); |
482 | ret = -EBUSY; | 480 | ret = -EBUSY; |
@@ -490,8 +488,8 @@ static int __devinit s6000_i2s_probe(struct platform_device *pdev) | |||
490 | goto err_release_sif; | 488 | goto err_release_sif; |
491 | } | 489 | } |
492 | 490 | ||
493 | region = request_mem_region(dma1->start, dma1->end - dma1->start + 1, | 491 | region = request_mem_region(dma1->start, resource_size(dma1), |
494 | pdev->name); | 492 | pdev->name); |
495 | if (!region) { | 493 | if (!region) { |
496 | dev_err(&pdev->dev, "I2S DMA region already claimed\n"); | 494 | dev_err(&pdev->dev, "I2S DMA region already claimed\n"); |
497 | ret = -EBUSY; | 495 | ret = -EBUSY; |
@@ -500,9 +498,8 @@ static int __devinit s6000_i2s_probe(struct platform_device *pdev) | |||
500 | 498 | ||
501 | dma2 = platform_get_resource(pdev, IORESOURCE_DMA, 1); | 499 | dma2 = platform_get_resource(pdev, IORESOURCE_DMA, 1); |
502 | if (dma2) { | 500 | if (dma2) { |
503 | region = request_mem_region(dma2->start, | 501 | region = request_mem_region(dma2->start, resource_size(dma2), |
504 | dma2->end - dma2->start + 1, | 502 | pdev->name); |
505 | pdev->name); | ||
506 | if (!region) { | 503 | if (!region) { |
507 | dev_err(&pdev->dev, | 504 | dev_err(&pdev->dev, |
508 | "I2S DMA region already claimed\n"); | 505 | "I2S DMA region already claimed\n"); |
@@ -561,15 +558,15 @@ err_release_dev: | |||
561 | kfree(dev); | 558 | kfree(dev); |
562 | err_release_dma2: | 559 | err_release_dma2: |
563 | if (dma2) | 560 | if (dma2) |
564 | release_mem_region(dma2->start, dma2->end - dma2->start + 1); | 561 | release_mem_region(dma2->start, resource_size(dma2)); |
565 | err_release_dma1: | 562 | err_release_dma1: |
566 | release_mem_region(dma1->start, dma1->end - dma1->start + 1); | 563 | release_mem_region(dma1->start, resource_size(dma1)); |
567 | err_release_sif: | 564 | err_release_sif: |
568 | release_mem_region(sifmem->start, (sifmem->end - sifmem->start) + 1); | 565 | release_mem_region(sifmem->start, resource_size(sifmem)); |
569 | err_release_map: | 566 | err_release_map: |
570 | iounmap(mmio); | 567 | iounmap(mmio); |
571 | err_release_scb: | 568 | err_release_scb: |
572 | release_mem_region(scbmem->start, (scbmem->end - scbmem->start) + 1); | 569 | release_mem_region(scbmem->start, resource_size(scbmem)); |
573 | err_release_none: | 570 | err_release_none: |
574 | return ret; | 571 | return ret; |
575 | } | 572 | } |
@@ -590,19 +587,18 @@ static void __devexit s6000_i2s_remove(struct platform_device *pdev) | |||
590 | kfree(dev); | 587 | kfree(dev); |
591 | 588 | ||
592 | region = platform_get_resource(pdev, IORESOURCE_DMA, 0); | 589 | region = platform_get_resource(pdev, IORESOURCE_DMA, 0); |
593 | release_mem_region(region->start, region->end - region->start + 1); | 590 | release_mem_region(region->start, resource_size(region)); |
594 | 591 | ||
595 | region = platform_get_resource(pdev, IORESOURCE_DMA, 1); | 592 | region = platform_get_resource(pdev, IORESOURCE_DMA, 1); |
596 | if (region) | 593 | if (region) |
597 | release_mem_region(region->start, | 594 | release_mem_region(region->start, resource_size(region)); |
598 | region->end - region->start + 1); | ||
599 | 595 | ||
600 | region = platform_get_resource(pdev, IORESOURCE_MEM, 0); | 596 | region = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
601 | release_mem_region(region->start, (region->end - region->start) + 1); | 597 | release_mem_region(region->start, resource_size(region)); |
602 | 598 | ||
603 | iounmap(mmio); | 599 | iounmap(mmio); |
604 | region = platform_get_resource(pdev, IORESOURCE_IO, 0); | 600 | region = platform_get_resource(pdev, IORESOURCE_IO, 0); |
605 | release_mem_region(region->start, (region->end - region->start) + 1); | 601 | release_mem_region(region->start, resource_size(region)); |
606 | } | 602 | } |
607 | 603 | ||
608 | static struct platform_driver s6000_i2s_driver = { | 604 | static struct platform_driver s6000_i2s_driver = { |