Make use of devm_platform_get_and_ioremap_resource() provided by
driver core platform instead of duplicated analogue.

Signed-off-by: Wang ShaoBo <[email protected]>
---
 drivers/iio/adc/at91-sama5d2_adc.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/iio/adc/at91-sama5d2_adc.c 
b/drivers/iio/adc/at91-sama5d2_adc.c
index de9583d6cddd..ad7d9819f83c 100644
--- a/drivers/iio/adc/at91-sama5d2_adc.c
+++ b/drivers/iio/adc/at91-sama5d2_adc.c
@@ -1764,17 +1764,13 @@ static int at91_adc_probe(struct platform_device *pdev)
        mutex_init(&st->lock);
        INIT_WORK(&st->touch_st.workq, at91_adc_workq_handler);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!res)
-               return -EINVAL;
+       st->base = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
+       if (IS_ERR(st->base))
+               return PTR_ERR(st->base);
 
        /* if we plan to use DMA, we need the physical address of the regs */
        st->dma_st.phys_addr = res->start;
 
-       st->base = devm_ioremap_resource(&pdev->dev, res);
-       if (IS_ERR(st->base))
-               return PTR_ERR(st->base);
-
        st->irq = platform_get_irq(pdev, 0);
        if (st->irq <= 0) {
                if (!st->irq)
-- 
2.17.1

Reply via email to