return ret;
 }
 
-static int deinterlace_remove(struct platform_device *pdev)
+static void deinterlace_remove(struct platform_device *pdev)
 {
        struct deinterlace_dev *dev = platform_get_drvdata(pdev);
 
        v4l2_device_unregister(&dev->v4l2_dev);
 
        pm_runtime_force_suspend(&pdev->dev);
-
-       return 0;
 }
 
 static int deinterlace_runtime_resume(struct device *device)
 
 static struct platform_driver deinterlace_driver = {
        .probe          = deinterlace_probe,
-       .remove         = deinterlace_remove,
+       .remove_new     = deinterlace_remove,
        .driver         = {
                .name           = DEINTERLACE_NAME,
                .of_match_table = deinterlace_dt_match,