summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2016-01-18 19:52:23 -0700
committerSimon Glass <sjg@chromium.org>2016-01-20 19:10:15 -0700
commite3b81c1c0dbd677338163517ed22a1b6f5cb4e07 (patch)
treed9d5e9f873817e99fcfeb415692a86cee26f1960
parentb01c7923e3923680d9389bcd7cf5ad2e5f083e30 (diff)
dm: stdio: video: Plumb the video uclass into stdio
Register video drivers with stdio so that they can be used for text output. This needs to be done explicitly for now. At some point we should be able to convert stdio itself to driver model and avoid this step. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Anatolij Gustschin <agust@denx.de>
-rw-r--r--common/stdio.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/common/stdio.c b/common/stdio.c
index 8311ac768c..7252bab1f6 100644
--- a/common/stdio.c
+++ b/common/stdio.c
@@ -281,12 +281,23 @@ int stdio_add_devices(void)
i2c_init (CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
#endif
#endif
-#ifdef CONFIG_LCD
+#ifdef CONFIG_DM_VIDEO
+ struct udevice *vdev;
+
+ for (ret = uclass_first_device(UCLASS_VIDEO, &vdev);
+ vdev;
+ ret = uclass_next_device(&vdev))
+ ;
+ if (ret)
+ printf("%s: Video device failed (ret=%d)\n", __func__, ret);
+#else
+# if defined(CONFIG_LCD)
drv_lcd_init ();
-#endif
-#if defined(CONFIG_VIDEO) || defined(CONFIG_CFB_CONSOLE)
+# endif
+# if defined(CONFIG_VIDEO) || defined(CONFIG_CFB_CONSOLE)
drv_video_init ();
-#endif
+# endif
+#endif /* CONFIG_DM_VIDEO */
#if defined(CONFIG_KEYBOARD) && !defined(CONFIG_DM_KEYBOARD)
drv_keyboard_init ();
#endif