]> Pileus Git - ~andy/linux/blobdiff - drivers/media/video/s5p-fimc/mipi-csis.c
[media] s5p-fimc: Don't use platform data for CSI data alignment configuration
[~andy/linux] / drivers / media / video / s5p-fimc / mipi-csis.c
index a903138b18dad41ebd6b79f1e4879a138744a837..1cd6b6bc627928ae19678c10d313508124409eb3 100644 (file)
@@ -127,20 +127,24 @@ struct csis_state {
  *                       multiple of 2^pix_width_alignment
  * @code: corresponding media bus code
  * @fmt_reg: S5PCSIS_CONFIG register value
+ * @data_alignment: MIPI-CSI data alignment in bits
  */
 struct csis_pix_format {
        unsigned int pix_width_alignment;
        enum v4l2_mbus_pixelcode code;
        u32 fmt_reg;
+       u8 data_alignment;
 };
 
 static const struct csis_pix_format s5pcsis_formats[] = {
        {
                .code = V4L2_MBUS_FMT_VYUY8_2X8,
                .fmt_reg = S5PCSIS_CFG_FMT_YCBCR422_8BIT,
+               .data_alignment = 32,
        }, {
                .code = V4L2_MBUS_FMT_JPEG_1X8,
                .fmt_reg = S5PCSIS_CFG_FMT_USER(1),
+               .data_alignment = 32,
        },
 };
 
@@ -239,7 +243,7 @@ static void s5pcsis_set_params(struct csis_state *state)
        s5pcsis_set_hsync_settle(state, pdata->hs_settle);
 
        val = s5pcsis_read(state, S5PCSIS_CTRL);
-       if (pdata->alignment == 32)
+       if (state->csis_fmt->data_alignment == 32)
                val |= S5PCSIS_CTRL_ALIGN_32BIT;
        else /* 24-bits */
                val &= ~S5PCSIS_CTRL_ALIGN_32BIT;
@@ -684,7 +688,7 @@ static int __devexit s5pcsis_remove(struct platform_device *pdev)
        struct csis_state *state = sd_to_csis_state(sd);
 
        pm_runtime_disable(&pdev->dev);
-       s5pcsis_suspend(&pdev->dev);
+       s5pcsis_pm_suspend(&pdev->dev, false);
        clk_disable(state->clock[CSIS_CLK_MUX]);
        pm_runtime_set_suspended(&pdev->dev);
        s5pcsis_clk_put(state);