@@ -861,6 +861,36 @@ static void isif_setfbaddr(unsigned long addr)
       regw((addr >> 5) & 0x0ffff, CADL);
 }
Â
+/* Parameter operations */
+/* TODO from dm355 ccdc_set_params */
+static int isif_set_params(void __user *params)
+{
+#if 0
+Â Â Â Â Â Â struct ccdc_config_params_raw ccdc_raw_params;
+Â Â Â Â Â Â int x;
+
+Â Â Â Â Â Â /* only raw module parameters can be set through the IOCTL */
+Â Â Â Â Â Â if (ccdc_cfg.if_type != VPFE_RAW_BAYER)
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â return -EINVAL;
+
+Â Â Â Â Â Â x = copy_from_user(&ccdc_raw_params, params, sizeof(ccdc_raw_params));
+Â Â Â Â Â Â if (x) {
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â dev_dbg(ccdc_cfg.dev, "ccdc_set_params: error in copying ccdc"
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â "params, %d\n", x);
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â return -EFAULT;
+Â Â Â Â Â Â }
+
+Â Â Â Â Â Â if (!validate_ccdc_param(&ccdc_raw_params)) {
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â memcpy(&ccdc_cfg.bayer.config_params,
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â &ccdc_raw_params,
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â sizeof(ccdc_raw_params));
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â return 0;
+Â Â Â Â Â Â }
+Â Â Â Â Â Â return -EINVAL;
+#else
+Â Â Â Â Â Â return 0;
+#endif
+}
 static int isif_set_hw_if_params(struct vpfe_hw_if_param *params)
 {
       isif_cfg.if_type = params->if_type;
@@ -1015,6 +1045,7 @@ static struct ccdc_hw_device isif_hw_dev = {
               .enable = isif_enable,
               .enable_out_to_sdram = isif_enable_output_to_sdram,
               .set_hw_if_params = isif_set_hw_if_params,
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â .set_params = isif_set_params,
               .configure = isif_configure,
               .set_buftype = isif_set_buftype,
               .get_buftype = isif_get_buftype,