for (j = 0; j < 3; j++)
                        rkisp1_write(params->rkisp1, arg->coeff[i][j],
                                     RKISP1_CIF_ISP_CT_COEFF_0 + 4 * k++);
-       rkisp1_write(params->rkisp1, arg->ct_offset_r,
-                    RKISP1_CIF_ISP_CT_OFFSET_R);
-       rkisp1_write(params->rkisp1, arg->ct_offset_g,
-                    RKISP1_CIF_ISP_CT_OFFSET_G);
-       rkisp1_write(params->rkisp1, arg->ct_offset_b,
-                    RKISP1_CIF_ISP_CT_OFFSET_B);
+       for (i = 0; i < 3; i++)
+               rkisp1_write(params->rkisp1, arg->ct_offset[i],
+                            RKISP1_CIF_ISP_CT_OFFSET_R + i * 4);
 }
 
 static void rkisp1_ctk_enable(struct rkisp1_params *params, bool en)
 
  * @coeff: color correction matrix. Values are 11-bit signed fixed-point numbers with 4 bit integer
  *             and 7 bit fractional part, ranging from -8 (0x400) to +7.992 (0x3FF). 0 is
  *             represented by 0x000 and a coefficient value of 1 as 0x080.
- * @ct_offset_b: offset for the crosstalk correction matrix
+ * @ct_offset: Red, Green, Blue offsets for the crosstalk correction matrix
  */
 struct rkisp1_cif_isp_ctk_config {
        __u16 coeff[3][3];
-       __u16 ct_offset_r;
-       __u16 ct_offset_g;
-       __u16 ct_offset_b;
+       __u16 ct_offset[3];
 } __packed;
 
 enum rkisp1_cif_isp_goc_mode {