static int dcdc_probe(struct platform_device *pdev)
 {
-       struct resource *res;
-
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       dcdc_membase = devm_ioremap_resource(&pdev->dev, res);
+       dcdc_membase = devm_platform_get_and_ioremap_resource(pdev, 0, NULL);
        if (IS_ERR(dcdc_membase))
                return PTR_ERR(dcdc_membase);
 
 
 ltq_dma_init(struct platform_device *pdev)
 {
        struct clk *clk;
-       struct resource *res;
        unsigned int id, nchannels;
        int i;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       ltq_dma_membase = devm_ioremap_resource(&pdev->dev, res);
+       ltq_dma_membase = devm_platform_get_and_ioremap_resource(pdev, 0, NULL);
        if (IS_ERR(ltq_dma_membase))
                panic("Failed to remap dma resource");
 
 
 static int gptu_probe(struct platform_device *pdev)
 {
        struct clk *clk;
-       struct resource *res;
 
        if (of_irq_to_resource_table(pdev->dev.of_node, irqres, 6) != 6) {
                dev_err(&pdev->dev, "Failed to get IRQ list\n");
                return -EINVAL;
        }
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-
        /* remap gptu register range */
-       gptu_membase = devm_ioremap_resource(&pdev->dev, res);
+       gptu_membase = devm_platform_get_and_ioremap_resource(pdev, 0, NULL);
        if (IS_ERR(gptu_membase))
                return PTR_ERR(gptu_membase);