crypto_init_queue(&tdes_dd->queue, ATMEL_TDES_QUEUE_LENGTH);
 
-       /* Get the base address */
-       tdes_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!tdes_res) {
-               dev_err(dev, "no MEM resource info\n");
-               err = -ENODEV;
+       tdes_dd->io_base = devm_platform_get_and_ioremap_resource(pdev, 0, &tdes_res);
+       if (IS_ERR(tdes_dd->io_base)) {
+               err = PTR_ERR(tdes_dd->io_base);
                goto err_tasklet_kill;
        }
        tdes_dd->phys_base = tdes_res->start;
                goto err_tasklet_kill;
        }
 
-       tdes_dd->io_base = devm_ioremap_resource(&pdev->dev, tdes_res);
-       if (IS_ERR(tdes_dd->io_base)) {
-               err = PTR_ERR(tdes_dd->io_base);
-               goto err_tasklet_kill;
-       }
-
        err = atmel_tdes_hw_version_init(tdes_dd);
        if (err)
                goto err_tasklet_kill;