[PATCH v2 1/8] moveconfig: Skip binary and ELF files

classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH v2 1/8] moveconfig: Skip binary and ELF files

Simon Glass-3
Add a few more file extensions to the list of files that should not be
processed. This avoids unicode errors, for example.

Signed-off-by: Simon Glass <[hidden email]>
---

(no changes since v1)

 tools/moveconfig.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/moveconfig.py b/tools/moveconfig.py
index 36361f9ed1b..9514d9a00cb 100755
--- a/tools/moveconfig.py
+++ b/tools/moveconfig.py
@@ -666,7 +666,8 @@ def cleanup_headers(configs, options):
             if dirpath == os.path.join('include', 'generated'):
                 continue
             for filename in filenames:
-                if not filename.endswith(('~', '.dts', '.dtsi')):
+                if not filename.endswith(('~', '.dts', '.dtsi', '.bin',
+                                          '.elf')):
                     header_path = os.path.join(dirpath, filename)
                     # This file contains UTF-16 data and no CONFIG symbols
                     if header_path == 'include/video_font_data.h':
--
2.28.0.236.gb10cc79966-goog

Reply | Threaded
Open this post in threaded view
|

[PATCH v2 2/8] Convert CONFIG_SPLASH_SCREEN et al to Kconfig

Simon Glass-3
This converts the following to Kconfig:
   CONFIG_SPLASH_SCREEN
   CONFIG_SPLASH_SCREEN_ALIGN
   CONFIG_SPLASHIMAGE_GUARD
   CONFIG_SPLASH_SOURCE

Signed-off-by: Simon Glass <[hidden email]>
---

(no changes since v1)

 README                                  | 42 ------------
 configs/apalis_imx6_defconfig           |  2 +
 configs/aristainetos2_defconfig         |  2 +
 configs/aristainetos2b_defconfig        |  2 +
 configs/aristainetos2bcsl_defconfig     |  2 +
 configs/aristainetos2c_defconfig        |  2 +
 configs/cgtqmx6eval_defconfig           |  2 +
 configs/cm_fx6_defconfig                |  2 +
 configs/colibri-imx6ull_defconfig       |  2 +
 configs/colibri_imx6_defconfig          |  2 +
 configs/colibri_imx7_defconfig          |  2 +
 configs/colibri_imx7_emmc_defconfig     |  2 +
 configs/colibri_vf_defconfig            |  1 +
 configs/dms-ba16-1g_defconfig           |  2 +
 configs/dms-ba16_defconfig              |  2 +
 configs/eb_cpu5282_defconfig            |  1 +
 configs/eb_cpu5282_internal_defconfig   |  1 +
 configs/gwventana_emmc_defconfig        |  1 +
 configs/gwventana_gw5904_defconfig      |  1 +
 configs/gwventana_nand_defconfig        |  1 +
 configs/imx6dl_icore_nand_defconfig     |  2 +
 configs/imx6q_icore_nand_defconfig      |  2 +
 configs/imx6qdl_icore_mmc_defconfig     |  2 +
 configs/imx6qdl_icore_nand_defconfig    |  2 +
 configs/imxrt1050-evk_defconfig         |  2 +
 configs/khadas-vim3_defconfig           |  2 +
 configs/khadas-vim3l_defconfig          |  2 +
 configs/libretech-ac_defconfig          |  2 +
 configs/libretech-cc_defconfig          |  2 +
 configs/libretech-s905d-pc_defconfig    |  2 +
 configs/libretech-s912-pc_defconfig     |  2 +
 configs/m53menlo_defconfig              |  4 ++
 configs/marsboard_defconfig             |  2 +
 configs/mx23evk_defconfig               |  1 +
 configs/mx28evk_auart_console_defconfig |  1 +
 configs/mx28evk_defconfig               |  1 +
 configs/mx28evk_nand_defconfig          |  1 +
 configs/mx28evk_spi_defconfig           |  1 +
 configs/mx51evk_defconfig               |  1 +
 configs/mx53loco_defconfig              |  1 +
 configs/mx6cuboxi_defconfig             |  2 +
 configs/mx6qsabrelite_defconfig         |  2 +
 configs/mx6sabreauto_defconfig          |  2 +
 configs/mx6sabresd_defconfig            |  2 +
 configs/mx6sxsabresd_defconfig          |  2 +
 configs/mx6ul_14x14_evk_defconfig       |  2 +
 configs/mx6ul_9x9_evk_defconfig         |  2 +
 configs/mx7dsabresd_defconfig           |  2 +
 configs/mx7dsabresd_qspi_defconfig      |  2 +
 configs/nitrogen6dl2g_defconfig         |  2 +
 configs/nitrogen6dl_defconfig           |  2 +
 configs/nitrogen6q2g_defconfig          |  2 +
 configs/nitrogen6q_defconfig            |  2 +
 configs/nitrogen6s1g_defconfig          |  2 +
 configs/nitrogen6s_defconfig            |  2 +
 configs/nokia_rx51_defconfig            |  1 +
 configs/novena_defconfig                |  1 +
 configs/odroid-c2_defconfig             |  2 +
 configs/odroid-c4_defconfig             |  2 +
 configs/opos6uldev_defconfig            |  3 +
 configs/pico-dwarf-imx6ul_defconfig     |  2 +
 configs/pico-dwarf-imx7d_defconfig      |  2 +
 configs/pico-hobbit-imx6ul_defconfig    |  2 +
 configs/pico-hobbit-imx7d_defconfig     |  2 +
 configs/pico-imx6_defconfig             |  2 +
 configs/pico-imx6ul_defconfig           |  2 +
 configs/pico-imx7d_bl33_defconfig       |  2 +
 configs/pico-imx7d_defconfig            |  2 +
 configs/pico-nymph-imx7d_defconfig      |  2 +
 configs/pico-pi-imx6ul_defconfig        |  2 +
 configs/pico-pi-imx7d_defconfig         |  2 +
 configs/pxm2_defconfig                  |  2 +
 configs/riotboard_defconfig             |  2 +
 configs/riotboard_spl_defconfig         |  2 +
 configs/rut_defconfig                   |  2 +
 configs/s5p4418_nanopi2_defconfig       |  3 +
 configs/sandbox64_defconfig             |  1 +
 configs/sandbox_defconfig               |  1 +
 configs/sandbox_flattree_defconfig      |  1 +
 configs/sandbox_spl_defconfig           |  1 +
 configs/sei510_defconfig                |  2 +
 configs/sei610_defconfig                |  2 +
 configs/stm32f746-disco_defconfig       |  2 +
 configs/stm32f769-disco_defconfig       |  2 +
 configs/tools-only_defconfig            |  1 +
 configs/wandboard_defconfig             |  2 +
 drivers/video/Kconfig                   | 85 +++++++++++++++++++++++++
 include/configs/M52277EVB.h             |  1 -
 include/configs/advantech_dms-ba16.h    |  2 -
 include/configs/apalis_imx6.h           |  2 -
 include/configs/aristainetos2.h         |  2 -
 include/configs/cgtqmx6eval.h           |  2 -
 include/configs/cm_fx6.h                |  2 -
 include/configs/colibri-imx6ull.h       |  2 -
 include/configs/colibri_imx6.h          |  2 -
 include/configs/colibri_imx7.h          |  2 -
 include/configs/colibri_vf.h            |  1 -
 include/configs/eb_cpu5282.h            |  1 -
 include/configs/embestmx6boards.h       |  2 -
 include/configs/gw_ventana.h            |  1 -
 include/configs/imx6-engicam.h          |  2 -
 include/configs/imxrt1050-evk.h         |  2 -
 include/configs/m53menlo.h              |  4 --
 include/configs/meson64.h               |  2 -
 include/configs/mx23evk.h               |  1 -
 include/configs/mx28evk.h               |  1 -
 include/configs/mx51evk.h               |  1 -
 include/configs/mx53loco.h              |  1 -
 include/configs/mx6cuboxi.h             |  2 -
 include/configs/mx6sabre_common.h       |  2 -
 include/configs/mx6sxsabresd.h          |  2 -
 include/configs/mx6ul_14x14_evk.h       |  2 -
 include/configs/mx7dsabresd.h           |  2 -
 include/configs/nitrogen6x.h            |  2 -
 include/configs/nokia_rx51.h            |  1 -
 include/configs/novena.h                |  1 -
 include/configs/opos6uldev.h            |  3 -
 include/configs/pico-imx6.h             |  2 -
 include/configs/pico-imx6ul.h           |  2 -
 include/configs/pico-imx7d.h            |  2 -
 include/configs/pxm2.h                  |  2 -
 include/configs/rut.h                   |  2 -
 include/configs/s5p4418_nanopi2.h       |  4 --
 include/configs/sandbox.h               |  1 -
 include/configs/stm32f746-disco.h       |  2 -
 include/configs/wandboard.h             |  2 -
 scripts/config_whitelist.txt            |  4 --
 127 files changed, 239 insertions(+), 118 deletions(-)

diff --git a/README b/README
index 121dc4966af..6cb0567ba66 100644
--- a/README
+++ b/README
@@ -1250,48 +1250,6 @@ The following options need to be configured:
  Enables an 'i2c edid' command which can read EDID
  information over I2C from an attached LCD display.
 
-- Splash Screen Support: CONFIG_SPLASH_SCREEN
-
- If this option is set, the environment is checked for
- a variable "splashimage". If found, the usual display
- of logo, copyright and system information on the LCD
- is suppressed and the BMP image at the address
- specified in "splashimage" is loaded instead. The
- console is redirected to the "nulldev", too. This
- allows for a "silent" boot where a splash screen is
- loaded very quickly after power-on.
-
- CONFIG_SPLASHIMAGE_GUARD
-
- If this option is set, then U-Boot will prevent the environment
- variable "splashimage" from being set to a problematic address
- (see doc/README.displaying-bmps).
- This option is useful for targets where, due to alignment
- restrictions, an improperly aligned BMP image will cause a data
- abort. If you think you will not have problems with unaligned
- accesses (for example because your toolchain prevents them)
- there is no need to set this option.
-
- CONFIG_SPLASH_SCREEN_ALIGN
-
- If this option is set the splash image can be freely positioned
- on the screen. Environment variable "splashpos" specifies the
- position as "x,y". If a positive number is given it is used as
- number of pixel from left/top. If a negative number is given it
- is used as number of pixel from right/bottom. You can also
- specify 'm' for centering the image.
-
- Example:
- setenv splashpos m,m
- => image at center of screen
-
- setenv splashpos 30,20
- => image at x = 30 and y = 20
-
- setenv splashpos -10,m
- => vertically centered image
-   at x = dspWidth - bmpWidth - 9
-
 - Gzip compressed BMP image support: CONFIG_VIDEO_BMP_GZIP
 
  If this option is set, additionally to standard BMP
diff --git a/configs/apalis_imx6_defconfig b/configs/apalis_imx6_defconfig
index 22ddbe71ba9..084e36e9296 100644
--- a/configs/apalis_imx6_defconfig
+++ b/configs/apalis_imx6_defconfig
@@ -103,4 +103,6 @@ CONFIG_DM_VIDEO=y
 # CONFIG_VIDEO_BPP32 is not set
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT_OVERLAY=y
diff --git a/configs/aristainetos2_defconfig b/configs/aristainetos2_defconfig
index 18312f921a3..ff309bf0729 100644
--- a/configs/aristainetos2_defconfig
+++ b/configs/aristainetos2_defconfig
@@ -111,5 +111,7 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_DISPLAY=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_IMX_WATCHDOG=y
 # CONFIG_EFI_LOADER is not set
diff --git a/configs/aristainetos2b_defconfig b/configs/aristainetos2b_defconfig
index 82280bc0005..f72323b069e 100644
--- a/configs/aristainetos2b_defconfig
+++ b/configs/aristainetos2b_defconfig
@@ -105,5 +105,7 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_DISPLAY=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_IMX_WATCHDOG=y
 # CONFIG_EFI_LOADER is not set
diff --git a/configs/aristainetos2bcsl_defconfig b/configs/aristainetos2bcsl_defconfig
index 377228306b7..152ef1e9327 100644
--- a/configs/aristainetos2bcsl_defconfig
+++ b/configs/aristainetos2bcsl_defconfig
@@ -105,5 +105,7 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_DISPLAY=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_IMX_WATCHDOG=y
 # CONFIG_EFI_LOADER is not set
diff --git a/configs/aristainetos2c_defconfig b/configs/aristainetos2c_defconfig
index 63914535ea0..47f5a2c1c19 100644
--- a/configs/aristainetos2c_defconfig
+++ b/configs/aristainetos2c_defconfig
@@ -111,5 +111,7 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_DISPLAY=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_IMX_WATCHDOG=y
 # CONFIG_EFI_LOADER is not set
diff --git a/configs/cgtqmx6eval_defconfig b/configs/cgtqmx6eval_defconfig
index 520991869e0..9f589dbea12 100644
--- a/configs/cgtqmx6eval_defconfig
+++ b/configs/cgtqmx6eval_defconfig
@@ -90,4 +90,6 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 # CONFIG_PANEL is not set
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT=y
diff --git a/configs/cm_fx6_defconfig b/configs/cm_fx6_defconfig
index 3b168180411..4c0b46e46d3 100644
--- a/configs/cm_fx6_defconfig
+++ b/configs/cm_fx6_defconfig
@@ -94,4 +94,6 @@ CONFIG_USB_KEYBOARD=y
 CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y
 CONFIG_DM_VIDEO=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SOURCE=y
 CONFIG_FDT_FIXUP_PARTITIONS=y
diff --git a/configs/colibri-imx6ull_defconfig b/configs/colibri-imx6ull_defconfig
index a1f6cf1a16d..6079b57958b 100644
--- a/configs/colibri-imx6ull_defconfig
+++ b/configs/colibri-imx6ull_defconfig
@@ -91,5 +91,7 @@ CONFIG_CI_UDC=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT_OVERLAY=y
 CONFIG_FDT_FIXUP_PARTITIONS=y
diff --git a/configs/colibri_imx6_defconfig b/configs/colibri_imx6_defconfig
index 9506b91f3d2..f266c0af405 100644
--- a/configs/colibri_imx6_defconfig
+++ b/configs/colibri_imx6_defconfig
@@ -101,4 +101,6 @@ CONFIG_DM_VIDEO=y
 # CONFIG_VIDEO_BPP32 is not set
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT_OVERLAY=y
diff --git a/configs/colibri_imx7_defconfig b/configs/colibri_imx7_defconfig
index ae58505eba1..f33ca11a4ac 100644
--- a/configs/colibri_imx7_defconfig
+++ b/configs/colibri_imx7_defconfig
@@ -91,5 +91,7 @@ CONFIG_CI_UDC=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT_OVERLAY=y
 CONFIG_FDT_FIXUP_PARTITIONS=y
diff --git a/configs/colibri_imx7_emmc_defconfig b/configs/colibri_imx7_emmc_defconfig
index c4bcc67ced6..e4b0c99d4f7 100644
--- a/configs/colibri_imx7_emmc_defconfig
+++ b/configs/colibri_imx7_emmc_defconfig
@@ -87,4 +87,6 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0x4000
 CONFIG_CI_UDC=y
 CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT_OVERLAY=y
diff --git a/configs/colibri_vf_defconfig b/configs/colibri_vf_defconfig
index a67e2e29bad..b145b9f6992 100644
--- a/configs/colibri_vf_defconfig
+++ b/configs/colibri_vf_defconfig
@@ -96,6 +96,7 @@ CONFIG_DM_VIDEO=y
 # CONFIG_VIDEO_BPP8 is not set
 # CONFIG_VIDEO_BPP16 is not set
 CONFIG_VIDEO_FSL_DCU_FB=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT_OVERLAY=y
 CONFIG_FDT_FIXUP_PARTITIONS=y
 # CONFIG_EFI_UNICODE_CAPITALIZATION is not set
diff --git a/configs/dms-ba16-1g_defconfig b/configs/dms-ba16-1g_defconfig
index 8dcbf527b2d..ca538e09df9 100644
--- a/configs/dms-ba16-1g_defconfig
+++ b/configs/dms-ba16-1g_defconfig
@@ -60,4 +60,6 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_CI_UDC=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT=y
diff --git a/configs/dms-ba16_defconfig b/configs/dms-ba16_defconfig
index f26f66837fe..50d6db02ebd 100644
--- a/configs/dms-ba16_defconfig
+++ b/configs/dms-ba16_defconfig
@@ -59,4 +59,6 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_CI_UDC=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT=y
diff --git a/configs/eb_cpu5282_defconfig b/configs/eb_cpu5282_defconfig
index 65bc7a0eb6a..339366b2bd5 100644
--- a/configs/eb_cpu5282_defconfig
+++ b/configs/eb_cpu5282_defconfig
@@ -34,3 +34,4 @@ CONFIG_MCFFEC=y
 CONFIG_MII=y
 CONFIG_VIDEO=y
 # CONFIG_CFB_CONSOLE is not set
+CONFIG_SPLASH_SCREEN=y
diff --git a/configs/eb_cpu5282_internal_defconfig b/configs/eb_cpu5282_internal_defconfig
index 4a17ad79540..3c474b48fed 100644
--- a/configs/eb_cpu5282_internal_defconfig
+++ b/configs/eb_cpu5282_internal_defconfig
@@ -33,3 +33,4 @@ CONFIG_MCFFEC=y
 CONFIG_MII=y
 CONFIG_VIDEO=y
 # CONFIG_CFB_CONSOLE is not set
+CONFIG_SPLASH_SCREEN=y
diff --git a/configs/gwventana_emmc_defconfig b/configs/gwventana_emmc_defconfig
index 537cbdf1521..feee7ff271c 100644
--- a/configs/gwventana_emmc_defconfig
+++ b/configs/gwventana_emmc_defconfig
@@ -103,5 +103,6 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 # CONFIG_PANEL is not set
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT=y
 CONFIG_FDT_FIXUP_PARTITIONS=y
diff --git a/configs/gwventana_gw5904_defconfig b/configs/gwventana_gw5904_defconfig
index 16ac54fb45c..97e0ffdf02f 100644
--- a/configs/gwventana_gw5904_defconfig
+++ b/configs/gwventana_gw5904_defconfig
@@ -107,5 +107,6 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 # CONFIG_PANEL is not set
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT=y
 CONFIG_FDT_FIXUP_PARTITIONS=y
diff --git a/configs/gwventana_nand_defconfig b/configs/gwventana_nand_defconfig
index 94d42a415fb..9fc52214cb3 100644
--- a/configs/gwventana_nand_defconfig
+++ b/configs/gwventana_nand_defconfig
@@ -107,5 +107,6 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 # CONFIG_PANEL is not set
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT=y
 CONFIG_FDT_FIXUP_PARTITIONS=y
diff --git a/configs/imx6dl_icore_nand_defconfig b/configs/imx6dl_icore_nand_defconfig
index 9fde251387d..15775c1e083 100644
--- a/configs/imx6dl_icore_nand_defconfig
+++ b/configs/imx6dl_icore_nand_defconfig
@@ -63,3 +63,5 @@ CONFIG_DM_VIDEO=y
 # CONFIG_VIDEO_BPP32 is not set
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/imx6q_icore_nand_defconfig b/configs/imx6q_icore_nand_defconfig
index 9fe5c8f058c..47a84515f07 100644
--- a/configs/imx6q_icore_nand_defconfig
+++ b/configs/imx6q_icore_nand_defconfig
@@ -64,3 +64,5 @@ CONFIG_DM_VIDEO=y
 # CONFIG_VIDEO_BPP32 is not set
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/imx6qdl_icore_mmc_defconfig b/configs/imx6qdl_icore_mmc_defconfig
index 4f236399e1b..ea9a48c83c9 100644
--- a/configs/imx6qdl_icore_mmc_defconfig
+++ b/configs/imx6qdl_icore_mmc_defconfig
@@ -80,4 +80,6 @@ CONFIG_DM_VIDEO=y
 # CONFIG_VIDEO_BPP32 is not set
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_IMX_WATCHDOG=y
diff --git a/configs/imx6qdl_icore_nand_defconfig b/configs/imx6qdl_icore_nand_defconfig
index 9fe5c8f058c..47a84515f07 100644
--- a/configs/imx6qdl_icore_nand_defconfig
+++ b/configs/imx6qdl_icore_nand_defconfig
@@ -64,3 +64,5 @@ CONFIG_DM_VIDEO=y
 # CONFIG_VIDEO_BPP32 is not set
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/imxrt1050-evk_defconfig b/configs/imxrt1050-evk_defconfig
index 0139e73fa82..3f7b6704597 100644
--- a/configs/imxrt1050-evk_defconfig
+++ b/configs/imxrt1050-evk_defconfig
@@ -68,6 +68,8 @@ CONFIG_SPL_TIMER=y
 CONFIG_DM_VIDEO=y
 CONFIG_BACKLIGHT_GPIO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_SHA1=y
 CONFIG_SHA256=y
 CONFIG_HEXDUMP=y
diff --git a/configs/khadas-vim3_defconfig b/configs/khadas-vim3_defconfig
index 53a703403bd..a39e0f9c9f5 100644
--- a/configs/khadas-vim3_defconfig
+++ b/configs/khadas-vim3_defconfig
@@ -71,4 +71,6 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_MESON=y
 CONFIG_VIDEO_DT_SIMPLEFB=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT_OVERLAY=y
diff --git a/configs/khadas-vim3l_defconfig b/configs/khadas-vim3l_defconfig
index 45b52e4ee11..57cc383b9d2 100644
--- a/configs/khadas-vim3l_defconfig
+++ b/configs/khadas-vim3l_defconfig
@@ -71,4 +71,6 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_MESON=y
 CONFIG_VIDEO_DT_SIMPLEFB=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT_OVERLAY=y
diff --git a/configs/libretech-ac_defconfig b/configs/libretech-ac_defconfig
index 38034883e8a..d5a812c3d81 100644
--- a/configs/libretech-ac_defconfig
+++ b/configs/libretech-ac_defconfig
@@ -80,4 +80,6 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_MESON=y
 CONFIG_VIDEO_DT_SIMPLEFB=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT_OVERLAY=y
diff --git a/configs/libretech-cc_defconfig b/configs/libretech-cc_defconfig
index 7e388ae57b2..dce861b8aa1 100644
--- a/configs/libretech-cc_defconfig
+++ b/configs/libretech-cc_defconfig
@@ -63,4 +63,6 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_MESON=y
 CONFIG_VIDEO_DT_SIMPLEFB=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT_OVERLAY=y
diff --git a/configs/libretech-s905d-pc_defconfig b/configs/libretech-s905d-pc_defconfig
index b2b9a48b412..225a21f0ff4 100644
--- a/configs/libretech-s905d-pc_defconfig
+++ b/configs/libretech-s905d-pc_defconfig
@@ -73,4 +73,6 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_MESON=y
 CONFIG_VIDEO_DT_SIMPLEFB=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT_OVERLAY=y
diff --git a/configs/libretech-s912-pc_defconfig b/configs/libretech-s912-pc_defconfig
index a156610ea3e..005dc0b25e9 100644
--- a/configs/libretech-s912-pc_defconfig
+++ b/configs/libretech-s912-pc_defconfig
@@ -72,4 +72,6 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_MESON=y
 CONFIG_VIDEO_DT_SIMPLEFB=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT_OVERLAY=y
diff --git a/configs/m53menlo_defconfig b/configs/m53menlo_defconfig
index 43d369c525e..db3a739af13 100644
--- a/configs/m53menlo_defconfig
+++ b/configs/m53menlo_defconfig
@@ -100,5 +100,9 @@ CONFIG_DM_VIDEO=y
 # CONFIG_VIDEO_BPP32 is not set
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASHIMAGE_GUARD=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
+CONFIG_SPLASH_SOURCE=y
 CONFIG_WATCHDOG_TIMEOUT_MSECS=8000
 CONFIG_IMX_WATCHDOG=y
diff --git a/configs/marsboard_defconfig b/configs/marsboard_defconfig
index 0d2b9b3cf75..241f2ea125a 100644
--- a/configs/marsboard_defconfig
+++ b/configs/marsboard_defconfig
@@ -49,4 +49,6 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 # CONFIG_PANEL is not set
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT=y
diff --git a/configs/mx23evk_defconfig b/configs/mx23evk_defconfig
index 227c6272641..51f4a0fb737 100644
--- a/configs/mx23evk_defconfig
+++ b/configs/mx23evk_defconfig
@@ -38,4 +38,5 @@ CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_STORAGE=y
 CONFIG_VIDEO=y
+CONFIG_SPLASH_SCREEN=y
 CONFIG_OF_LIBFDT=y
diff --git a/configs/mx28evk_auart_console_defconfig b/configs/mx28evk_auart_console_defconfig
index 289342fe2f7..6e0a2377518 100644
--- a/configs/mx28evk_auart_console_defconfig
+++ b/configs/mx28evk_auart_console_defconfig
@@ -57,4 +57,5 @@ CONFIG_USB_HOST_ETHER=y
 CONFIG_USB_ETHER_ASIX=y
 CONFIG_USB_ETHER_SMSC95XX=y
 CONFIG_VIDEO=y
+CONFIG_SPLASH_SCREEN=y
 CONFIG_OF_LIBFDT=y
diff --git a/configs/mx28evk_defconfig b/configs/mx28evk_defconfig
index bf2442ed817..abfdb26b2df 100644
--- a/configs/mx28evk_defconfig
+++ b/configs/mx28evk_defconfig
@@ -57,4 +57,5 @@ CONFIG_USB_HOST_ETHER=y
 CONFIG_USB_ETHER_ASIX=y
 CONFIG_USB_ETHER_SMSC95XX=y
 CONFIG_VIDEO=y
+CONFIG_SPLASH_SCREEN=y
 CONFIG_OF_LIBFDT=y
diff --git a/configs/mx28evk_nand_defconfig b/configs/mx28evk_nand_defconfig
index 7b7822e5151..8aecb8bd445 100644
--- a/configs/mx28evk_nand_defconfig
+++ b/configs/mx28evk_nand_defconfig
@@ -58,4 +58,5 @@ CONFIG_USB_HOST_ETHER=y
 CONFIG_USB_ETHER_ASIX=y
 CONFIG_USB_ETHER_SMSC95XX=y
 CONFIG_VIDEO=y
+CONFIG_SPLASH_SCREEN=y
 CONFIG_OF_LIBFDT=y
diff --git a/configs/mx28evk_spi_defconfig b/configs/mx28evk_spi_defconfig
index 5692baa23cd..c4cba183bf7 100644
--- a/configs/mx28evk_spi_defconfig
+++ b/configs/mx28evk_spi_defconfig
@@ -54,4 +54,5 @@ CONFIG_USB_HOST_ETHER=y
 CONFIG_USB_ETHER_ASIX=y
 CONFIG_USB_ETHER_SMSC95XX=y
 CONFIG_VIDEO=y
+CONFIG_SPLASH_SCREEN=y
 CONFIG_OF_LIBFDT=y
diff --git a/configs/mx51evk_defconfig b/configs/mx51evk_defconfig
index f626aca910e..343816f89f3 100644
--- a/configs/mx51evk_defconfig
+++ b/configs/mx51evk_defconfig
@@ -38,4 +38,5 @@ CONFIG_USB_HOST_ETHER=y
 CONFIG_USB_ETHER_ASIX=y
 CONFIG_USB_ETHER_SMSC95XX=y
 CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_SPLASH_SCREEN=y
 CONFIG_OF_LIBFDT=y
diff --git a/configs/mx53loco_defconfig b/configs/mx53loco_defconfig
index 2b17bbc3edc..0d366c29fb2 100644
--- a/configs/mx53loco_defconfig
+++ b/configs/mx53loco_defconfig
@@ -39,4 +39,5 @@ CONFIG_USB_ETHER_ASIX=y
 CONFIG_USB_ETHER_MCS7830=y
 CONFIG_USB_ETHER_SMSC95XX=y
 CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_SPLASH_SCREEN=y
 CONFIG_OF_LIBFDT=y
diff --git a/configs/mx6cuboxi_defconfig b/configs/mx6cuboxi_defconfig
index dcc28c576e2..c0800cb0e04 100644
--- a/configs/mx6cuboxi_defconfig
+++ b/configs/mx6cuboxi_defconfig
@@ -77,3 +77,5 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 # CONFIG_PANEL is not set
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/mx6qsabrelite_defconfig b/configs/mx6qsabrelite_defconfig
index 216e21ad79d..91b3c5f0263 100644
--- a/configs/mx6qsabrelite_defconfig
+++ b/configs/mx6qsabrelite_defconfig
@@ -78,3 +78,5 @@ CONFIG_USB_ETH_CDC=y
 CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/mx6sabreauto_defconfig b/configs/mx6sabreauto_defconfig
index 0065a3417d5..386cc54f201 100644
--- a/configs/mx6sabreauto_defconfig
+++ b/configs/mx6sabreauto_defconfig
@@ -104,3 +104,5 @@ CONFIG_DM_VIDEO=y
 # CONFIG_VIDEO_BPP32 is not set
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/mx6sabresd_defconfig b/configs/mx6sabresd_defconfig
index 69e11422053..0cae3e01361 100644
--- a/configs/mx6sabresd_defconfig
+++ b/configs/mx6sabresd_defconfig
@@ -113,3 +113,5 @@ CONFIG_DM_VIDEO=y
 # CONFIG_VIDEO_BPP32 is not set
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/mx6sxsabresd_defconfig b/configs/mx6sxsabresd_defconfig
index ee498fdbbf6..f02b0ca5188 100644
--- a/configs/mx6sxsabresd_defconfig
+++ b/configs/mx6sxsabresd_defconfig
@@ -73,3 +73,5 @@ CONFIG_USB_STORAGE=y
 CONFIG_USB_HOST_ETHER=y
 CONFIG_USB_ETHER_ASIX=y
 CONFIG_VIDEO=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/mx6ul_14x14_evk_defconfig b/configs/mx6ul_14x14_evk_defconfig
index c60e69d445d..412995e99e9 100644
--- a/configs/mx6ul_14x14_evk_defconfig
+++ b/configs/mx6ul_14x14_evk_defconfig
@@ -89,3 +89,5 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_CI_UDC=y
 CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/mx6ul_9x9_evk_defconfig b/configs/mx6ul_9x9_evk_defconfig
index 025165787ba..587b71f32b2 100644
--- a/configs/mx6ul_9x9_evk_defconfig
+++ b/configs/mx6ul_9x9_evk_defconfig
@@ -79,3 +79,5 @@ CONFIG_DM_USB=y
 CONFIG_USB_STORAGE=y
 CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/mx7dsabresd_defconfig b/configs/mx7dsabresd_defconfig
index 03f311000eb..e4655c222fe 100644
--- a/configs/mx7dsabresd_defconfig
+++ b/configs/mx7dsabresd_defconfig
@@ -85,4 +85,6 @@ CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_USB_HOST_ETHER=y
 CONFIG_USB_ETHER_ASIX=y
 CONFIG_VIDEO=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_ERRNO_STR=y
diff --git a/configs/mx7dsabresd_qspi_defconfig b/configs/mx7dsabresd_qspi_defconfig
index ae90ef5221f..56a8b6bf444 100644
--- a/configs/mx7dsabresd_qspi_defconfig
+++ b/configs/mx7dsabresd_qspi_defconfig
@@ -92,4 +92,6 @@ CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_USB_HOST_ETHER=y
 CONFIG_USB_ETHER_ASIX=y
 CONFIG_VIDEO=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_ERRNO_STR=y
diff --git a/configs/nitrogen6dl2g_defconfig b/configs/nitrogen6dl2g_defconfig
index 3131c51bded..43f9533dafc 100644
--- a/configs/nitrogen6dl2g_defconfig
+++ b/configs/nitrogen6dl2g_defconfig
@@ -79,3 +79,5 @@ CONFIG_USB_ETH_CDC=y
 CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/nitrogen6dl_defconfig b/configs/nitrogen6dl_defconfig
index 86c2c4ff13d..f55de5db570 100644
--- a/configs/nitrogen6dl_defconfig
+++ b/configs/nitrogen6dl_defconfig
@@ -79,3 +79,5 @@ CONFIG_USB_ETH_CDC=y
 CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/nitrogen6q2g_defconfig b/configs/nitrogen6q2g_defconfig
index 16cf5f3e5b1..1e01ba65b94 100644
--- a/configs/nitrogen6q2g_defconfig
+++ b/configs/nitrogen6q2g_defconfig
@@ -81,3 +81,5 @@ CONFIG_USB_ETH_CDC=y
 CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/nitrogen6q_defconfig b/configs/nitrogen6q_defconfig
index ea9098ad68a..f55ce293244 100644
--- a/configs/nitrogen6q_defconfig
+++ b/configs/nitrogen6q_defconfig
@@ -81,3 +81,5 @@ CONFIG_USB_ETH_CDC=y
 CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/nitrogen6s1g_defconfig b/configs/nitrogen6s1g_defconfig
index 8a67b419e0f..9b0b69ba59a 100644
--- a/configs/nitrogen6s1g_defconfig
+++ b/configs/nitrogen6s1g_defconfig
@@ -79,3 +79,5 @@ CONFIG_USB_ETH_CDC=y
 CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/nitrogen6s_defconfig b/configs/nitrogen6s_defconfig
index 71dff7ae857..a5c6235a252 100644
--- a/configs/nitrogen6s_defconfig
+++ b/configs/nitrogen6s_defconfig
@@ -79,3 +79,5 @@ CONFIG_USB_ETH_CDC=y
 CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/nokia_rx51_defconfig b/configs/nokia_rx51_defconfig
index 3a1b1dae72e..098009e6103 100644
--- a/configs/nokia_rx51_defconfig
+++ b/configs/nokia_rx51_defconfig
@@ -57,4 +57,5 @@ CONFIG_TWL4030_USB=y
 CONFIG_VIDEO=y
 CONFIG_CFB_CONSOLE_ANSI=y
 # CONFIG_VGA_AS_SINGLE_DEVICE is not set
+CONFIG_SPLASH_SCREEN=y
 # CONFIG_GZIP is not set
diff --git a/configs/novena_defconfig b/configs/novena_defconfig
index 33cda1b383c..bf9214ee533 100644
--- a/configs/novena_defconfig
+++ b/configs/novena_defconfig
@@ -77,3 +77,4 @@ CONFIG_USB_ETHER_SMSC95XX=y
 # CONFIG_VIDEO_BPP32 is not set
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
diff --git a/configs/odroid-c2_defconfig b/configs/odroid-c2_defconfig
index 49a5f0855f1..3c53233dcce 100644
--- a/configs/odroid-c2_defconfig
+++ b/configs/odroid-c2_defconfig
@@ -56,5 +56,7 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_MESON=y
 CONFIG_VIDEO_DT_SIMPLEFB=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT_OVERLAY=y
 CONFIG_SMBIOS_MANUFACTURER="Hardkernel Co., Ltd."
diff --git a/configs/odroid-c4_defconfig b/configs/odroid-c4_defconfig
index 4d112d34901..bf79d7424a9 100644
--- a/configs/odroid-c4_defconfig
+++ b/configs/odroid-c4_defconfig
@@ -58,4 +58,6 @@ CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_DM_VIDEO=y
 CONFIG_VIDEO_MESON=y
 CONFIG_VIDEO_DT_SIMPLEFB=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT_OVERLAY=y
diff --git a/configs/opos6uldev_defconfig b/configs/opos6uldev_defconfig
index ba85932b4dd..2a2e65b447a 100644
--- a/configs/opos6uldev_defconfig
+++ b/configs/opos6uldev_defconfig
@@ -105,5 +105,8 @@ CONFIG_DM_VIDEO=y
 # CONFIG_VIDEO_BPP8 is not set
 # CONFIG_VIDEO_BPP32 is not set
 CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
+CONFIG_SPLASH_SOURCE=y
 CONFIG_OF_LIBFDT_OVERLAY=y
 # CONFIG_EFI_LOADER is not set
diff --git a/configs/pico-dwarf-imx6ul_defconfig b/configs/pico-dwarf-imx6ul_defconfig
index 4f01ae00990..ac2edc097f4 100644
--- a/configs/pico-dwarf-imx6ul_defconfig
+++ b/configs/pico-dwarf-imx6ul_defconfig
@@ -69,3 +69,5 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0525
 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_CI_UDC=y
 CONFIG_VIDEO=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/pico-dwarf-imx7d_defconfig b/configs/pico-dwarf-imx7d_defconfig
index ff4a409077d..6d1d68e3e54 100644
--- a/configs/pico-dwarf-imx7d_defconfig
+++ b/configs/pico-dwarf-imx7d_defconfig
@@ -78,3 +78,5 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_CI_UDC=y
 CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/pico-hobbit-imx6ul_defconfig b/configs/pico-hobbit-imx6ul_defconfig
index f8aaf9b6fa8..195a83c9098 100644
--- a/configs/pico-hobbit-imx6ul_defconfig
+++ b/configs/pico-hobbit-imx6ul_defconfig
@@ -72,3 +72,5 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0525
 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_CI_UDC=y
 CONFIG_VIDEO=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/pico-hobbit-imx7d_defconfig b/configs/pico-hobbit-imx7d_defconfig
index d522d23b979..db30fd504df 100644
--- a/configs/pico-hobbit-imx7d_defconfig
+++ b/configs/pico-hobbit-imx7d_defconfig
@@ -78,3 +78,5 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_CI_UDC=y
 CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/pico-imx6_defconfig b/configs/pico-imx6_defconfig
index 23165443986..33adef86078 100644
--- a/configs/pico-imx6_defconfig
+++ b/configs/pico-imx6_defconfig
@@ -88,3 +88,5 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 # CONFIG_PANEL is not set
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/pico-imx6ul_defconfig b/configs/pico-imx6ul_defconfig
index 5c841c3e4b0..da51e378eb4 100644
--- a/configs/pico-imx6ul_defconfig
+++ b/configs/pico-imx6ul_defconfig
@@ -74,3 +74,5 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0525
 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_CI_UDC=y
 CONFIG_VIDEO=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/pico-imx7d_bl33_defconfig b/configs/pico-imx7d_bl33_defconfig
index 7be0a0af9d6..e9194f82e9b 100644
--- a/configs/pico-imx7d_bl33_defconfig
+++ b/configs/pico-imx7d_bl33_defconfig
@@ -74,4 +74,6 @@ CONFIG_CI_UDC=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT_OVERLAY=y
diff --git a/configs/pico-imx7d_defconfig b/configs/pico-imx7d_defconfig
index e4acb0be57e..a9a1a01ec62 100644
--- a/configs/pico-imx7d_defconfig
+++ b/configs/pico-imx7d_defconfig
@@ -78,3 +78,5 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_CI_UDC=y
 CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/pico-nymph-imx7d_defconfig b/configs/pico-nymph-imx7d_defconfig
index ff4a409077d..6d1d68e3e54 100644
--- a/configs/pico-nymph-imx7d_defconfig
+++ b/configs/pico-nymph-imx7d_defconfig
@@ -78,3 +78,5 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_CI_UDC=y
 CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/pico-pi-imx6ul_defconfig b/configs/pico-pi-imx6ul_defconfig
index 1d1b8d5bf71..be2b709a4d5 100644
--- a/configs/pico-pi-imx6ul_defconfig
+++ b/configs/pico-pi-imx6ul_defconfig
@@ -72,3 +72,5 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0525
 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_CI_UDC=y
 CONFIG_VIDEO=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/pico-pi-imx7d_defconfig b/configs/pico-pi-imx7d_defconfig
index 34a100da9bc..3768314bd95 100644
--- a/configs/pico-pi-imx7d_defconfig
+++ b/configs/pico-pi-imx7d_defconfig
@@ -78,3 +78,5 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_CI_UDC=y
 CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/pxm2_defconfig b/configs/pxm2_defconfig
index e65905548b1..d66a2114d58 100644
--- a/configs/pxm2_defconfig
+++ b/configs/pxm2_defconfig
@@ -104,3 +104,5 @@ CONFIG_VIDEO=y
 # CONFIG_VIDEO_SW_CURSOR is not set
 CONFIG_SYS_CONSOLE_BG_COL=0xff
 CONFIG_SYS_CONSOLE_FG_COL=0x00
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/riotboard_defconfig b/configs/riotboard_defconfig
index e9d0933616d..4b4120c6765 100644
--- a/configs/riotboard_defconfig
+++ b/configs/riotboard_defconfig
@@ -50,4 +50,6 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 # CONFIG_PANEL is not set
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT=y
diff --git a/configs/riotboard_spl_defconfig b/configs/riotboard_spl_defconfig
index 08150ed1c1b..29629f06bbb 100644
--- a/configs/riotboard_spl_defconfig
+++ b/configs/riotboard_spl_defconfig
@@ -60,5 +60,7 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 # CONFIG_PANEL is not set
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT=y
 CONFIG_SPL_OF_LIBFDT=y
diff --git a/configs/rut_defconfig b/configs/rut_defconfig
index c8527cacaaf..1eefb89760c 100644
--- a/configs/rut_defconfig
+++ b/configs/rut_defconfig
@@ -104,3 +104,5 @@ CONFIG_VIDEO=y
 # CONFIG_VIDEO_SW_CURSOR is not set
 CONFIG_SYS_CONSOLE_BG_COL=0xff
 CONFIG_SYS_CONSOLE_FG_COL=0x00
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/configs/s5p4418_nanopi2_defconfig b/configs/s5p4418_nanopi2_defconfig
index 96a5c668372..3b2169195cf 100644
--- a/configs/s5p4418_nanopi2_defconfig
+++ b/configs/s5p4418_nanopi2_defconfig
@@ -52,4 +52,7 @@ CONFIG_VIDEO_NX=y
 CONFIG_VIDEO_NX_RGB=y
 CONFIG_VIDEO_NX_LVDS=y
 CONFIG_VIDEO_NX_HDMI=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
+CONFIG_SPLASH_SOURCE=y
 CONFIG_ERRNO_STR=y
diff --git a/configs/sandbox64_defconfig b/configs/sandbox64_defconfig
index fae36664189..c3ca796d511 100644
--- a/configs/sandbox64_defconfig
+++ b/configs/sandbox64_defconfig
@@ -214,6 +214,7 @@ CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y
 CONFIG_VIDEO_SANDBOX_SDL=y
 CONFIG_OSD=y
 CONFIG_SANDBOX_OSD=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_WDT=y
 CONFIG_WDT_SANDBOX=y
 CONFIG_FS_CBFS=y
diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig
index fe111289049..73a6887fdbc 100644
--- a/configs/sandbox_defconfig
+++ b/configs/sandbox_defconfig
@@ -246,6 +246,7 @@ CONFIG_VIDEO_SANDBOX_SDL=y
 CONFIG_VIDEO_DSI_HOST_SANDBOX=y
 CONFIG_OSD=y
 CONFIG_SANDBOX_OSD=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_W1=y
 CONFIG_W1_GPIO=y
 CONFIG_W1_EEPROM=y
diff --git a/configs/sandbox_flattree_defconfig b/configs/sandbox_flattree_defconfig
index 46e9dff9240..f0be706b83e 100644
--- a/configs/sandbox_flattree_defconfig
+++ b/configs/sandbox_flattree_defconfig
@@ -191,6 +191,7 @@ CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y
 CONFIG_VIDEO_SANDBOX_SDL=y
 CONFIG_OSD=y
 CONFIG_SANDBOX_OSD=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_CMD_DHRYSTONE=y
 CONFIG_RSA_VERIFY_WITH_PKEY=y
 CONFIG_TPM=y
diff --git a/configs/sandbox_spl_defconfig b/configs/sandbox_spl_defconfig
index 5ce74ed1cf9..6d8e827aebc 100644
--- a/configs/sandbox_spl_defconfig
+++ b/configs/sandbox_spl_defconfig
@@ -210,6 +210,7 @@ CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y
 CONFIG_VIDEO_SANDBOX_SDL=y
 CONFIG_OSD=y
 CONFIG_SANDBOX_OSD=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_FS_CBFS=y
 CONFIG_FS_CRAMFS=y
 # CONFIG_SPL_USE_TINY_PRINTF is not set
diff --git a/configs/sei510_defconfig b/configs/sei510_defconfig
index 40631d29681..8ee3a138e1d 100644
--- a/configs/sei510_defconfig
+++ b/configs/sei510_defconfig
@@ -78,4 +78,6 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_MESON=y
 CONFIG_VIDEO_DT_SIMPLEFB=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT_OVERLAY=y
diff --git a/configs/sei610_defconfig b/configs/sei610_defconfig
index 39d36b1be19..43932b4c960 100644
--- a/configs/sei610_defconfig
+++ b/configs/sei610_defconfig
@@ -78,4 +78,6 @@ CONFIG_DM_VIDEO=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_MESON=y
 CONFIG_VIDEO_DT_SIMPLEFB=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT_OVERLAY=y
diff --git a/configs/stm32f746-disco_defconfig b/configs/stm32f746-disco_defconfig
index 8a54d827aca..4b2b8587f82 100644
--- a/configs/stm32f746-disco_defconfig
+++ b/configs/stm32f746-disco_defconfig
@@ -60,4 +60,6 @@ CONFIG_BACKLIGHT_GPIO=y
 CONFIG_VIDEO_STM32=y
 CONFIG_VIDEO_STM32_MAX_XRES=480
 CONFIG_VIDEO_STM32_MAX_YRES=640
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT_OVERLAY=y
diff --git a/configs/stm32f769-disco_defconfig b/configs/stm32f769-disco_defconfig
index 8dd83af20bd..bed5a773e10 100644
--- a/configs/stm32f769-disco_defconfig
+++ b/configs/stm32f769-disco_defconfig
@@ -62,4 +62,6 @@ CONFIG_VIDEO_STM32=y
 CONFIG_VIDEO_STM32_DSI=y
 CONFIG_VIDEO_STM32_MAX_XRES=480
 CONFIG_VIDEO_STM32_MAX_YRES=800
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT_OVERLAY=y
diff --git a/configs/tools-only_defconfig b/configs/tools-only_defconfig
index a853abf2b8f..7ac0b256c52 100644
--- a/configs/tools-only_defconfig
+++ b/configs/tools-only_defconfig
@@ -25,6 +25,7 @@ CONFIG_PCI_SANDBOX=y
 CONFIG_DM_RTC=y
 CONFIG_SOUND=y
 CONFIG_SYSRESET=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
 # CONFIG_VIRTIO_MMIO is not set
 # CONFIG_VIRTIO_PCI is not set
 # CONFIG_VIRTIO_SANDBOX is not set
diff --git a/configs/wandboard_defconfig b/configs/wandboard_defconfig
index 5ff1b15fb39..672a9c4a1a2 100644
--- a/configs/wandboard_defconfig
+++ b/configs/wandboard_defconfig
@@ -78,3 +78,5 @@ CONFIG_DM_VIDEO=y
 # CONFIG_VIDEO_BPP32 is not set
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_VIDEO_IPUV3=y
+CONFIG_SPLASH_SCREEN=y
+CONFIG_SPLASH_SCREEN_ALIGN=y
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 55f4fa42abf..c1deb882c7e 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -854,4 +854,89 @@ config IHS_VIDEO_OUT
   out On-screen Display (OSD) used on gdsys FPGAs to control dynamic
   textual overlays of the display outputs.
 
+config SPLASH_SCREEN
+ bool "Show a splash-screen image"
+ help
+  If this option is set, the environment is checked for a variable
+  "splashimage". If found, the usual display of logo, copyright and
+  system information on the LCD is suppressed and the BMP image at the
+  address specified in "splashimage" is loaded instead. The console is
+  redirected to the "nulldev", too. This allows for a "silent" boot
+  where a splash screen is loaded very quickly after power-on.
+
+  The splash_screen_prepare() function is a weak function defined in
+  common/splash.c. It is called as part of the splash screen display
+  sequence. It gives the board an opportunity to prepare the splash
+  image data before it is processed and sent to the frame buffer by
+  U-Boot. Define your own version to use this feature.
+
+config SPLASHIMAGE_GUARD
+ bool "Support unaligned BMP images"
+ depends on SPLASH_SCREEN
+ help
+  If this option is set, then U-Boot will prevent the environment
+  variable "splashimage" from being set to a problematic address
+  (see doc/README.displaying-bmps).
+
+  This option is useful for targets where, due to alignment
+  restrictions, an improperly aligned BMP image will cause a data
+  abort. If you think you will not have problems with unaligned
+  accesses (for example because your toolchain prevents them)
+  there is no need to set this option.
+
+config SPLASH_SCREEN_ALIGN
+ bool "Allow positioning the splash image anywhere on the display"
+ depends on SPLASH_SCREEN
+ help
+  If this option is set the splash image can be freely positioned
+  on the screen. Environment variable "splashpos" specifies the
+  position as "x,y". If a positive number is given it is used as
+  number of pixel from left/top. If a negative number is given it
+  is used as number of pixel from right/bottom. You can also
+  specify 'm' for centering the image.
+
+  Example:
+  setenv splashpos m,m
+   => image at center of screen
+
+  setenv splashpos 30,20
+   => image at x = 30 and y = 20
+
+  setenv splashpos -10,m
+   => vertically centered image
+     at x = dspWidth - bmpWidth - 9
+
+config SPLASH_SOURCE
+ bool "Control the source of the splash image"
+ depends on SPLASH_SCREEN
+ help
+  Use the splash_source.c library. This library provides facilities to
+  declare board specific splash image locations, routines for loading
+  splash image from supported locations, and a way of controlling the
+  selected splash location using the "splashsource" environment
+  variable.
+
+  This CONFIG works as follows:
+
+  - If splashsource is set to a supported location name as defined by
+    board code, use that splash location.
+  - If splashsource is undefined, use the first splash location as
+    default.
+  - If splashsource is set to an unsupported value, do not load a splash
+    screen.
+
+  A splash source location can describe either storage with raw data, a
+  storage formatted with a file system or a FIT image. In case of a
+  filesystem, the splash screen data is loaded as a file. The name of
+  the splash screen file can be controlled with the environment variable
+  "splashfile".
+
+  To enable loading the splash image from a FIT image, CONFIG_FIT must
+  be enabled. The FIT image has to start at the 'offset' field address
+  in the selected splash location. The name of splash image within the
+  FIT shall be specified by the environment variable "splashfile".
+
+  In case the environment variable "splashfile" is not defined the
+  default name 'splash.bmp' will be used.
+
 endmenu
diff --git a/include/configs/M52277EVB.h b/include/configs/M52277EVB.h
index 8a52f809c7c..0428be729b2 100644
--- a/include/configs/M52277EVB.h
+++ b/include/configs/M52277EVB.h
@@ -74,7 +74,6 @@
 
 /* LCD */
 #ifdef CONFIG_CMD_BMP
-#define CONFIG_SPLASH_SCREEN
 #define CONFIG_LCD_LOGO
 #define CONFIG_SHARP_LQ035Q7DH06
 #endif
diff --git a/include/configs/advantech_dms-ba16.h b/include/configs/advantech_dms-ba16.h
index 181af9a3f6d..07d804cbcbf 100644
--- a/include/configs/advantech_dms-ba16.h
+++ b/include/configs/advantech_dms-ba16.h
@@ -198,8 +198,6 @@
 
 /* Framebuffer */
 #define CONFIG_VIDEO_BMP_RLE8
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_LOGO
 #define CONFIG_VIDEO_BMP_LOGO
diff --git a/include/configs/apalis_imx6.h b/include/configs/apalis_imx6.h
index f3156b02c9c..9bc70f979ab 100644
--- a/include/configs/apalis_imx6.h
+++ b/include/configs/apalis_imx6.h
@@ -68,8 +68,6 @@
 /* Framebuffer and LCD */
 #define CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE
 #define CONFIG_VIDEO_BMP_RLE8
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_LOGO
 #define CONFIG_VIDEO_BMP_LOGO
diff --git a/include/configs/aristainetos2.h b/include/configs/aristainetos2.h
index 2674cb8b76b..fd28f44ae31 100644
--- a/include/configs/aristainetos2.h
+++ b/include/configs/aristainetos2.h
@@ -438,8 +438,6 @@
 
 /* Framebuffer */
 /* check this console not needed, after test remove it */
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_IMX_VIDEO_SKIP
 #define CONFIG_VIDEO_LOGO
 #define CONFIG_VIDEO_BMP_LOGO
diff --git a/include/configs/cgtqmx6eval.h b/include/configs/cgtqmx6eval.h
index d2a0f95c0f8..9d0f516b7dc 100644
--- a/include/configs/cgtqmx6eval.h
+++ b/include/configs/cgtqmx6eval.h
@@ -61,8 +61,6 @@
 
 /* Framebuffer */
 #define CONFIG_VIDEO_BMP_RLE8
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_LOGO
 #define CONFIG_VIDEO_BMP_LOGO
diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h
index 7d0f551e4ff..6915dcb6615 100644
--- a/include/configs/cm_fx6.h
+++ b/include/configs/cm_fx6.h
@@ -204,8 +204,6 @@
 /* Display */
 #define CONFIG_IMX_HDMI
 
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SOURCE
 #define CONFIG_VIDEO_BMP_RLE8
 
 #define CONFIG_VIDEO_LOGO
diff --git a/include/configs/colibri-imx6ull.h b/include/configs/colibri-imx6ull.h
index c80fb96fe2c..2fdcdefa32d 100644
--- a/include/configs/colibri-imx6ull.h
+++ b/include/configs/colibri-imx6ull.h
@@ -153,8 +153,6 @@
 #define CONFIG_VIDEO_MXS
 #define MXS_LCDIF_BASE MX6UL_LCDIF1_BASE_ADDR
 #define CONFIG_VIDEO_LOGO
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_BMP_RLE8
 #define CONFIG_VIDEO_BMP_LOGO
diff --git a/include/configs/colibri_imx6.h b/include/configs/colibri_imx6.h
index 7091766fef2..13b03a594e7 100644
--- a/include/configs/colibri_imx6.h
+++ b/include/configs/colibri_imx6.h
@@ -56,8 +56,6 @@
 /* Framebuffer and LCD */
 #define CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE
 #define CONFIG_VIDEO_BMP_RLE8
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_LOGO
 #define CONFIG_VIDEO_BMP_LOGO
diff --git a/include/configs/colibri_imx7.h b/include/configs/colibri_imx7.h
index 8fff2e15b78..79aa735ccba 100644
--- a/include/configs/colibri_imx7.h
+++ b/include/configs/colibri_imx7.h
@@ -216,8 +216,6 @@
 #if defined(CONFIG_VIDEO) || defined(CONFIG_DM_VIDEO)
 #define CONFIG_VIDEO_MXS
 #define CONFIG_VIDEO_LOGO
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_BMP_RLE8
 #define CONFIG_VIDEO_BMP_LOGO
diff --git a/include/configs/colibri_vf.h b/include/configs/colibri_vf.h
index 87c37ea0a5f..86d4621f857 100644
--- a/include/configs/colibri_vf.h
+++ b/include/configs/colibri_vf.h
@@ -19,7 +19,6 @@
 #define CONFIG_SKIP_LOWLEVEL_INIT
 
 #ifdef CONFIG_VIDEO_FSL_DCU_FB
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_VIDEO_LOGO
 #define CONFIG_VIDEO_BMP_LOGO
 #define CONFIG_SYS_FSL_DCU_LE
diff --git a/include/configs/eb_cpu5282.h b/include/configs/eb_cpu5282.h
index 3dab93418a2..db92bbd49a4 100644
--- a/include/configs/eb_cpu5282.h
+++ b/include/configs/eb_cpu5282.h
@@ -27,7 +27,6 @@
 
 #define CONFIG_BOOT_RETRY_TIME -1
 #define CONFIG_RESET_TO_RETRY
-#define CONFIG_SPLASH_SCREEN
 
 #define CONFIG_HW_WATCHDOG
 
diff --git a/include/configs/embestmx6boards.h b/include/configs/embestmx6boards.h
index 8148453d931..ef4ea9a29bf 100644
--- a/include/configs/embestmx6boards.h
+++ b/include/configs/embestmx6boards.h
@@ -73,8 +73,6 @@
 
 /* Framebuffer */
 #define CONFIG_VIDEO_BMP_RLE8
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_LOGO
 #define CONFIG_VIDEO_BMP_LOGO
diff --git a/include/configs/gw_ventana.h b/include/configs/gw_ventana.h
index a666d420e4b..1887525e633 100644
--- a/include/configs/gw_ventana.h
+++ b/include/configs/gw_ventana.h
@@ -122,7 +122,6 @@
 #define CONFIG_IMX_HDMI
 #define CONFIG_IMX_VIDEO_SKIP
 #define CONFIG_VIDEO_BMP_LOGO
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_HIDE_LOGO_VERSION  /* Custom config to hide U-boot version */
 
 /* Miscellaneous configurable options */
diff --git a/include/configs/imx6-engicam.h b/include/configs/imx6-engicam.h
index 9bd81e28d67..13cd54a8dc1 100644
--- a/include/configs/imx6-engicam.h
+++ b/include/configs/imx6-engicam.h
@@ -165,8 +165,6 @@
 #ifdef CONFIG_VIDEO_IPUV3
 # define CONFIG_IMX_VIDEO_SKIP
 
-# define CONFIG_SPLASH_SCREEN
-# define CONFIG_SPLASH_SCREEN_ALIGN
 # define CONFIG_BMP_16BPP
 # define CONFIG_VIDEO_BMP_RLE8
 # define CONFIG_VIDEO_LOGO
diff --git a/include/configs/imxrt1050-evk.h b/include/configs/imxrt1050-evk.h
index 4fbcda9581c..559e6880b7d 100644
--- a/include/configs/imxrt1050-evk.h
+++ b/include/configs/imxrt1050-evk.h
@@ -31,8 +31,6 @@
 #ifdef CONFIG_DM_VIDEO
 #define CONFIG_VIDEO_MXS
 #define CONFIG_VIDEO_LOGO
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_BMP_RLE8
 #define CONFIG_VIDEO_BMP_LOGO
diff --git a/include/configs/m53menlo.h b/include/configs/m53menlo.h
index 5542ea60174..c15e7d22bc8 100644
--- a/include/configs/m53menlo.h
+++ b/include/configs/m53menlo.h
@@ -128,9 +128,6 @@
  */
 #define CONFIG_VIDEO_BMP_RLE8
 #define CONFIG_VIDEO_BMP_GZIP
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASHIMAGE_GUARD
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_LOGO
 #define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (2 << 20)
@@ -138,7 +135,6 @@
 /* LVDS display */
 #define CONFIG_SYS_LDB_CLOCK 33260000
 #define CONFIG_IMX_VIDEO_SKIP
-#define CONFIG_SPLASH_SOURCE
 
 /* IIM Fuses */
 #define CONFIG_FSL_IIM
diff --git a/include/configs/meson64.h b/include/configs/meson64.h
index 50707a31978..c895a24eca3 100644
--- a/include/configs/meson64.h
+++ b/include/configs/meson64.h
@@ -22,8 +22,6 @@
 #define CONFIG_BMP_16BPP
 #define CONFIG_BMP_24BPP
 #define CONFIG_BMP_32BPP
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define STDOUT_CFG "vidconsole,serial"
 #else
 #define STDOUT_CFG "serial"
diff --git a/include/configs/mx23evk.h b/include/configs/mx23evk.h
index cc634d00422..8f170b25297 100644
--- a/include/configs/mx23evk.h
+++ b/include/configs/mx23evk.h
@@ -31,7 +31,6 @@
 /* Framebuffer support */
 #ifdef CONFIG_VIDEO
 #define CONFIG_VIDEO_LOGO
-#define CONFIG_SPLASH_SCREEN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_BMP_RLE8
 #define CONFIG_VIDEO_BMP_GZIP
diff --git a/include/configs/mx28evk.h b/include/configs/mx28evk.h
index 1a9e6a457af..d65f6a900f9 100644
--- a/include/configs/mx28evk.h
+++ b/include/configs/mx28evk.h
@@ -52,7 +52,6 @@
 /* Framebuffer support */
 #ifdef CONFIG_VIDEO
 #define CONFIG_VIDEO_LOGO
-#define CONFIG_SPLASH_SCREEN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_BMP_RLE8
 #define CONFIG_VIDEO_BMP_GZIP
diff --git a/include/configs/mx51evk.h b/include/configs/mx51evk.h
index bf4661b4539..58712926b4d 100644
--- a/include/configs/mx51evk.h
+++ b/include/configs/mx51evk.h
@@ -66,7 +66,6 @@
 
 /* Framebuffer and LCD */
 #define CONFIG_VIDEO_BMP_RLE8
-#define CONFIG_SPLASH_SCREEN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_LOGO
 
diff --git a/include/configs/mx53loco.h b/include/configs/mx53loco.h
index 97adcd5265b..90d800cd254 100644
--- a/include/configs/mx53loco.h
+++ b/include/configs/mx53loco.h
@@ -177,7 +177,6 @@
 
 /* Framebuffer and LCD */
 #define CONFIG_VIDEO_BMP_RLE8
-#define CONFIG_SPLASH_SCREEN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_LOGO
 
diff --git a/include/configs/mx6cuboxi.h b/include/configs/mx6cuboxi.h
index b03129bfc6a..20b757e621b 100644
--- a/include/configs/mx6cuboxi.h
+++ b/include/configs/mx6cuboxi.h
@@ -30,8 +30,6 @@
 
 /* Framebuffer */
 #define CONFIG_VIDEO_BMP_RLE8
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_LOGO
 #define CONFIG_VIDEO_BMP_LOGO
diff --git a/include/configs/mx6sabre_common.h b/include/configs/mx6sabre_common.h
index 94a7e0587d5..ecf4681c1f7 100644
--- a/include/configs/mx6sabre_common.h
+++ b/include/configs/mx6sabre_common.h
@@ -170,8 +170,6 @@
 
 /* Framebuffer */
 #define CONFIG_VIDEO_BMP_RLE8
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_LOGO
 #define CONFIG_VIDEO_BMP_LOGO
diff --git a/include/configs/mx6sxsabresd.h b/include/configs/mx6sxsabresd.h
index 4a521ec80d9..441ea3d4df5 100644
--- a/include/configs/mx6sxsabresd.h
+++ b/include/configs/mx6sxsabresd.h
@@ -176,8 +176,6 @@
 #ifdef CONFIG_VIDEO
 #define CONFIG_VIDEO_MXS
 #define CONFIG_VIDEO_LOGO
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_BMP_RLE8
 #define CONFIG_VIDEO_BMP_LOGO
diff --git a/include/configs/mx6ul_14x14_evk.h b/include/configs/mx6ul_14x14_evk.h
index 6f1e0d878da..68e1db52c73 100644
--- a/include/configs/mx6ul_14x14_evk.h
+++ b/include/configs/mx6ul_14x14_evk.h
@@ -183,8 +183,6 @@
 #if defined(CONFIG_DM_VIDEO)
 #define CONFIG_VIDEO_MXS
 #define CONFIG_VIDEO_LOGO
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_BMP_RLE8
 #define CONFIG_VIDEO_BMP_LOGO
diff --git a/include/configs/mx7dsabresd.h b/include/configs/mx7dsabresd.h
index 98fab6b83de..16b8c07f324 100644
--- a/include/configs/mx7dsabresd.h
+++ b/include/configs/mx7dsabresd.h
@@ -141,8 +141,6 @@
 #ifdef CONFIG_VIDEO
 #define CONFIG_VIDEO_MXS
 #define CONFIG_VIDEO_LOGO
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_BMP_RLE8
 #define CONFIG_VIDEO_BMP_LOGO
diff --git a/include/configs/nitrogen6x.h b/include/configs/nitrogen6x.h
index 0598224f667..bdc4ffc9102 100644
--- a/include/configs/nitrogen6x.h
+++ b/include/configs/nitrogen6x.h
@@ -58,8 +58,6 @@
 
 /* Framebuffer and LCD */
 #define CONFIG_VIDEO_BMP_RLE8
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_VIDEO_BMP_GZIP
 #define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (6 * 1024 * 1024)
 #define CONFIG_BMP_16BPP
diff --git a/include/configs/nokia_rx51.h b/include/configs/nokia_rx51.h
index cc55777ec05..c86c4294137 100644
--- a/include/configs/nokia_rx51.h
+++ b/include/configs/nokia_rx51.h
@@ -101,7 +101,6 @@
 #define CONFIG_VIDEO_LOGO
 #define VIDEO_FB_16BPP_PIXEL_SWAP
 #define VIDEO_FB_16BPP_WORD_SWAP
-#define CONFIG_SPLASH_SCREEN
 
 /* functions for cfb_console */
 #define VIDEO_KBD_INIT_FCT rx51_kp_init()
diff --git a/include/configs/novena.h b/include/configs/novena.h
index 62faef0703e..c53532087b4 100644
--- a/include/configs/novena.h
+++ b/include/configs/novena.h
@@ -103,7 +103,6 @@
 
 /* Video output */
 #define CONFIG_VIDEO_BMP_RLE8
-#define CONFIG_SPLASH_SCREEN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_LOGO
 #define CONFIG_IMX_HDMI
diff --git a/include/configs/opos6uldev.h b/include/configs/opos6uldev.h
index 69f5e9f96ab..8dfd5bede3c 100644
--- a/include/configs/opos6uldev.h
+++ b/include/configs/opos6uldev.h
@@ -45,9 +45,6 @@
 #ifndef CONFIG_SPL_BUILD
 #ifdef CONFIG_DM_VIDEO
 #define CONFIG_VIDEO_LOGO
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
-#define CONFIG_SPLASH_SOURCE
 #define CONFIG_VIDEO_BMP_RLE8
 #define CONFIG_VIDEO_BMP_LOGO
 #define CONFIG_BMP_16BPP
diff --git a/include/configs/pico-imx6.h b/include/configs/pico-imx6.h
index 7403c544a49..289c1cac669 100644
--- a/include/configs/pico-imx6.h
+++ b/include/configs/pico-imx6.h
@@ -144,8 +144,6 @@
 
 /* Framebuffer */
 #define CONFIG_VIDEO_BMP_RLE8
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_LOGO
 #define CONFIG_VIDEO_BMP_LOGO
diff --git a/include/configs/pico-imx6ul.h b/include/configs/pico-imx6ul.h
index d712b638b4c..5211970a83c 100644
--- a/include/configs/pico-imx6ul.h
+++ b/include/configs/pico-imx6ul.h
@@ -147,8 +147,6 @@
 #ifdef CONFIG_VIDEO
 #define CONFIG_VIDEO_MXS
 #define CONFIG_VIDEO_LOGO
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_BMP_RLE8
 #define CONFIG_VIDEO_BMP_LOGO
diff --git a/include/configs/pico-imx7d.h b/include/configs/pico-imx7d.h
index f1b2ad4480c..12417dfeded 100644
--- a/include/configs/pico-imx7d.h
+++ b/include/configs/pico-imx7d.h
@@ -143,8 +143,6 @@
 #ifdef CONFIG_DM_VIDEO
 #define CONFIG_VIDEO_MXS
 #define CONFIG_VIDEO_LOGO
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_BMP_RLE8
 #define CONFIG_VIDEO_BMP_LOGO
diff --git a/include/configs/pxm2.h b/include/configs/pxm2.h
index ab9c116034f..588eb282a17 100644
--- a/include/configs/pxm2.h
+++ b/include/configs/pxm2.h
@@ -114,8 +114,6 @@
 
 #if defined(CONFIG_VIDEO)
 #define CONFIG_VIDEO_DA8XX
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_VIDEO_LOGO
 #define CONFIG_VIDEO_BMP_RLE8
 #define CONFIG_VIDEO_BMP_LOGO
diff --git a/include/configs/rut.h b/include/configs/rut.h
index 0dcdb101a04..7e1e8f428eb 100644
--- a/include/configs/rut.h
+++ b/include/configs/rut.h
@@ -107,8 +107,6 @@
 
 #if defined(CONFIG_VIDEO)
 #define CONFIG_VIDEO_DA8XX
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_VIDEO_LOGO
 #define CONFIG_VIDEO_BMP_RLE8
 #define CONFIG_VIDEO_BMP_LOGO
diff --git a/include/configs/s5p4418_nanopi2.h b/include/configs/s5p4418_nanopi2.h
index b54d2da9b46..8577729d654 100644
--- a/include/configs/s5p4418_nanopi2.h
+++ b/include/configs/s5p4418_nanopi2.h
@@ -152,8 +152,6 @@
 
 #define CONFIG_VIDEO_LOGO
 
-#define CONFIG_SPLASH_SCREEN
-
 #ifdef CONFIG_VIDEO_LOGO
 
 #ifdef CONFIG_DM_VIDEO
@@ -161,8 +159,6 @@
 #endif
 
 #ifdef CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SOURCE 1
-#define CONFIG_SPLASH_SCREEN_ALIGN 1
 #define SPLASH_FILE logo.bmp
 #endif
 
diff --git a/include/configs/sandbox.h b/include/configs/sandbox.h
index 6b858112a26..5554313810c 100644
--- a/include/configs/sandbox.h
+++ b/include/configs/sandbox.h
@@ -81,7 +81,6 @@
 #define LCD_BPP LCD_COLOR16
 #define CONFIG_LCD_BMP_RLE8
 #define CONFIG_VIDEO_BMP_RLE8
-#define CONFIG_SPLASH_SCREEN_ALIGN
 
 #define CONFIG_KEYBOARD
 
diff --git a/include/configs/stm32f746-disco.h b/include/configs/stm32f746-disco.h
index f7a713dd22a..74abf95ce93 100644
--- a/include/configs/stm32f746-disco.h
+++ b/include/configs/stm32f746-disco.h
@@ -81,8 +81,6 @@
 #define CONFIG_BMP_16BPP
 #define CONFIG_BMP_24BPP
 #define CONFIG_BMP_32BPP
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #endif
 
 #endif /* __CONFIG_H */
diff --git a/include/configs/wandboard.h b/include/configs/wandboard.h
index df13e3da537..5506c1a028a 100644
--- a/include/configs/wandboard.h
+++ b/include/configs/wandboard.h
@@ -38,8 +38,6 @@
 
 /* Framebuffer */
 #define CONFIG_VIDEO_BMP_RLE8
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
 #define CONFIG_BMP_16BPP
 #define CONFIG_VIDEO_LOGO
 #define CONFIG_VIDEO_BMP_LOGO
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index e2db424fd5e..5c6790bd8df 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -1584,10 +1584,6 @@ CONFIG_SPI_HALF_DUPLEX
 CONFIG_SPI_IDLE_VAL
 CONFIG_SPI_LENGTH
 CONFIG_SPI_N25Q256A_RESET
-CONFIG_SPLASHIMAGE_GUARD
-CONFIG_SPLASH_SCREEN
-CONFIG_SPLASH_SCREEN_ALIGN
-CONFIG_SPLASH_SOURCE
 CONFIG_SPLL_FREQ
 CONFIG_SPL_
 CONFIG_SPL_ATMEL_SIZE
--
2.28.0.236.gb10cc79966-goog

Reply | Threaded
Open this post in threaded view
|

[PATCH v2 3/8] Convert CONFIG_SYS_DEVICE_NULLDEV to Kconfig

Simon Glass-3
In reply to this post by Simon Glass-3
This converts the following to Kconfig:
   CONFIG_SYS_DEVICE_NULLDEV

Signed-off-by: Simon Glass <[hidden email]>
---

(no changes since v1)

 common/Kconfig                   | 16 ++++++++++++++++
 configs/M5249EVB_defconfig       |  1 +
 configs/colibri_pxa270_defconfig |  1 +
 doc/README.silent                |  2 +-
 include/configs/M5249EVB.h       |  2 --
 include/configs/colibri_pxa270.h |  2 --
 scripts/config_whitelist.txt     |  1 -
 7 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/common/Kconfig b/common/Kconfig
index 62d78c5bd73..5a6d0e0e79b 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -635,6 +635,22 @@ config SYS_STDIO_DEREGISTER
   removed (for example a USB keyboard) then this option can be
   enabled to ensure this is handled correctly.
 
+config SPL_SYS_STDIO_DEREGISTER
+ bool "Allow deregistering stdio devices in SPL"
+ help
+  Generally there is no need to deregister stdio devices since they
+  are never deactivated. But if a stdio device is used which can be
+  removed (for example a USB keyboard) then this option can be
+  enabled to ensure this is handled correctly. This is very rarely
+  needed in SPL.
+
+config SYS_DEVICE_NULLDEV
+ bool "Enable a null device for stdio"
+ help
+  Enable creation of a "nulldev" stdio device. This allows silent
+  operation of the console by setting stdout to "nulldev". Enable
+  this to use a serial console under board control.
+
 endmenu
 
 menu "Logging"
diff --git a/configs/M5249EVB_defconfig b/configs/M5249EVB_defconfig
index d4871c60c70..8f8a4a6bad5 100644
--- a/configs/M5249EVB_defconfig
+++ b/configs/M5249EVB_defconfig
@@ -5,6 +5,7 @@ CONFIG_ENV_SECT_SIZE=0x2000
 CONFIG_TARGET_M5249EVB=y
 CONFIG_DEFAULT_DEVICE_TREE="M5249EVB"
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
+CONFIG_SYS_DEVICE_NULLDEV=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 # CONFIG_CMDLINE_EDITING is not set
 # CONFIG_AUTOBOOT is not set
diff --git a/configs/colibri_pxa270_defconfig b/configs/colibri_pxa270_defconfig
index 89e05608423..2865730b8ff 100644
--- a/configs/colibri_pxa270_defconfig
+++ b/configs/colibri_pxa270_defconfig
@@ -10,6 +10,7 @@ CONFIG_ENV_SECT_SIZE=0x40000
 CONFIG_ENV_VARS_UBOOT_CONFIG=y
 CONFIG_USE_BOOTARGS=y
 CONFIG_BOOTARGS="console=tty0 console=ttyS0,115200"
+CONFIG_SYS_DEVICE_NULLDEV=y
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 # CONFIG_CMDLINE_EDITING is not set
diff --git a/doc/README.silent b/doc/README.silent
index 6d90a0ec403..00288e03b01 100644
--- a/doc/README.silent
+++ b/doc/README.silent
@@ -19,7 +19,7 @@ The following actions are taken if "silent" is set at boot time:
  - When the console devices have been initialized, "stdout" and
    "stderr" are set to "nulldev", so subsequent messages are
    suppressed automatically. Make sure to enable "nulldev" by
-   #defining CONFIG_SYS_DEVICE_NULLDEV in your board config file.
+   enabling CONFIG_SYS_DEVICE_NULLDEV in your board defconfig file.
 
  - When booting a linux kernel, the "bootargs" are fixed up so that
    the argument "console=" will be in the command line, no matter how
diff --git a/include/configs/M5249EVB.h b/include/configs/M5249EVB.h
index de7132940c1..1a1a1107654 100644
--- a/include/configs/M5249EVB.h
+++ b/include/configs/M5249EVB.h
@@ -31,8 +31,6 @@
  */
 #undef CONFIG_BOOTP_BOOTFILESIZE
 
-#define CONFIG_SYS_DEVICE_NULLDEV 1 /* include nulldev device */
-
 #define CONFIG_SYS_LOAD_ADDR 0x200000 /* default load address */
 
 /*
diff --git a/include/configs/colibri_pxa270.h b/include/configs/colibri_pxa270.h
index 4686b8946e3..3dedcdaad28 100644
--- a/include/configs/colibri_pxa270.h
+++ b/include/configs/colibri_pxa270.h
@@ -69,8 +69,6 @@
 #define CONFIG_BOOTP_BOOTFILESIZE
 #endif
 
-#define CONFIG_SYS_DEVICE_NULLDEV 1
-
 /*
  * Clock Configuration
  */
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index 5c6790bd8df..14d5e4c1757 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -2117,7 +2117,6 @@ CONFIG_SYS_DEBUG_SERVER_FW_IN_NOR
 CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS
 CONFIG_SYS_DEFAULT_VIDEO_MODE
 CONFIG_SYS_DEF_EEPROM_ADDR
-CONFIG_SYS_DEVICE_NULLDEV
 CONFIG_SYS_DFU_DATA_BUF_SIZE
 CONFIG_SYS_DFU_MAX_FILE_SIZE
 CONFIG_SYS_DIAG_ADDR
--
2.28.0.236.gb10cc79966-goog

Reply | Threaded
Open this post in threaded view
|

[PATCH v2 4/8] stdio: Tidy up use of CONFIG_SYS_DEVICE_NULLDEV

Simon Glass-3
In reply to this post by Simon Glass-3
Now that this is in Kconfig we can move the logic at the top of the file
to Kconfig, and use if() instead of #if. Update the file with these
changes.

Signed-off-by: Simon Glass <[hidden email]>
---

(no changes since v1)

 common/Kconfig |  1 +
 common/stdio.c | 30 ++++++++++--------------------
 2 files changed, 11 insertions(+), 20 deletions(-)

diff --git a/common/Kconfig b/common/Kconfig
index 5a6d0e0e79b..8f61aa76024 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -646,6 +646,7 @@ config SPL_SYS_STDIO_DEREGISTER
 
 config SYS_DEVICE_NULLDEV
  bool "Enable a null device for stdio"
+ default y if SPLASH_SCREEN || SYS_STDIO_DEREGISTER
  help
   Enable creation of a "nulldev" stdio device. This allows silent
   operation of the console by setting stdout to "nulldev". Enable
diff --git a/common/stdio.c b/common/stdio.c
index 2119204b982..33a795e7bb4 100644
--- a/common/stdio.c
+++ b/common/stdio.c
@@ -31,15 +31,6 @@ static struct stdio_dev devs;
 struct stdio_dev *stdio_devices[] = { NULL, NULL, NULL };
 char *stdio_names[MAX_FILES] = { "stdin", "stdout", "stderr" };
 
-#if defined(CONFIG_SPLASH_SCREEN) && !defined(CONFIG_SYS_DEVICE_NULLDEV)
-#define CONFIG_SYS_DEVICE_NULLDEV 1
-#endif
-
-#if CONFIG_IS_ENABLED(SYS_STDIO_DEREGISTER)
-#define CONFIG_SYS_DEVICE_NULLDEV 1
-#endif
-
-#ifdef CONFIG_SYS_DEVICE_NULLDEV
 static void nulldev_putc(struct stdio_dev *dev, const char c)
 {
  /* nulldev is empty! */
@@ -55,7 +46,6 @@ static int nulldev_input(struct stdio_dev *dev)
  /* nulldev is empty! */
  return 0;
 }
-#endif
 
 static void stdio_serial_putc(struct stdio_dev *dev, const char c)
 {
@@ -96,18 +86,18 @@ static void drv_system_init (void)
  dev.tstc = stdio_serial_tstc;
  stdio_register (&dev);
 
-#ifdef CONFIG_SYS_DEVICE_NULLDEV
- memset (&dev, 0, sizeof (dev));
+ if (CONFIG_IS_ENABLED(SYS_DEVICE_NULLDEV)) {
+ memset(&dev, '\0', sizeof(dev));
 
- strcpy (dev.name, "nulldev");
- dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT;
- dev.putc = nulldev_putc;
- dev.puts = nulldev_puts;
- dev.getc = nulldev_input;
- dev.tstc = nulldev_input;
+ strcpy(dev.name, "nulldev");
+ dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT;
+ dev.putc = nulldev_putc;
+ dev.puts = nulldev_puts;
+ dev.getc = nulldev_input;
+ dev.tstc = nulldev_input;
 
- stdio_register (&dev);
-#endif
+ stdio_register(&dev);
+ }
 }
 
 /**************************************************************************
--
2.28.0.236.gb10cc79966-goog

Reply | Threaded
Open this post in threaded view
|

[PATCH v2 5/8] stdio: Drop #ifdefs in the header file

Simon Glass-3
In reply to this post by Simon Glass-3
These prevent the use of IS_ENABLED() and are unnecessary. Drop them and
fix a few code-style nits nearby.

Signed-off-by: Simon Glass <[hidden email]>
---

(no changes since v1)

 include/stdio_dev.h | 40 ++++++++++++----------------------------
 1 file changed, 12 insertions(+), 28 deletions(-)

diff --git a/include/stdio_dev.h b/include/stdio_dev.h
index cd0cd601bff..b61c0c6ceff 100644
--- a/include/stdio_dev.h
+++ b/include/stdio_dev.h
@@ -57,7 +57,7 @@ extern char *stdio_names[MAX_FILES];
 /*
  * PROTOTYPES
  */
-int stdio_register (struct stdio_dev * dev);
+int stdio_register(struct stdio_dev *dev);
 int stdio_register_dev(struct stdio_dev *dev, struct stdio_dev **devp);
 
 /**
@@ -82,35 +82,19 @@ int stdio_add_devices(void);
  */
 int stdio_init(void);
 
-void stdio_print_current_devices(void);
-#if CONFIG_IS_ENABLED(SYS_STDIO_DEREGISTER)
+void stdio_print_current_devices(void);
 int stdio_deregister(const char *devname, int force);
 int stdio_deregister_dev(struct stdio_dev *dev, int force);
-#endif
-struct list_head* stdio_get_list(void);
-struct stdio_dev* stdio_get_by_name(const char* name);
-struct stdio_dev* stdio_clone(struct stdio_dev *dev);
-
-#ifdef CONFIG_LCD
-int drv_lcd_init (void);
-#endif
-#if defined(CONFIG_VIDEO) || defined(CONFIG_CFB_CONSOLE)
-int drv_video_init (void);
-#endif
-#ifdef CONFIG_KEYBOARD
-int drv_keyboard_init (void);
-#endif
-#ifdef CONFIG_USB_TTY
-int drv_usbtty_init (void);
-#endif
-#ifdef CONFIG_NETCONSOLE
-int drv_nc_init (void);
-#endif
-#ifdef CONFIG_JTAG_CONSOLE
-int drv_jtag_console_init (void);
-#endif
-#ifdef CONFIG_CBMEM_CONSOLE
+struct list_head *stdio_get_list(void);
+struct stdio_dev *stdio_get_by_name(const char *name);
+struct stdio_dev *stdio_clone(struct stdio_dev *dev);
+
+int drv_lcd_init(void);
+int drv_video_init(void);
+int drv_keyboard_init(void);
+int drv_usbtty_init(void);
+int drv_nc_init(void);
+int drv_jtag_console_init(void);
 int cbmemc_init(void);
-#endif
 
 #endif
--
2.28.0.236.gb10cc79966-goog

Reply | Threaded
Open this post in threaded view
|

[PATCH v2 6/8] stdio: Update to use compiler for Kconfig checks

Simon Glass-3
In reply to this post by Simon Glass-3
Drop use of the preprocessor where possible.

Signed-off-by: Simon Glass <[hidden email]>
---

(no changes since v1)

 common/stdio.c | 172 ++++++++++++++++++++++++-------------------------
 1 file changed, 83 insertions(+), 89 deletions(-)

diff --git a/common/stdio.c b/common/stdio.c
index 33a795e7bb4..1921dc67194 100644
--- a/common/stdio.c
+++ b/common/stdio.c
@@ -18,10 +18,7 @@
 #include <stdio_dev.h>
 #include <serial.h>
 #include <splash.h>
-
-#if defined(CONFIG_SYS_I2C)
 #include <i2c.h>
-#endif
 
 #include <dm/device-internal.h>
 
@@ -109,7 +106,6 @@ struct list_head* stdio_get_list(void)
  return &(devs.list);
 }
 
-#ifdef CONFIG_DM_VIDEO
 /**
  * stdio_probe_device() - Find a device which provides the given stdio device
  *
@@ -160,7 +156,6 @@ static int stdio_probe_device(const char *name, enum uclass_id id,
 
  return 0;
 }
-#endif
 
 struct stdio_dev *stdio_get_by_name(const char *name)
 {
@@ -175,22 +170,23 @@ struct stdio_dev *stdio_get_by_name(const char *name)
  if (strcmp(sdev->name, name) == 0)
  return sdev;
  }
-#ifdef CONFIG_DM_VIDEO
- /*
- * We did not find a suitable stdio device. If there is a video
- * driver with a name starting with 'vidconsole', we can try probing
- * that in the hope that it will produce the required stdio device.
- *
- * This function is sometimes called with the entire value of
- * 'stdout', which may include a list of devices separate by commas.
- * Obviously this is not going to work, so we ignore that case. The
- * call path in that case is console_init_r() -> search_device() ->
- * stdio_get_by_name().
- */
- if (!strncmp(name, "vidconsole", 10) && !strchr(name, ',') &&
-    !stdio_probe_device(name, UCLASS_VIDEO, &sdev))
- return sdev;
-#endif
+ if (IS_ENABLED(CONFIG_DM_VIDEO)) {
+ /*
+ * We did not find a suitable stdio device. If there is a video
+ * driver with a name starting with 'vidconsole', we can try
+ * probing that in the hope that it will produce the required
+ * stdio device.
+ *
+ * This function is sometimes called with the entire value of
+ * 'stdout', which may include a list of devices separate by
+ * commas. Obviously this is not going to work, so we ignore
+ * that case. The call path in that case is
+ * console_init_r() -> search_device() -> stdio_get_by_name()
+ */
+ if (!strncmp(name, "vidconsole", 10) && !strchr(name, ',') &&
+    !stdio_probe_device(name, UCLASS_VIDEO, &sdev))
+ return sdev;
+ }
 
  return NULL;
 }
@@ -234,7 +230,6 @@ int stdio_register(struct stdio_dev *dev)
 /* deregister the device "devname".
  * returns 0 if success, -1 if device is assigned and 1 if devname not found
  */
-#if CONFIG_IS_ENABLED(SYS_STDIO_DEREGISTER)
 int stdio_deregister_dev(struct stdio_dev *dev, int force)
 {
  int l;
@@ -281,7 +276,6 @@ int stdio_deregister(const char *devname, int force)
 
  return stdio_deregister_dev(dev, force);
 }
-#endif /* CONFIG_IS_ENABLED(SYS_STDIO_DEREGISTER) */
 
 int stdio_init_tables(void)
 {
@@ -305,87 +299,87 @@ int stdio_init_tables(void)
 
 int stdio_add_devices(void)
 {
-#ifdef CONFIG_DM_KEYBOARD
  struct udevice *dev;
  struct uclass *uc;
  int ret;
 
- /*
- * For now we probe all the devices here. At some point this should be
- * done only when the devices are required - e.g. we have a list of
- * input devices to start up in the stdin environment variable. That
- * work probably makes more sense when stdio itself is converted to
- * driver model.
- *
- * TODO([hidden email]): Convert changing uclass_first_device() etc.
- * to return the device even on error. Then we could use that here.
- */
- ret = uclass_get(UCLASS_KEYBOARD, &uc);
- if (ret)
- return ret;
-
- /* Don't report errors to the caller - assume that they are non-fatal */
- uclass_foreach_dev(dev, uc) {
- ret = device_probe(dev);
+ if (IS_ENABLED(CONFIG_DM_KEYBOARD)) {
+ /*
+ * For now we probe all the devices here. At some point this
+ * should be done only when the devices are required - e.g. we
+ * have a list of input devices to start up in the stdin
+ * environment variable. That work probably makes more sense
+ * when stdio itself is converted to driver model.
+ *
+ * TODO([hidden email]): Convert changing
+ * uclass_first_device() etc. to return the device even on
+ * error. Then we could use that here.
+ */
+ ret = uclass_get(UCLASS_KEYBOARD, &uc);
  if (ret)
- printf("Failed to probe keyboard '%s'\n", dev->name);
+ return ret;
+
+ /*
+ * Don't report errors to the caller - assume that they are
+ * non-fatal
+ */
+ uclass_foreach_dev(dev, uc) {
+ ret = device_probe(dev);
+ if (ret)
+ printf("Failed to probe keyboard '%s'\n",
+       dev->name);
+ }
  }
-#endif
 #ifdef CONFIG_SYS_I2C
  i2c_init_all();
-#else
 #endif
-#ifdef CONFIG_DM_VIDEO
- /*
- * If the console setting is not in environment variables then
- * console_init_r() will not be calling iomux_doenv() (which calls
- * search_device()). So we will not dynamically add devices by
- * calling stdio_probe_device().
- *
- * So just probe all video devices now so that whichever one is
- * required will be available.
- */
-#ifndef CONFIG_SYS_CONSOLE_IS_IN_ENV
- struct udevice *vdev;
-# ifndef CONFIG_DM_KEYBOARD
- int ret;
-# endif
-
- 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);
-#endif /* !CONFIG_SYS_CONSOLE_IS_IN_ENV */
-#if defined(CONFIG_SPLASH_SCREEN) && defined(CONFIG_CMD_BMP)
- splash_display();
-#endif /* CONFIG_SPLASH_SCREEN && CONFIG_CMD_BMP */
-#else
-# if defined(CONFIG_LCD)
- drv_lcd_init ();
-# endif
-# if defined(CONFIG_VIDEO) || defined(CONFIG_CFB_CONSOLE)
- drv_video_init ();
-# endif
-#endif /* CONFIG_DM_VIDEO */
+ if (IS_ENABLED(CONFIG_DM_VIDEO)) {
+ /*
+ * If the console setting is not in environment variables then
+ * console_init_r() will not be calling iomux_doenv() (which
+ * calls search_device()). So we will not dynamically add
+ * devices by calling stdio_probe_device().
+ *
+ * So just probe all video devices now so that whichever one is
+ * required will be available.
+ */
+ struct udevice *vdev;
+ int ret;
+
+ if (!IS_ENABLED(CONFIG_SYS_CONSOLE_IS_IN_ENV)) {
+ 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);
+ }
+ if (IS_ENABLED(CONFIG_SPLASH_SCREEN) &&
+    IS_ENABLED(CONFIG_CMD_BMP))
+ splash_display();
+ } else {
+ if (IS_ENABLED(CONFIG_LCD))
+ drv_lcd_init();
+ if (IS_ENABLED(CONFIG_VIDEO) || IS_ENABLED(CONFIG_CFB_CONSOLE))
+ drv_video_init();
+ }
+
 #if defined(CONFIG_KEYBOARD) && !defined(CONFIG_DM_KEYBOARD)
- drv_keyboard_init ();
+ drv_keyboard_init();
 #endif
- drv_system_init ();
- serial_stdio_init ();
+ drv_system_init();
+ serial_stdio_init();
 #ifdef CONFIG_USB_TTY
- drv_usbtty_init ();
-#endif
-#ifdef CONFIG_NETCONSOLE
- drv_nc_init ();
+ drv_usbtty_init();
 #endif
+ if (IS_ENABLED(CONFIG_NETCONSOLE))
+ drv_nc_init();
 #ifdef CONFIG_JTAG_CONSOLE
- drv_jtag_console_init ();
-#endif
-#ifdef CONFIG_CBMEM_CONSOLE
- cbmemc_init();
+ drv_jtag_console_init();
 #endif
+ if (IS_ENABLED(CONFIG_CBMEM_CONSOLE))
+ cbmemc_init();
 
  return 0;
 }
--
2.28.0.236.gb10cc79966-goog

Reply | Threaded
Open this post in threaded view
|

[PATCH v2 7/8] stdio: Drop brackets around &devs.list

Simon Glass-3
In reply to this post by Simon Glass-3
These brackets are not needed. Drop them.

Signed-off-by: Simon Glass <[hidden email]>
---

(no changes since v1)

 common/stdio.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/common/stdio.c b/common/stdio.c
index 1921dc67194..d67ea60d6c6 100644
--- a/common/stdio.c
+++ b/common/stdio.c
@@ -103,7 +103,7 @@ static void drv_system_init (void)
  */
 struct list_head* stdio_get_list(void)
 {
- return &(devs.list);
+ return &devs.list;
 }
 
 /**
@@ -165,7 +165,7 @@ struct stdio_dev *stdio_get_by_name(const char *name)
  if (!name)
  return NULL;
 
- list_for_each(pos, &(devs.list)) {
+ list_for_each(pos, &devs.list) {
  sdev = list_entry(pos, struct stdio_dev, list);
  if (strcmp(sdev->name, name) == 0)
  return sdev;
@@ -215,7 +215,7 @@ int stdio_register_dev(struct stdio_dev *dev, struct stdio_dev **devp)
  _dev = stdio_clone(dev);
  if(!_dev)
  return -ENODEV;
- list_add_tail(&(_dev->list), &(devs.list));
+ list_add_tail(&_dev->list, &devs.list);
  if (devp)
  *devp = _dev;
 
@@ -251,11 +251,11 @@ int stdio_deregister_dev(struct stdio_dev *dev, int force)
  sizeof(temp_names[l]));
  }
 
- list_del(&(dev->list));
+ list_del(&dev->list);
  free(dev);
 
  /* reassign Device list */
- list_for_each(pos, &(devs.list)) {
+ list_for_each(pos, &devs.list) {
  dev = list_entry(pos, struct stdio_dev, list);
  for (l=0 ; l< MAX_FILES; l++) {
  if(strcmp(dev->name, temp_names[l]) == 0)
@@ -292,7 +292,7 @@ int stdio_init_tables(void)
 #endif /* CONFIG_NEEDS_MANUAL_RELOC */
 
  /* Initialize the list */
- INIT_LIST_HEAD(&(devs.list));
+ INIT_LIST_HEAD(&devs.list);
 
  return 0;
 }
--
2.28.0.236.gb10cc79966-goog

Reply | Threaded
Open this post in threaded view
|

[PATCH v2 8/8] stdio: Tidy up the coding style

Simon Glass-3
In reply to this post by Simon Glass-3
Bring the coding style in this file up to the current level.

Signed-off-by: Simon Glass <[hidden email]>
---

Changes in v2:
- Rebase to master

 common/stdio.c      | 37 ++++++++++++++++---------------------
 include/stdio_dev.h |  9 +++++++++
 2 files changed, 25 insertions(+), 21 deletions(-)

diff --git a/common/stdio.c b/common/stdio.c
index d67ea60d6c6..84c36a735c0 100644
--- a/common/stdio.c
+++ b/common/stdio.c
@@ -191,16 +191,15 @@ struct stdio_dev *stdio_get_by_name(const char *name)
  return NULL;
 }
 
-struct stdio_dev* stdio_clone(struct stdio_dev *dev)
+struct stdio_dev *stdio_clone(struct stdio_dev *dev)
 {
  struct stdio_dev *_dev;
 
- if(!dev)
+ if (!dev)
  return NULL;
 
  _dev = calloc(1, sizeof(struct stdio_dev));
-
- if(!_dev)
+ if (!_dev)
  return NULL;
 
  memcpy(_dev, dev, sizeof(struct stdio_dev));
@@ -213,7 +212,7 @@ int stdio_register_dev(struct stdio_dev *dev, struct stdio_dev **devp)
  struct stdio_dev *_dev;
 
  _dev = stdio_clone(dev);
- if(!_dev)
+ if (!_dev)
  return -ENODEV;
  list_add_tail(&_dev->list, &devs.list);
  if (devp)
@@ -227,41 +226,38 @@ int stdio_register(struct stdio_dev *dev)
  return stdio_register_dev(dev, NULL);
 }
 
-/* deregister the device "devname".
- * returns 0 if success, -1 if device is assigned and 1 if devname not found
- */
 int stdio_deregister_dev(struct stdio_dev *dev, int force)
 {
- int l;
  struct list_head *pos;
  char temp_names[3][16];
+ int i;
 
  /* get stdio devices (ListRemoveItem changes the dev list) */
- for (l=0 ; l< MAX_FILES; l++) {
- if (stdio_devices[l] == dev) {
+ for (i = 0 ; i < MAX_FILES; i++) {
+ if (stdio_devices[i] == dev) {
  if (force) {
- strcpy(temp_names[l], "nulldev");
+ strcpy(temp_names[i], "nulldev");
  continue;
  }
  /* Device is assigned -> report error */
- return -1;
+ return -EBUSY;
  }
- memcpy (&temp_names[l][0],
- stdio_devices[l]->name,
- sizeof(temp_names[l]));
+ memcpy(&temp_names[i][0], stdio_devices[i]->name,
+       sizeof(temp_names[i]));
  }
 
  list_del(&dev->list);
  free(dev);
 
- /* reassign Device list */
+ /* reassign device list */
  list_for_each(pos, &devs.list) {
  dev = list_entry(pos, struct stdio_dev, list);
- for (l=0 ; l< MAX_FILES; l++) {
- if(strcmp(dev->name, temp_names[l]) == 0)
- stdio_devices[l] = dev;
+ for (i = 0 ; i < MAX_FILES; i++) {
+ if (strcmp(dev->name, temp_names[i]) == 0)
+ stdio_devices[i] = dev;
  }
  }
+
  return 0;
 }
 
@@ -270,7 +266,6 @@ int stdio_deregister(const char *devname, int force)
  struct stdio_dev *dev;
 
  dev = stdio_get_by_name(devname);
-
  if (!dev) /* device not found */
  return -ENODEV;
 
diff --git a/include/stdio_dev.h b/include/stdio_dev.h
index b61c0c6ceff..48871a6a22b 100644
--- a/include/stdio_dev.h
+++ b/include/stdio_dev.h
@@ -84,6 +84,15 @@ int stdio_init(void);
 
 void stdio_print_current_devices(void);
 int stdio_deregister(const char *devname, int force);
+
+/**
+ * stdio_deregister_dev() - deregister the device "devname".
+ *
+ * @dev: Stdio device to deregister
+ * @force: true to force deregistration even if in use
+ *
+ * returns 0 on success, -EBUSY if device is assigned
+ */
 int stdio_deregister_dev(struct stdio_dev *dev, int force);
 struct list_head *stdio_get_list(void);
 struct stdio_dev *stdio_get_by_name(const char *name);
--
2.28.0.236.gb10cc79966-goog

Reply | Threaded
Open this post in threaded view
|

Re: [PATCH v2 1/8] moveconfig: Skip binary and ELF files

Tom Rini-4
In reply to this post by Simon Glass-3
On Tue, Aug 11, 2020 at 11:23:34AM -0600, Simon Glass wrote:

> Add a few more file extensions to the list of files that should not be
> processed. This avoids unicode errors, for example.
>
> Signed-off-by: Simon Glass <[hidden email]>

Applied to u-boot/master, thanks!

--
Tom

signature.asc (673 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH v2 2/8] Convert CONFIG_SPLASH_SCREEN et al to Kconfig

Tom Rini-4
In reply to this post by Simon Glass-3
On Tue, Aug 11, 2020 at 11:23:35AM -0600, Simon Glass wrote:

> This converts the following to Kconfig:
>    CONFIG_SPLASH_SCREEN
>    CONFIG_SPLASH_SCREEN_ALIGN
>    CONFIG_SPLASHIMAGE_GUARD
>    CONFIG_SPLASH_SOURCE
>
> Signed-off-by: Simon Glass <[hidden email]>

Applied to u-boot/master, thanks!

--
Tom

signature.asc (673 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH v2 3/8] Convert CONFIG_SYS_DEVICE_NULLDEV to Kconfig

Tom Rini-4
In reply to this post by Simon Glass-3
On Tue, Aug 11, 2020 at 11:23:36AM -0600, Simon Glass wrote:

> This converts the following to Kconfig:
>    CONFIG_SYS_DEVICE_NULLDEV
>
> Signed-off-by: Simon Glass <[hidden email]>

Applied to u-boot/master, thanks!

--
Tom

signature.asc (673 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH v2 4/8] stdio: Tidy up use of CONFIG_SYS_DEVICE_NULLDEV

Tom Rini-4
In reply to this post by Simon Glass-3
On Tue, Aug 11, 2020 at 11:23:37AM -0600, Simon Glass wrote:

> Now that this is in Kconfig we can move the logic at the top of the file
> to Kconfig, and use if() instead of #if. Update the file with these
> changes.
>
> Signed-off-by: Simon Glass <[hidden email]>

Applied to u-boot/master, thanks!

--
Tom

signature.asc (673 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH v2 5/8] stdio: Drop #ifdefs in the header file

Tom Rini-4
In reply to this post by Simon Glass-3
On Tue, Aug 11, 2020 at 11:23:38AM -0600, Simon Glass wrote:

> These prevent the use of IS_ENABLED() and are unnecessary. Drop them and
> fix a few code-style nits nearby.
>
> Signed-off-by: Simon Glass <[hidden email]>

Applied to u-boot/master, thanks!

--
Tom

signature.asc (673 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH v2 6/8] stdio: Update to use compiler for Kconfig checks

Tom Rini-4
In reply to this post by Simon Glass-3
On Tue, Aug 11, 2020 at 11:23:39AM -0600, Simon Glass wrote:

> Drop use of the preprocessor where possible.
>
> Signed-off-by: Simon Glass <[hidden email]>

Applied to u-boot/master, thanks!

--
Tom

signature.asc (673 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH v2 7/8] stdio: Drop brackets around &devs.list

Tom Rini-4
In reply to this post by Simon Glass-3
On Tue, Aug 11, 2020 at 11:23:40AM -0600, Simon Glass wrote:

> These brackets are not needed. Drop them.
>
> Signed-off-by: Simon Glass <[hidden email]>

Applied to u-boot/master, thanks!

--
Tom

signature.asc (673 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH v2 8/8] stdio: Tidy up the coding style

Tom Rini-4
In reply to this post by Simon Glass-3
On Tue, Aug 11, 2020 at 11:23:41AM -0600, Simon Glass wrote:

> Bring the coding style in this file up to the current level.
>
> Signed-off-by: Simon Glass <[hidden email]>

Applied to u-boot/master, thanks!

--
Tom

signature.asc (673 bytes) Download Attachment