.step = 1,
                .default_value = 0x00,
        },
-       {
-               .id = V4L2_CID_POWER_LINE_FREQUENCY,
-               .type = V4L2_CTRL_TYPE_MENU,
-               .name = "Light frequency filter",
-               .minimum = 1,
-               .maximum = 2,
-               .step = 1,
-               .default_value = 1,
-       },
        {
                .id = V4L2_CID_COLORFX,
                .type = V4L2_CTRL_TYPE_INTEGER,
                .step = 1,
                .default_value = 0,
        },
-       {
-               .id = V4L2_CID_COLORFX_CBCR,
-               .type = V4L2_CTRL_TYPE_INTEGER,
-               .name = "Image Color Effect CbCr",
-               .minimum = 0,
-               .maximum = 0xffff,
-               .step = 1,
-               .default_value = 0,
-       },
        {
                .id = V4L2_CID_ATOMISP_BAD_PIXEL_DETECTION,
                .type = V4L2_CTRL_TYPE_INTEGER,
                .step = 1,
                .default_value = 1,
        },
-       {
-               .id = V4L2_CID_2A_STATUS,
-               .type = V4L2_CTRL_TYPE_BITMASK,
-               .name = "AE and AWB status",
-               .minimum = 0,
-               .maximum = V4L2_2A_STATUS_AE_READY | V4L2_2A_STATUS_AWB_READY,
-               .step = 1,
-               .default_value = 0,
-       },
-       {
-               .id = V4L2_CID_EXPOSURE,
-               .type = V4L2_CTRL_TYPE_INTEGER,
-               .name = "exposure",
-               .minimum = -4,
-               .maximum = 4,
-               .step = 1,
-               .default_value = 0,
-       },
-       {
-               .id = V4L2_CID_EXPOSURE_ZONE_NUM,
-               .type = V4L2_CTRL_TYPE_INTEGER,
-               .name = "one-time exposure zone number",
-               .minimum = 0x0,
-               .maximum = 0xffff,
-               .step = 1,
-               .default_value = 0,
-       },
-       {
-               .id = V4L2_CID_EXPOSURE_AUTO_PRIORITY,
-               .type = V4L2_CTRL_TYPE_INTEGER,
-               .name = "Exposure auto priority",
-               .minimum = V4L2_EXPOSURE_AUTO,
-               .maximum = V4L2_EXPOSURE_APERTURE_PRIORITY,
-               .step = 1,
-               .default_value = V4L2_EXPOSURE_AUTO,
-       },
-       {
-               .id = V4L2_CID_SCENE_MODE,
-               .type = V4L2_CTRL_TYPE_INTEGER,
-               .name = "scene mode",
-               .minimum = 0,
-               .maximum = 13,
-               .step = 1,
-               .default_value = 0,
-       },
-       {
-               .id = V4L2_CID_ISO_SENSITIVITY,
-               .type = V4L2_CTRL_TYPE_INTEGER,
-               .name = "iso",
-               .minimum = -4,
-               .maximum = 4,
-               .step = 1,
-               .default_value = 0,
-       },
-       {
-               .id = V4L2_CID_ISO_SENSITIVITY_AUTO,
-               .type = V4L2_CTRL_TYPE_INTEGER,
-               .name = "iso mode",
-               .minimum = V4L2_ISO_SENSITIVITY_MANUAL,
-               .maximum = V4L2_ISO_SENSITIVITY_AUTO,
-               .step = 1,
-               .default_value = V4L2_ISO_SENSITIVITY_AUTO,
-       },
-       {
-               .id = V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE,
-               .type = V4L2_CTRL_TYPE_INTEGER,
-               .name = "white balance",
-               .minimum = 0,
-               .maximum = 9,
-               .step = 1,
-               .default_value = 0,
-       },
-       {
-               .id = V4L2_CID_EXPOSURE_METERING,
-               .type = V4L2_CTRL_TYPE_MENU,
-               .name = "metering",
-               .minimum = 0,
-               .maximum = 3,
-               .step = 1,
-               .default_value = 1,
-       },
-       {
-               .id = V4L2_CID_3A_LOCK,
-               .type = V4L2_CTRL_TYPE_BITMASK,
-               .name = "3a lock",
-               .minimum = 0,
-               .maximum = V4L2_LOCK_EXPOSURE | V4L2_LOCK_WHITE_BALANCE
-               | V4L2_LOCK_FOCUS,
-               .step = 1,
-               .default_value = 0,
-       },
-       {
-               .id = V4L2_CID_TEST_PATTERN,
-               .type = V4L2_CTRL_TYPE_INTEGER,
-               .name = "Test Pattern",
-               .minimum = 0,
-               .maximum = 0xffff,
-               .step = 1,
-               .default_value = 0,
-       },
-       {
-               .id = V4L2_CID_TEST_PATTERN_COLOR_R,
-               .type = V4L2_CTRL_TYPE_INTEGER,
-               .name = "Test Pattern Solid Color R",
-               .minimum = INT_MIN,
-               .maximum = INT_MAX,
-               .step = 1,
-               .default_value = 0,
-       },
-       {
-               .id = V4L2_CID_TEST_PATTERN_COLOR_GR,
-               .type = V4L2_CTRL_TYPE_INTEGER,
-               .name = "Test Pattern Solid Color GR",
-               .minimum = INT_MIN,
-               .maximum = INT_MAX,
-               .step = 1,
-               .default_value = 0,
-       },
-       {
-               .id = V4L2_CID_TEST_PATTERN_COLOR_GB,
-               .type = V4L2_CTRL_TYPE_INTEGER,
-               .name = "Test Pattern Solid Color GB",
-               .minimum = INT_MIN,
-               .maximum = INT_MAX,
-               .step = 1,
-               .default_value = 0,
-       },
-       {
-               .id = V4L2_CID_TEST_PATTERN_COLOR_B,
-               .type = V4L2_CTRL_TYPE_INTEGER,
-               .name = "Test Pattern Solid Color B",
-               .minimum = INT_MIN,
-               .maximum = INT_MAX,
-               .step = 1,
-               .default_value = 0,
-       },
 };
 
 static const u32 ctrls_num = ARRAY_SIZE(ci_v4l2_controls);
 {
        struct video_device *vdev = video_devdata(file);
        struct atomisp_sub_device *asd = atomisp_to_video_pipe(vdev)->asd;
-       struct atomisp_device *isp = video_get_drvdata(vdev);
        int i, ret = -EINVAL;
 
        for (i = 0; i < ctrls_num; i++) {
                return ret;
 
        switch (control->id) {
-       case V4L2_CID_IRIS_ABSOLUTE:
-       case V4L2_CID_EXPOSURE_ABSOLUTE:
-       case V4L2_CID_2A_STATUS:
-       case V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE:
-       case V4L2_CID_EXPOSURE:
-       case V4L2_CID_EXPOSURE_AUTO:
-       case V4L2_CID_SCENE_MODE:
-       case V4L2_CID_ISO_SENSITIVITY:
-       case V4L2_CID_ISO_SENSITIVITY_AUTO:
-       case V4L2_CID_CONTRAST:
-       case V4L2_CID_SATURATION:
-       case V4L2_CID_SHARPNESS:
-       case V4L2_CID_3A_LOCK:
-       case V4L2_CID_EXPOSURE_ZONE_NUM:
-       case V4L2_CID_TEST_PATTERN:
-       case V4L2_CID_TEST_PATTERN_COLOR_R:
-       case V4L2_CID_TEST_PATTERN_COLOR_GR:
-       case V4L2_CID_TEST_PATTERN_COLOR_GB:
-       case V4L2_CID_TEST_PATTERN_COLOR_B:
-               return v4l2_g_ctrl(isp->inputs[asd->input_curr].camera->
-                                  ctrl_handler, control);
        case V4L2_CID_COLORFX:
                ret = atomisp_color_effect(asd, 0, &control->value);
                break;
 {
        struct video_device *vdev = video_devdata(file);
        struct atomisp_sub_device *asd = atomisp_to_video_pipe(vdev)->asd;
-       struct atomisp_device *isp = video_get_drvdata(vdev);
        int i, ret = -EINVAL;
 
        for (i = 0; i < ctrls_num; i++) {
                return ret;
 
        switch (control->id) {
-       case V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE:
-       case V4L2_CID_EXPOSURE:
-       case V4L2_CID_EXPOSURE_AUTO:
-       case V4L2_CID_EXPOSURE_AUTO_PRIORITY:
-       case V4L2_CID_SCENE_MODE:
-       case V4L2_CID_ISO_SENSITIVITY:
-       case V4L2_CID_ISO_SENSITIVITY_AUTO:
-       case V4L2_CID_POWER_LINE_FREQUENCY:
-       case V4L2_CID_EXPOSURE_METERING:
-       case V4L2_CID_CONTRAST:
-       case V4L2_CID_SATURATION:
-       case V4L2_CID_SHARPNESS:
-       case V4L2_CID_3A_LOCK:
-       case V4L2_CID_COLORFX_CBCR:
-       case V4L2_CID_TEST_PATTERN:
-       case V4L2_CID_TEST_PATTERN_COLOR_R:
-       case V4L2_CID_TEST_PATTERN_COLOR_GR:
-       case V4L2_CID_TEST_PATTERN_COLOR_GB:
-       case V4L2_CID_TEST_PATTERN_COLOR_B:
-               return v4l2_s_ctrl(NULL,
-                                  isp->inputs[asd->input_curr].camera->
-                                  ctrl_handler, control);
        case V4L2_CID_COLORFX:
                ret = atomisp_color_effect(asd, 1, &control->value);
                break;
 static int atomisp_queryctl(struct file *file, void *fh,
                            struct v4l2_queryctrl *qc)
 {
-       struct video_device *vdev = video_devdata(file);
        int i, ret = -EINVAL;
 
        if (qc->id & V4L2_CTRL_FLAG_NEXT_CTRL)
                ctrl.id = c->controls[i].id;
                ctrl.value = c->controls[i].value;
                switch (ctrl.id) {
-               case V4L2_CID_EXPOSURE_ABSOLUTE:
-               case V4L2_CID_EXPOSURE_AUTO:
-               case V4L2_CID_IRIS_ABSOLUTE:
-               case V4L2_CID_3A_LOCK:
-               case V4L2_CID_TEST_PATTERN:
-               case V4L2_CID_TEST_PATTERN_COLOR_R:
-               case V4L2_CID_TEST_PATTERN_COLOR_GR:
-               case V4L2_CID_TEST_PATTERN_COLOR_GB:
-               case V4L2_CID_TEST_PATTERN_COLOR_B:
-                       /*
-                        * Exposure related control will be handled by sensor
-                        * driver
-                        */
-                       ret =
-                           v4l2_g_ctrl(isp->inputs[asd->input_curr].camera->
-                                       ctrl_handler, &ctrl);
-                       break;
                case V4L2_CID_FLASH_STATUS:
                case V4L2_CID_FLASH_INTENSITY:
                case V4L2_CID_FLASH_TORCH_INTENSITY:
                case V4L2_CID_ZOOM_ABSOLUTE:
                        ret = atomisp_digital_zoom(asd, 0, &ctrl.value);
                        break;
-               case V4L2_CID_G_SKIP_FRAMES:
-                       ret = v4l2_subdev_call(
-                                 isp->inputs[asd->input_curr].camera,
-                                 sensor, g_skip_frames, (u32 *)&ctrl.value);
-                       break;
                default:
                        ret = -EINVAL;
                }
                ctrl.id = c->controls[i].id;
                ctrl.value = c->controls[i].value;
                switch (ctrl.id) {
-               case V4L2_CID_EXPOSURE_ABSOLUTE:
-               case V4L2_CID_EXPOSURE_AUTO:
-               case V4L2_CID_EXPOSURE_METERING:
-               case V4L2_CID_IRIS_ABSOLUTE:
-               case V4L2_CID_VCM_TIMING:
-               case V4L2_CID_VCM_SLEW:
-               case V4L2_CID_3A_LOCK:
-               case V4L2_CID_TEST_PATTERN:
-               case V4L2_CID_TEST_PATTERN_COLOR_R:
-               case V4L2_CID_TEST_PATTERN_COLOR_GR:
-               case V4L2_CID_TEST_PATTERN_COLOR_GB:
-               case V4L2_CID_TEST_PATTERN_COLOR_B:
-                       ret = v4l2_s_ctrl(NULL,
-                                         isp->inputs[asd->input_curr].camera->
-                                         ctrl_handler, &ctrl);
-                       break;
                case V4L2_CID_FLASH_STATUS:
                case V4L2_CID_FLASH_INTENSITY:
                case V4L2_CID_FLASH_TORCH_INTENSITY:
                                   bool valid_prio, unsigned int cmd, void *arg)
 {
        struct video_device *vdev = video_devdata(file);
-       struct atomisp_device *isp = video_get_drvdata(vdev);
        struct atomisp_sub_device *asd = atomisp_to_video_pipe(vdev)->asd;
        int err;
 
                err = atomisp_fixed_pattern_table(asd, arg);
                break;
 
-       case ATOMISP_IOC_S_EXPOSURE:
-               err = v4l2_subdev_call(isp->inputs[asd->input_curr].camera,
-                                      core, ioctl, cmd, arg);
-               break;
-
        case ATOMISP_IOC_S_ISP_SHD_TAB:
                err = atomisp_set_shading_table(asd, arg);
                break;
                err = atomisp_set_parameters(vdev, arg);
                break;
 
-       case ATOMISP_IOC_EXT_ISP_CTRL:
-               err = v4l2_subdev_call(isp->inputs[asd->input_curr].camera,
-                                      core, ioctl, cmd, arg);
-               break;
        case ATOMISP_IOC_EXP_ID_UNLOCK:
                err = atomisp_exp_id_unlock(asd, arg);
                break;