Commit 652d15c06e65ea910bada28925b37483b2a1a0d6

Authored by Simon Glass
Committed by Minkyu Kang
1 parent b04135c998

exynos: video: Move struct exynos_platform_mipi_dsim into vidinfo

Put the pointer to this structure in struct vidinfo so that we can
reference it without it being global.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>

Showing 4 changed files with 9 additions and 18 deletions Side-by-side Diff

arch/arm/mach-exynos/include/mach/mipi_dsim.h
... ... @@ -347,9 +347,10 @@
347 347 };
348 348  
349 349 #ifdef CONFIG_EXYNOS_MIPI_DSIM
350   -int exynos_mipi_dsi_init(void);
  350 +int exynos_mipi_dsi_init(struct exynos_platform_mipi_dsim *dsim_pd);
351 351 #else
352   -static inline int exynos_mipi_dsi_init(void)
  352 +static inline int exynos_mipi_dsi_init(
  353 + struct exynos_platform_mipi_dsim *dsim_pd)
353 354 {
354 355 return 0;
355 356 }
drivers/video/exynos/exynos_fb.c
... ... @@ -128,7 +128,7 @@
128 128 exynos_enable_ldo(1);
129 129  
130 130 if (vid->mipi_enabled)
131   - exynos_mipi_dsi_init();
  131 + exynos_mipi_dsi_init(panel_info.dsim_platform_data_dt);
132 132 }
133 133  
134 134 int exynos_lcd_early_init(const void *blob)
drivers/video/exynos/exynos_mipi_dsi.c
... ... @@ -27,8 +27,6 @@
27 27  
28 28 DECLARE_GLOBAL_DATA_PTR;
29 29  
30   -static struct exynos_platform_mipi_dsim *dsim_pd;
31   -static struct exynos_platform_mipi_dsim dsim_platform_data_dt;
32 30 static struct mipi_dsim_lcd_device mipi_lcd_device_dt;
33 31  
34 32 struct mipi_dsim_ddi {
... ... @@ -175,7 +173,7 @@
175 173 .clear_dsim_frame_done = exynos_mipi_dsi_clear_frame_done,
176 174 };
177 175  
178   -int exynos_mipi_dsi_init(void)
  176 +int exynos_mipi_dsi_init(struct exynos_platform_mipi_dsim *dsim_pd)
179 177 {
180 178 struct mipi_dsim_device *dsim;
181 179 struct mipi_dsim_config *dsim_config;
... ... @@ -236,16 +234,6 @@
236 234 return 0;
237 235 }
238 236  
239   -void exynos_set_dsim_platform_data(struct exynos_platform_mipi_dsim *pd)
240   -{
241   - if (pd == NULL) {
242   - debug("pd is NULL\n");
243   - return;
244   - }
245   -
246   - dsim_pd = pd;
247   -}
248   -
249 237 int exynos_dsim_config_parse_dt(const void *blob, struct mipi_dsim_config *dt)
250 238 {
251 239 int node;
... ... @@ -316,7 +304,8 @@
316 304  
317 305 void exynos_init_dsim_platform_data(vidinfo_t *vid)
318 306 {
319   - struct mipi_dsim_config dsim_config_dt;
  307 + static struct mipi_dsim_config dsim_config_dt;
  308 + static struct exynos_platform_mipi_dsim dsim_platform_data_dt;
320 309  
321 310 if (exynos_dsim_config_parse_dt(gd->fdt_blob, &dsim_config_dt))
322 311 debug("Can't get proper dsim config.\n");
... ... @@ -330,6 +319,6 @@
330 319 mipi_lcd_device_dt.platform_data = (void *)&dsim_platform_data_dt;
331 320 exynos_mipi_dsi_register_lcd_device(&mipi_lcd_device_dt);
332 321  
333   - dsim_pd = &dsim_platform_data_dt;
  322 + vid->dsim_platform_data_dt = &dsim_platform_data_dt;
334 323 }
include/exynos_lcd.h
... ... @@ -76,6 +76,7 @@
76 76  
77 77 unsigned int dual_lcd_enabled;
78 78 struct exynos_fb *fimd_ctrl;
  79 + struct exynos_platform_mipi_dsim *dsim_platform_data_dt;
79 80 } vidinfo_t;
80 81  
81 82 #endif