[PATCH v2] cmd: pxe_utils: sysboot: replace cls command by video_clear in PXE parser
Patrice CHOTARD
patrice.chotard at foss.st.com
Wed Mar 23 09:35:56 CET 2022
Hi Patrick
On 3/22/22 17:08, Patrick Delaunay wrote:
> Since the commit bfaa51dd4adf ("cmd: add serial console support
> for the cls command") the cls command is not enough to clear the
> video display when ANSI console is activated.
>
> This patch clears the video device with the video_clear() API
> before to display the bitmap used for the PXE background.
>
> This patch avoids to display the LOGO, activated by default with
> commit 7a8555d87136 ("video: Show the U-Boot logo by default").
>
> Signed-off-by: Patrick Delaunay <patrick.delaunay at foss.st.com>
> ---
> I let a patman warning:
>
> boot/pxe_utils.c:1520: warning: Use 'if (IS_ENABLED(CONFIG...))'
> instead of '#if or #ifdef' where possible
>
>
> To avoid parameter issue for video_clear(dev) function:
> no parameter dev when CONFIG_DM_VIDEO is deactivated.
>
>
> Changes in v2:
> - move #include <dm.h> to avoid compilation issue when CONFIG_DM_RNG
> is not activated for uclass_first_device_err
> - Avoid error too many arguments to function 'video_clear'
> when CONFIG_DM_VIDEO is not activated, use: #if defined(CONFIG_DM_VIDEO)
>
> boot/pxe_utils.c | 12 +++++++++---
> 1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/boot/pxe_utils.c b/boot/pxe_utils.c
> index 0c24becae3..b08aee9896 100644
> --- a/boot/pxe_utils.c
> +++ b/boot/pxe_utils.c
> @@ -6,6 +6,7 @@
>
> #include <common.h>
> #include <command.h>
> +#include <dm.h>
> #include <env.h>
> #include <image.h>
> #include <log.h>
> @@ -14,6 +15,7 @@
> #include <lcd.h>
> #include <net.h>
> #include <fdt_support.h>
> +#include <video.h>
> #include <linux/libfdt.h>
> #include <linux/string.h>
> #include <linux/ctype.h>
> @@ -21,7 +23,6 @@
> #include <linux/list.h>
>
> #ifdef CONFIG_DM_RNG
> -#include <dm.h>
> #include <rng.h>
> #endif
>
> @@ -1516,8 +1517,13 @@ void handle_pxe_menu(struct pxe_context *ctx, struct pxe_menu *cfg)
> /* display BMP if available */
> if (cfg->bmp) {
> if (get_relfile(ctx, cfg->bmp, image_load_addr, NULL)) {
> - if (CONFIG_IS_ENABLED(CMD_CLS))
> - run_command("cls", 0);
> +#if defined(CONFIG_DM_VIDEO)
> + struct udevice *dev;
> +
> + err = uclass_first_device_err(UCLASS_VIDEO, &dev);
> + if (!err)
> + video_clear(dev);
> +#endif
> bmp_display(image_load_addr,
> BMP_ALIGN_CENTER, BMP_ALIGN_CENTER);
> } else {
Reviewed-by: Patrice Chotard <patrice.chotard at foss.st.com>
Thanks
More information about the U-Boot
mailing list