return ret;
 }
 
-
-static int mmpcam_remove(struct mmp_camera *cam)
+static int mmpcam_remove(struct platform_device *pdev)
 {
+       struct mmp_camera *cam = platform_get_drvdata(pdev);
        struct mcam_camera *mcam = &cam->mcam;
 
        mccic_shutdown(mcam);
        return 0;
 }
 
-static int mmpcam_platform_remove(struct platform_device *pdev)
-{
-       struct mmp_camera *cam = platform_get_drvdata(pdev);
-
-       if (cam == NULL)
-               return -ENODEV;
-       return mmpcam_remove(cam);
-}
-
 /*
  * Suspend/resume support.
  */
 
 static struct platform_driver mmpcam_driver = {
        .probe          = mmpcam_probe,
-       .remove         = mmpcam_platform_remove,
+       .remove         = mmpcam_remove,
        .driver = {
                .name   = "mmp-camera",
                .of_match_table = of_match_ptr(mmpcam_of_match),