{
        int error;
 
-       sysc_base2 = of_iomap(pdev->dev.of_node, 1);
-       if (!sysc_base2)
-               return -ENODEV;
+       sysc_base2 = devm_platform_ioremap_resource(pdev, 0);
+       if (IS_ERR(sysc_base2))
+               return PTR_ERR(sysc_base2);
 
        error = register_restart_handler(&rmobile_reset_nb);
        if (error) {
                dev_err(&pdev->dev,
                        "cannot register restart handler (err=%d)\n", error);
-               goto fail_unmap;
+               return error;
        }
 
        return 0;
-
-fail_unmap:
-       iounmap(sysc_base2);
-       return error;
 }
 
 static void rmobile_reset_remove(struct platform_device *pdev)
 {
        unregister_restart_handler(&rmobile_reset_nb);
-       iounmap(sysc_base2);
 }
 
 static const struct of_device_id rmobile_reset_of_match[] = {