return component_master_add_with_match(dev, &ingenic_master_ops, match);
 }
 
-static int ingenic_drm_remove(struct platform_device *pdev)
+static void ingenic_drm_remove(struct platform_device *pdev)
 {
        struct device *dev = &pdev->dev;
 
                ingenic_drm_unbind(dev);
        else
                component_master_del(dev, &ingenic_master_ops);
-
-       return 0;
 }
 
 static int ingenic_drm_suspend(struct device *dev)
                .of_match_table = of_match_ptr(ingenic_drm_of_match),
        },
        .probe = ingenic_drm_probe,
-       .remove = ingenic_drm_remove,
+       .remove_new = ingenic_drm_remove,
 };
 
 static int ingenic_drm_init(void)
 
        return component_add(&pdev->dev, &ingenic_ipu_ops);
 }
 
-static int ingenic_ipu_remove(struct platform_device *pdev)
+static void ingenic_ipu_remove(struct platform_device *pdev)
 {
        component_del(&pdev->dev, &ingenic_ipu_ops);
-       return 0;
 }
 
 static const u32 jz4725b_ipu_formats[] = {
                .of_match_table = ingenic_ipu_of_match,
        },
        .probe = ingenic_ipu_probe,
-       .remove = ingenic_ipu_remove,
+       .remove_new = ingenic_ipu_remove,
 };
 
 struct platform_driver *ingenic_ipu_driver_ptr = &ingenic_ipu_driver;