struct v4l2_subdev *subdev;
        struct video_device *vdev;
        struct sun4i_csi *csi;
-       struct resource *res;
        int ret;
        int irq;
 
        media_device_init(&csi->mdev);
        csi->v4l.mdev = &csi->mdev;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       csi->regs = devm_ioremap_resource(&pdev->dev, res);
+       csi->regs = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(csi->regs))
                return PTR_ERR(csi->regs);
 
 
 static int sun6i_csi_resource_request(struct sun6i_csi_dev *sdev,
                                      struct platform_device *pdev)
 {
-       struct resource *res;
        void __iomem *io_base;
        int ret;
        int irq;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       io_base = devm_ioremap_resource(&pdev->dev, res);
+       io_base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(io_base))
                return PTR_ERR(io_base);
 
 
 {
        struct deinterlace_dev *dev;
        struct video_device *vfd;
-       struct resource *res;
        int irq, ret;
 
        dev = devm_kzalloc(&pdev->dev, sizeof(*dev), GFP_KERNEL);
                return ret;
        }
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       dev->base = devm_ioremap_resource(&pdev->dev, res);
+       dev->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(dev->base))
                return PTR_ERR(dev->base);