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>
This commit is contained in:
Simon Glass 2016-02-21 21:08:46 -07:00 committed by Minkyu Kang
parent b04135c998
commit 652d15c06e
4 changed files with 9 additions and 18 deletions

View file

@ -347,9 +347,10 @@ struct mipi_dsim_lcd_driver {
};
#ifdef CONFIG_EXYNOS_MIPI_DSIM
int exynos_mipi_dsi_init(void);
int exynos_mipi_dsi_init(struct exynos_platform_mipi_dsim *dsim_pd);
#else
static inline int exynos_mipi_dsi_init(void)
static inline int exynos_mipi_dsi_init(
struct exynos_platform_mipi_dsim *dsim_pd)
{
return 0;
}

View file

@ -128,7 +128,7 @@ static void lcd_panel_on(struct vidinfo *vid)
exynos_enable_ldo(1);
if (vid->mipi_enabled)
exynos_mipi_dsi_init();
exynos_mipi_dsi_init(panel_info.dsim_platform_data_dt);
}
int exynos_lcd_early_init(const void *blob)

View file

@ -27,8 +27,6 @@
DECLARE_GLOBAL_DATA_PTR;
static struct exynos_platform_mipi_dsim *dsim_pd;
static struct exynos_platform_mipi_dsim dsim_platform_data_dt;
static struct mipi_dsim_lcd_device mipi_lcd_device_dt;
struct mipi_dsim_ddi {
@ -175,7 +173,7 @@ static struct mipi_dsim_master_ops master_ops = {
.clear_dsim_frame_done = exynos_mipi_dsi_clear_frame_done,
};
int exynos_mipi_dsi_init(void)
int exynos_mipi_dsi_init(struct exynos_platform_mipi_dsim *dsim_pd)
{
struct mipi_dsim_device *dsim;
struct mipi_dsim_config *dsim_config;
@ -236,16 +234,6 @@ int exynos_mipi_dsi_init(void)
return 0;
}
void exynos_set_dsim_platform_data(struct exynos_platform_mipi_dsim *pd)
{
if (pd == NULL) {
debug("pd is NULL\n");
return;
}
dsim_pd = pd;
}
int exynos_dsim_config_parse_dt(const void *blob, struct mipi_dsim_config *dt)
{
int node;
@ -316,7 +304,8 @@ int exynos_dsim_config_parse_dt(const void *blob, struct mipi_dsim_config *dt)
void exynos_init_dsim_platform_data(vidinfo_t *vid)
{
struct mipi_dsim_config dsim_config_dt;
static struct mipi_dsim_config dsim_config_dt;
static struct exynos_platform_mipi_dsim dsim_platform_data_dt;
if (exynos_dsim_config_parse_dt(gd->fdt_blob, &dsim_config_dt))
debug("Can't get proper dsim config.\n");
@ -330,5 +319,5 @@ void exynos_init_dsim_platform_data(vidinfo_t *vid)
mipi_lcd_device_dt.platform_data = (void *)&dsim_platform_data_dt;
exynos_mipi_dsi_register_lcd_device(&mipi_lcd_device_dt);
dsim_pd = &dsim_platform_data_dt;
vid->dsim_platform_data_dt = &dsim_platform_data_dt;
}

View file

@ -76,6 +76,7 @@ typedef struct vidinfo {
unsigned int dual_lcd_enabled;
struct exynos_fb *fimd_ctrl;
struct exynos_platform_mipi_dsim *dsim_platform_data_dt;
} vidinfo_t;
#endif