diff options
author | Sylwester Nawrocki <s.nawrocki@samsung.com> | 2012-04-27 08:33:23 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-05-20 08:23:35 -0400 |
commit | bb7c276ec48b27d62a6d3f98e047a4b3d6a29b5c (patch) | |
tree | aaae3dba439dfc9931dec2ce26b324ba8bd1b4cd /drivers/media | |
parent | 3d112d9aced3d4ad959e159a1662503452792295 (diff) |
[media] s5p-fimc: Minor cleanups
Tidy up the variant and driver data handling. Remove the 'samsung_'
prefix from some data structures since it doesn't really carry any
useful information and makes the names unnecessarily long.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/video/s5p-fimc/fimc-capture.c | 33 | ||||
-rw-r--r-- | drivers/media/video/s5p-fimc/fimc-core.c | 41 | ||||
-rw-r--r-- | drivers/media/video/s5p-fimc/fimc-core.h | 26 | ||||
-rw-r--r-- | drivers/media/video/s5p-fimc/fimc-m2m.c | 2 | ||||
-rw-r--r-- | drivers/media/video/s5p-fimc/fimc-reg.c | 2 |
5 files changed, 53 insertions, 51 deletions
diff --git a/drivers/media/video/s5p-fimc/fimc-capture.c b/drivers/media/video/s5p-fimc/fimc-capture.c index b36809d2f9fc..15b74083a066 100644 --- a/drivers/media/video/s5p-fimc/fimc-capture.c +++ b/drivers/media/video/s5p-fimc/fimc-capture.c | |||
@@ -31,7 +31,7 @@ | |||
31 | #include "fimc-core.h" | 31 | #include "fimc-core.h" |
32 | #include "fimc-reg.h" | 32 | #include "fimc-reg.h" |
33 | 33 | ||
34 | static int fimc_init_capture(struct fimc_dev *fimc) | 34 | static int fimc_capture_hw_init(struct fimc_dev *fimc) |
35 | { | 35 | { |
36 | struct fimc_ctx *ctx = fimc->vid_cap.ctx; | 36 | struct fimc_ctx *ctx = fimc->vid_cap.ctx; |
37 | struct fimc_pipeline *p = &fimc->pipeline; | 37 | struct fimc_pipeline *p = &fimc->pipeline; |
@@ -73,6 +73,14 @@ static int fimc_init_capture(struct fimc_dev *fimc) | |||
73 | return ret; | 73 | return ret; |
74 | } | 74 | } |
75 | 75 | ||
76 | /* | ||
77 | * Reinitialize the driver so it is ready to start the streaming again. | ||
78 | * Set fimc->state to indicate stream off and the hardware shut down state. | ||
79 | * If not suspending (@suspend is false), return any buffers to videobuf2. | ||
80 | * Otherwise put any owned buffers onto the pending buffers queue, so they | ||
81 | * can be re-spun when the device is being resumed. Also perform FIMC | ||
82 | * software reset and disable streaming on the whole pipeline if required. | ||
83 | */ | ||
76 | static int fimc_capture_state_cleanup(struct fimc_dev *fimc, bool suspend) | 84 | static int fimc_capture_state_cleanup(struct fimc_dev *fimc, bool suspend) |
77 | { | 85 | { |
78 | struct fimc_vid_cap *cap = &fimc->vid_cap; | 86 | struct fimc_vid_cap *cap = &fimc->vid_cap; |
@@ -146,9 +154,6 @@ static int fimc_capture_config_update(struct fimc_ctx *ctx) | |||
146 | struct fimc_dev *fimc = ctx->fimc_dev; | 154 | struct fimc_dev *fimc = ctx->fimc_dev; |
147 | int ret; | 155 | int ret; |
148 | 156 | ||
149 | if (!test_bit(ST_CAPT_APPLY_CFG, &fimc->state)) | ||
150 | return 0; | ||
151 | |||
152 | fimc_hw_set_camera_offset(fimc, &ctx->s_frame); | 157 | fimc_hw_set_camera_offset(fimc, &ctx->s_frame); |
153 | 158 | ||
154 | ret = fimc_set_scaler_info(ctx); | 159 | ret = fimc_set_scaler_info(ctx); |
@@ -220,7 +225,8 @@ void fimc_capture_irq_handler(struct fimc_dev *fimc, int deq_buf) | |||
220 | set_bit(ST_CAPT_RUN, &fimc->state); | 225 | set_bit(ST_CAPT_RUN, &fimc->state); |
221 | } | 226 | } |
222 | 227 | ||
223 | fimc_capture_config_update(cap->ctx); | 228 | if (test_bit(ST_CAPT_APPLY_CFG, &fimc->state)) |
229 | fimc_capture_config_update(cap->ctx); | ||
224 | done: | 230 | done: |
225 | if (cap->active_buf_cnt == 1) { | 231 | if (cap->active_buf_cnt == 1) { |
226 | fimc_deactivate_capture(fimc); | 232 | fimc_deactivate_capture(fimc); |
@@ -242,9 +248,11 @@ static int start_streaming(struct vb2_queue *q, unsigned int count) | |||
242 | 248 | ||
243 | vid_cap->frame_count = 0; | 249 | vid_cap->frame_count = 0; |
244 | 250 | ||
245 | ret = fimc_init_capture(fimc); | 251 | ret = fimc_capture_hw_init(fimc); |
246 | if (ret) | 252 | if (ret) { |
247 | goto error; | 253 | fimc_capture_state_cleanup(fimc, false); |
254 | return ret; | ||
255 | } | ||
248 | 256 | ||
249 | set_bit(ST_CAPT_PEND, &fimc->state); | 257 | set_bit(ST_CAPT_PEND, &fimc->state); |
250 | 258 | ||
@@ -259,9 +267,6 @@ static int start_streaming(struct vb2_queue *q, unsigned int count) | |||
259 | } | 267 | } |
260 | 268 | ||
261 | return 0; | 269 | return 0; |
262 | error: | ||
263 | fimc_capture_state_cleanup(fimc, false); | ||
264 | return ret; | ||
265 | } | 270 | } |
266 | 271 | ||
267 | static int stop_streaming(struct vb2_queue *q) | 272 | static int stop_streaming(struct vb2_queue *q) |
@@ -300,7 +305,7 @@ int fimc_capture_resume(struct fimc_dev *fimc) | |||
300 | vid_cap->buf_index = 0; | 305 | vid_cap->buf_index = 0; |
301 | fimc_pipeline_initialize(&fimc->pipeline, &vid_cap->vfd->entity, | 306 | fimc_pipeline_initialize(&fimc->pipeline, &vid_cap->vfd->entity, |
302 | false); | 307 | false); |
303 | fimc_init_capture(fimc); | 308 | fimc_capture_hw_init(fimc); |
304 | 309 | ||
305 | clear_bit(ST_CAPT_SUSPENDED, &fimc->state); | 310 | clear_bit(ST_CAPT_SUSPENDED, &fimc->state); |
306 | 311 | ||
@@ -563,7 +568,7 @@ static struct fimc_fmt *fimc_capture_try_format(struct fimc_ctx *ctx, | |||
563 | { | 568 | { |
564 | bool rotation = ctx->rotation == 90 || ctx->rotation == 270; | 569 | bool rotation = ctx->rotation == 90 || ctx->rotation == 270; |
565 | struct fimc_dev *fimc = ctx->fimc_dev; | 570 | struct fimc_dev *fimc = ctx->fimc_dev; |
566 | struct samsung_fimc_variant *var = fimc->variant; | 571 | struct fimc_variant *var = fimc->variant; |
567 | struct fimc_pix_limit *pl = var->pix_limit; | 572 | struct fimc_pix_limit *pl = var->pix_limit; |
568 | struct fimc_frame *dst = &ctx->d_frame; | 573 | struct fimc_frame *dst = &ctx->d_frame; |
569 | u32 depth, min_w, max_w, min_h, align_h = 3; | 574 | u32 depth, min_w, max_w, min_h, align_h = 3; |
@@ -629,7 +634,7 @@ static void fimc_capture_try_crop(struct fimc_ctx *ctx, struct v4l2_rect *r, | |||
629 | { | 634 | { |
630 | bool rotate = ctx->rotation == 90 || ctx->rotation == 270; | 635 | bool rotate = ctx->rotation == 90 || ctx->rotation == 270; |
631 | struct fimc_dev *fimc = ctx->fimc_dev; | 636 | struct fimc_dev *fimc = ctx->fimc_dev; |
632 | struct samsung_fimc_variant *var = fimc->variant; | 637 | struct fimc_variant *var = fimc->variant; |
633 | struct fimc_pix_limit *pl = var->pix_limit; | 638 | struct fimc_pix_limit *pl = var->pix_limit; |
634 | struct fimc_frame *sink = &ctx->s_frame; | 639 | struct fimc_frame *sink = &ctx->s_frame; |
635 | u32 max_w, max_h, min_w = 0, min_h = 0, min_sz; | 640 | u32 max_w, max_h, min_w = 0, min_h = 0, min_sz; |
diff --git a/drivers/media/video/s5p-fimc/fimc-core.c b/drivers/media/video/s5p-fimc/fimc-core.c index e0fe9748ec57..917eef412566 100644 --- a/drivers/media/video/s5p-fimc/fimc-core.c +++ b/drivers/media/video/s5p-fimc/fimc-core.c | |||
@@ -188,7 +188,7 @@ static struct fimc_fmt fimc_formats[] = { | |||
188 | }, | 188 | }, |
189 | }; | 189 | }; |
190 | 190 | ||
191 | struct fimc_fmt * fimc_get_format(unsigned int index) | 191 | struct fimc_fmt *fimc_get_format(unsigned int index) |
192 | { | 192 | { |
193 | if (index >= ARRAY_SIZE(fimc_formats)) | 193 | if (index >= ARRAY_SIZE(fimc_formats)) |
194 | return NULL; | 194 | return NULL; |
@@ -231,7 +231,7 @@ static int fimc_get_scaler_factor(u32 src, u32 tar, u32 *ratio, u32 *shift) | |||
231 | 231 | ||
232 | int fimc_set_scaler_info(struct fimc_ctx *ctx) | 232 | int fimc_set_scaler_info(struct fimc_ctx *ctx) |
233 | { | 233 | { |
234 | struct samsung_fimc_variant *variant = ctx->fimc_dev->variant; | 234 | struct fimc_variant *variant = ctx->fimc_dev->variant; |
235 | struct device *dev = &ctx->fimc_dev->pdev->dev; | 235 | struct device *dev = &ctx->fimc_dev->pdev->dev; |
236 | struct fimc_scaler *sc = &ctx->scaler; | 236 | struct fimc_scaler *sc = &ctx->scaler; |
237 | struct fimc_frame *s_frame = &ctx->s_frame; | 237 | struct fimc_frame *s_frame = &ctx->s_frame; |
@@ -430,7 +430,7 @@ void fimc_set_yuv_order(struct fimc_ctx *ctx) | |||
430 | 430 | ||
431 | void fimc_prepare_dma_offset(struct fimc_ctx *ctx, struct fimc_frame *f) | 431 | void fimc_prepare_dma_offset(struct fimc_ctx *ctx, struct fimc_frame *f) |
432 | { | 432 | { |
433 | struct samsung_fimc_variant *variant = ctx->fimc_dev->variant; | 433 | struct fimc_variant *variant = ctx->fimc_dev->variant; |
434 | u32 i, depth = 0; | 434 | u32 i, depth = 0; |
435 | 435 | ||
436 | for (i = 0; i < f->fmt->colplanes; i++) | 436 | for (i = 0; i < f->fmt->colplanes; i++) |
@@ -472,7 +472,7 @@ void fimc_prepare_dma_offset(struct fimc_ctx *ctx, struct fimc_frame *f) | |||
472 | static int __fimc_s_ctrl(struct fimc_ctx *ctx, struct v4l2_ctrl *ctrl) | 472 | static int __fimc_s_ctrl(struct fimc_ctx *ctx, struct v4l2_ctrl *ctrl) |
473 | { | 473 | { |
474 | struct fimc_dev *fimc = ctx->fimc_dev; | 474 | struct fimc_dev *fimc = ctx->fimc_dev; |
475 | struct samsung_fimc_variant *variant = fimc->variant; | 475 | struct fimc_variant *variant = fimc->variant; |
476 | unsigned int flags = FIMC_DST_FMT | FIMC_SRC_FMT; | 476 | unsigned int flags = FIMC_DST_FMT | FIMC_SRC_FMT; |
477 | int ret = 0; | 477 | int ret = 0; |
478 | 478 | ||
@@ -532,7 +532,7 @@ static const struct v4l2_ctrl_ops fimc_ctrl_ops = { | |||
532 | 532 | ||
533 | int fimc_ctrls_create(struct fimc_ctx *ctx) | 533 | int fimc_ctrls_create(struct fimc_ctx *ctx) |
534 | { | 534 | { |
535 | struct samsung_fimc_variant *variant = ctx->fimc_dev->variant; | 535 | struct fimc_variant *variant = ctx->fimc_dev->variant; |
536 | unsigned int max_alpha = fimc_get_alpha_mask(ctx->d_frame.fmt); | 536 | unsigned int max_alpha = fimc_get_alpha_mask(ctx->d_frame.fmt); |
537 | 537 | ||
538 | if (ctx->ctrls_rdy) | 538 | if (ctx->ctrls_rdy) |
@@ -794,15 +794,12 @@ static int fimc_m2m_resume(struct fimc_dev *fimc) | |||
794 | 794 | ||
795 | static int fimc_probe(struct platform_device *pdev) | 795 | static int fimc_probe(struct platform_device *pdev) |
796 | { | 796 | { |
797 | struct fimc_drvdata *drv_data = fimc_get_drvdata(pdev); | ||
798 | struct s5p_platform_fimc *pdata; | ||
797 | struct fimc_dev *fimc; | 799 | struct fimc_dev *fimc; |
798 | struct resource *res; | 800 | struct resource *res; |
799 | struct samsung_fimc_driverdata *drv_data; | ||
800 | struct s5p_platform_fimc *pdata; | ||
801 | int ret = 0; | 801 | int ret = 0; |
802 | 802 | ||
803 | drv_data = (struct samsung_fimc_driverdata *) | ||
804 | platform_get_device_id(pdev)->driver_data; | ||
805 | |||
806 | if (pdev->id >= drv_data->num_entities) { | 803 | if (pdev->id >= drv_data->num_entities) { |
807 | dev_err(&pdev->dev, "Invalid platform device id: %d\n", | 804 | dev_err(&pdev->dev, "Invalid platform device id: %d\n", |
808 | pdev->id); | 805 | pdev->id); |
@@ -1004,7 +1001,7 @@ static struct fimc_pix_limit s5p_pix_limit[4] = { | |||
1004 | }, | 1001 | }, |
1005 | }; | 1002 | }; |
1006 | 1003 | ||
1007 | static struct samsung_fimc_variant fimc0_variant_s5p = { | 1004 | static struct fimc_variant fimc0_variant_s5p = { |
1008 | .has_inp_rot = 1, | 1005 | .has_inp_rot = 1, |
1009 | .has_out_rot = 1, | 1006 | .has_out_rot = 1, |
1010 | .has_cam_if = 1, | 1007 | .has_cam_if = 1, |
@@ -1016,17 +1013,17 @@ static struct samsung_fimc_variant fimc0_variant_s5p = { | |||
1016 | .pix_limit = &s5p_pix_limit[0], | 1013 | .pix_limit = &s5p_pix_limit[0], |
1017 | }; | 1014 | }; |
1018 | 1015 | ||
1019 | static struct samsung_fimc_variant fimc2_variant_s5p = { | 1016 | static struct fimc_variant fimc2_variant_s5p = { |
1020 | .has_cam_if = 1, | 1017 | .has_cam_if = 1, |
1021 | .min_inp_pixsize = 16, | 1018 | .min_inp_pixsize = 16, |
1022 | .min_out_pixsize = 16, | 1019 | .min_out_pixsize = 16, |
1023 | .hor_offs_align = 8, | 1020 | .hor_offs_align = 8, |
1024 | .min_vsize_align = 16, | 1021 | .min_vsize_align = 16, |
1025 | .out_buf_count = 4, | 1022 | .out_buf_count = 4, |
1026 | .pix_limit = &s5p_pix_limit[1], | 1023 | .pix_limit = &s5p_pix_limit[1], |
1027 | }; | 1024 | }; |
1028 | 1025 | ||
1029 | static struct samsung_fimc_variant fimc0_variant_s5pv210 = { | 1026 | static struct fimc_variant fimc0_variant_s5pv210 = { |
1030 | .pix_hoff = 1, | 1027 | .pix_hoff = 1, |
1031 | .has_inp_rot = 1, | 1028 | .has_inp_rot = 1, |
1032 | .has_out_rot = 1, | 1029 | .has_out_rot = 1, |
@@ -1039,7 +1036,7 @@ static struct samsung_fimc_variant fimc0_variant_s5pv210 = { | |||
1039 | .pix_limit = &s5p_pix_limit[1], | 1036 | .pix_limit = &s5p_pix_limit[1], |
1040 | }; | 1037 | }; |
1041 | 1038 | ||
1042 | static struct samsung_fimc_variant fimc1_variant_s5pv210 = { | 1039 | static struct fimc_variant fimc1_variant_s5pv210 = { |
1043 | .pix_hoff = 1, | 1040 | .pix_hoff = 1, |
1044 | .has_inp_rot = 1, | 1041 | .has_inp_rot = 1, |
1045 | .has_out_rot = 1, | 1042 | .has_out_rot = 1, |
@@ -1053,7 +1050,7 @@ static struct samsung_fimc_variant fimc1_variant_s5pv210 = { | |||
1053 | .pix_limit = &s5p_pix_limit[2], | 1050 | .pix_limit = &s5p_pix_limit[2], |
1054 | }; | 1051 | }; |
1055 | 1052 | ||
1056 | static struct samsung_fimc_variant fimc2_variant_s5pv210 = { | 1053 | static struct fimc_variant fimc2_variant_s5pv210 = { |
1057 | .has_cam_if = 1, | 1054 | .has_cam_if = 1, |
1058 | .pix_hoff = 1, | 1055 | .pix_hoff = 1, |
1059 | .min_inp_pixsize = 16, | 1056 | .min_inp_pixsize = 16, |
@@ -1064,7 +1061,7 @@ static struct samsung_fimc_variant fimc2_variant_s5pv210 = { | |||
1064 | .pix_limit = &s5p_pix_limit[2], | 1061 | .pix_limit = &s5p_pix_limit[2], |
1065 | }; | 1062 | }; |
1066 | 1063 | ||
1067 | static struct samsung_fimc_variant fimc0_variant_exynos4 = { | 1064 | static struct fimc_variant fimc0_variant_exynos4 = { |
1068 | .pix_hoff = 1, | 1065 | .pix_hoff = 1, |
1069 | .has_inp_rot = 1, | 1066 | .has_inp_rot = 1, |
1070 | .has_out_rot = 1, | 1067 | .has_out_rot = 1, |
@@ -1080,7 +1077,7 @@ static struct samsung_fimc_variant fimc0_variant_exynos4 = { | |||
1080 | .pix_limit = &s5p_pix_limit[1], | 1077 | .pix_limit = &s5p_pix_limit[1], |
1081 | }; | 1078 | }; |
1082 | 1079 | ||
1083 | static struct samsung_fimc_variant fimc3_variant_exynos4 = { | 1080 | static struct fimc_variant fimc3_variant_exynos4 = { |
1084 | .pix_hoff = 1, | 1081 | .pix_hoff = 1, |
1085 | .has_cam_if = 1, | 1082 | .has_cam_if = 1, |
1086 | .has_cistatus2 = 1, | 1083 | .has_cistatus2 = 1, |
@@ -1095,7 +1092,7 @@ static struct samsung_fimc_variant fimc3_variant_exynos4 = { | |||
1095 | }; | 1092 | }; |
1096 | 1093 | ||
1097 | /* S5PC100 */ | 1094 | /* S5PC100 */ |
1098 | static struct samsung_fimc_driverdata fimc_drvdata_s5p = { | 1095 | static struct fimc_drvdata fimc_drvdata_s5p = { |
1099 | .variant = { | 1096 | .variant = { |
1100 | [0] = &fimc0_variant_s5p, | 1097 | [0] = &fimc0_variant_s5p, |
1101 | [1] = &fimc0_variant_s5p, | 1098 | [1] = &fimc0_variant_s5p, |
@@ -1106,7 +1103,7 @@ static struct samsung_fimc_driverdata fimc_drvdata_s5p = { | |||
1106 | }; | 1103 | }; |
1107 | 1104 | ||
1108 | /* S5PV210, S5PC110 */ | 1105 | /* S5PV210, S5PC110 */ |
1109 | static struct samsung_fimc_driverdata fimc_drvdata_s5pv210 = { | 1106 | static struct fimc_drvdata fimc_drvdata_s5pv210 = { |
1110 | .variant = { | 1107 | .variant = { |
1111 | [0] = &fimc0_variant_s5pv210, | 1108 | [0] = &fimc0_variant_s5pv210, |
1112 | [1] = &fimc1_variant_s5pv210, | 1109 | [1] = &fimc1_variant_s5pv210, |
@@ -1116,8 +1113,8 @@ static struct samsung_fimc_driverdata fimc_drvdata_s5pv210 = { | |||
1116 | .lclk_frequency = 166000000UL, | 1113 | .lclk_frequency = 166000000UL, |
1117 | }; | 1114 | }; |
1118 | 1115 | ||
1119 | /* S5PV310, S5PC210 */ | 1116 | /* EXYNOS4210, S5PV310, S5PC210 */ |
1120 | static struct samsung_fimc_driverdata fimc_drvdata_exynos4 = { | 1117 | static struct fimc_drvdata fimc_drvdata_exynos4 = { |
1121 | .variant = { | 1118 | .variant = { |
1122 | [0] = &fimc0_variant_exynos4, | 1119 | [0] = &fimc0_variant_exynos4, |
1123 | [1] = &fimc0_variant_exynos4, | 1120 | [1] = &fimc0_variant_exynos4, |
diff --git a/drivers/media/video/s5p-fimc/fimc-core.h b/drivers/media/video/s5p-fimc/fimc-core.h index fbb651cc6a96..97a25d2fac58 100644 --- a/drivers/media/video/s5p-fimc/fimc-core.h +++ b/drivers/media/video/s5p-fimc/fimc-core.h | |||
@@ -360,8 +360,7 @@ struct fimc_pix_limit { | |||
360 | }; | 360 | }; |
361 | 361 | ||
362 | /** | 362 | /** |
363 | * struct samsung_fimc_variant - camera interface variant information | 363 | * struct fimc_variant - FIMC device variant information |
364 | * | ||
365 | * @pix_hoff: indicate whether horizontal offset is in pixels or in bytes | 364 | * @pix_hoff: indicate whether horizontal offset is in pixels or in bytes |
366 | * @has_inp_rot: set if has input rotator | 365 | * @has_inp_rot: set if has input rotator |
367 | * @has_out_rot: set if has output rotator | 366 | * @has_out_rot: set if has output rotator |
@@ -376,7 +375,7 @@ struct fimc_pix_limit { | |||
376 | * @min_vsize_align: minimum vertical pixel size alignment | 375 | * @min_vsize_align: minimum vertical pixel size alignment |
377 | * @out_buf_count: the number of buffers in output DMA sequence | 376 | * @out_buf_count: the number of buffers in output DMA sequence |
378 | */ | 377 | */ |
379 | struct samsung_fimc_variant { | 378 | struct fimc_variant { |
380 | unsigned int pix_hoff:1; | 379 | unsigned int pix_hoff:1; |
381 | unsigned int has_inp_rot:1; | 380 | unsigned int has_inp_rot:1; |
382 | unsigned int has_out_rot:1; | 381 | unsigned int has_out_rot:1; |
@@ -393,18 +392,19 @@ struct samsung_fimc_variant { | |||
393 | }; | 392 | }; |
394 | 393 | ||
395 | /** | 394 | /** |
396 | * struct samsung_fimc_driverdata - per device type driver data for init time. | 395 | * struct fimc_drvdata - per device type driver data |
397 | * | 396 | * @variant: variant information for this device |
398 | * @variant: the variant information for this driver. | 397 | * @num_entities: number of fimc instances available in a SoC |
399 | * @dev_cnt: number of fimc sub-devices available in SoC | 398 | * @lclk_frequency: local bus clock frequency |
400 | * @lclk_frequency: fimc bus clock frequency | ||
401 | */ | 399 | */ |
402 | struct samsung_fimc_driverdata { | 400 | struct fimc_drvdata { |
403 | struct samsung_fimc_variant *variant[FIMC_MAX_DEVS]; | 401 | struct fimc_variant *variant[FIMC_MAX_DEVS]; |
404 | unsigned long lclk_frequency; | 402 | int num_entities; |
405 | int num_entities; | 403 | unsigned long lclk_frequency; |
406 | }; | 404 | }; |
407 | 405 | ||
406 | #define fimc_get_drvdata(_pdev) \ | ||
407 | ((struct fimc_drvdata *) platform_get_device_id(_pdev)->driver_data) | ||
408 | 408 | ||
409 | struct fimc_ctx; | 409 | struct fimc_ctx; |
410 | 410 | ||
@@ -431,7 +431,7 @@ struct fimc_dev { | |||
431 | struct mutex lock; | 431 | struct mutex lock; |
432 | struct platform_device *pdev; | 432 | struct platform_device *pdev; |
433 | struct s5p_platform_fimc *pdata; | 433 | struct s5p_platform_fimc *pdata; |
434 | struct samsung_fimc_variant *variant; | 434 | struct fimc_variant *variant; |
435 | u16 id; | 435 | u16 id; |
436 | struct clk *clock[MAX_FIMC_CLOCKS]; | 436 | struct clk *clock[MAX_FIMC_CLOCKS]; |
437 | void __iomem *regs; | 437 | void __iomem *regs; |
diff --git a/drivers/media/video/s5p-fimc/fimc-m2m.c b/drivers/media/video/s5p-fimc/fimc-m2m.c index 60bbab157c24..3de22b0db66f 100644 --- a/drivers/media/video/s5p-fimc/fimc-m2m.c +++ b/drivers/media/video/s5p-fimc/fimc-m2m.c | |||
@@ -295,7 +295,7 @@ static int fimc_m2m_g_fmt_mplane(struct file *file, void *fh, | |||
295 | static int fimc_try_fmt_mplane(struct fimc_ctx *ctx, struct v4l2_format *f) | 295 | static int fimc_try_fmt_mplane(struct fimc_ctx *ctx, struct v4l2_format *f) |
296 | { | 296 | { |
297 | struct fimc_dev *fimc = ctx->fimc_dev; | 297 | struct fimc_dev *fimc = ctx->fimc_dev; |
298 | struct samsung_fimc_variant *variant = fimc->variant; | 298 | struct fimc_variant *variant = fimc->variant; |
299 | struct v4l2_pix_format_mplane *pix = &f->fmt.pix_mp; | 299 | struct v4l2_pix_format_mplane *pix = &f->fmt.pix_mp; |
300 | struct fimc_fmt *fmt; | 300 | struct fimc_fmt *fmt; |
301 | u32 max_w, mod_x, mod_y; | 301 | u32 max_w, mod_x, mod_y; |
diff --git a/drivers/media/video/s5p-fimc/fimc-reg.c b/drivers/media/video/s5p-fimc/fimc-reg.c index 5b1adde5a57a..382981788c43 100644 --- a/drivers/media/video/s5p-fimc/fimc-reg.c +++ b/drivers/media/video/s5p-fimc/fimc-reg.c | |||
@@ -313,7 +313,7 @@ static void fimc_hw_set_scaler(struct fimc_ctx *ctx) | |||
313 | void fimc_hw_set_mainscaler(struct fimc_ctx *ctx) | 313 | void fimc_hw_set_mainscaler(struct fimc_ctx *ctx) |
314 | { | 314 | { |
315 | struct fimc_dev *dev = ctx->fimc_dev; | 315 | struct fimc_dev *dev = ctx->fimc_dev; |
316 | struct samsung_fimc_variant *variant = dev->variant; | 316 | struct fimc_variant *variant = dev->variant; |
317 | struct fimc_scaler *sc = &ctx->scaler; | 317 | struct fimc_scaler *sc = &ctx->scaler; |
318 | u32 cfg; | 318 | u32 cfg; |
319 | 319 | ||