diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2012-10-22 08:57:25 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2012-11-05 04:14:04 -0500 |
commit | 046bc5751d70c9d5356d725e3e16987ed98eb7c8 (patch) | |
tree | 21681d4146a35a23d77393b21d55943a7e494355 /drivers/video | |
parent | 9296dbd79efb3a754f06d71510cc47af7eff0bee (diff) |
OMAPDSS: fix DPI & DSI init order
DPI may use DSI PLL, so it depends on DSI. However, currently DPI driver
is added first, which causes DPI initialization to fail when it tries to
get the DSI PLL.
This patch changes the init order to fix this.
A better solution would be to separate DSI PLL and DSI drivers. They
have dependencies, though, but we could still have DSI PLL as an
independent entity that we could initialize before any of the output
drivers.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/omap2/dss/core.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/video/omap2/dss/core.c b/drivers/video/omap2/dss/core.c index a2ea684169e..b1a9ce1188f 100644 --- a/drivers/video/omap2/dss/core.c +++ b/drivers/video/omap2/dss/core.c | |||
@@ -510,6 +510,9 @@ static int __init omap_dss_bus_register(void) | |||
510 | 510 | ||
511 | /* INIT */ | 511 | /* INIT */ |
512 | static int (*dss_output_drv_reg_funcs[])(void) __initdata = { | 512 | static int (*dss_output_drv_reg_funcs[])(void) __initdata = { |
513 | #ifdef CONFIG_OMAP2_DSS_DSI | ||
514 | dsi_init_platform_driver, | ||
515 | #endif | ||
513 | #ifdef CONFIG_OMAP2_DSS_DPI | 516 | #ifdef CONFIG_OMAP2_DSS_DPI |
514 | dpi_init_platform_driver, | 517 | dpi_init_platform_driver, |
515 | #endif | 518 | #endif |
@@ -522,15 +525,15 @@ static int (*dss_output_drv_reg_funcs[])(void) __initdata = { | |||
522 | #ifdef CONFIG_OMAP2_DSS_VENC | 525 | #ifdef CONFIG_OMAP2_DSS_VENC |
523 | venc_init_platform_driver, | 526 | venc_init_platform_driver, |
524 | #endif | 527 | #endif |
525 | #ifdef CONFIG_OMAP2_DSS_DSI | ||
526 | dsi_init_platform_driver, | ||
527 | #endif | ||
528 | #ifdef CONFIG_OMAP4_DSS_HDMI | 528 | #ifdef CONFIG_OMAP4_DSS_HDMI |
529 | hdmi_init_platform_driver, | 529 | hdmi_init_platform_driver, |
530 | #endif | 530 | #endif |
531 | }; | 531 | }; |
532 | 532 | ||
533 | static void (*dss_output_drv_unreg_funcs[])(void) __exitdata = { | 533 | static void (*dss_output_drv_unreg_funcs[])(void) __exitdata = { |
534 | #ifdef CONFIG_OMAP2_DSS_DSI | ||
535 | dsi_uninit_platform_driver, | ||
536 | #endif | ||
534 | #ifdef CONFIG_OMAP2_DSS_DPI | 537 | #ifdef CONFIG_OMAP2_DSS_DPI |
535 | dpi_uninit_platform_driver, | 538 | dpi_uninit_platform_driver, |
536 | #endif | 539 | #endif |
@@ -543,9 +546,6 @@ static void (*dss_output_drv_unreg_funcs[])(void) __exitdata = { | |||
543 | #ifdef CONFIG_OMAP2_DSS_VENC | 546 | #ifdef CONFIG_OMAP2_DSS_VENC |
544 | venc_uninit_platform_driver, | 547 | venc_uninit_platform_driver, |
545 | #endif | 548 | #endif |
546 | #ifdef CONFIG_OMAP2_DSS_DSI | ||
547 | dsi_uninit_platform_driver, | ||
548 | #endif | ||
549 | #ifdef CONFIG_OMAP4_DSS_HDMI | 549 | #ifdef CONFIG_OMAP4_DSS_HDMI |
550 | hdmi_uninit_platform_driver, | 550 | hdmi_uninit_platform_driver, |
551 | #endif | 551 | #endif |