diff mbox series

[v2] cmd: pxe_utils: sysboot: replace cls command by video_clear in PXE parser

Message ID 20220322170840.v2.1.I87cd34696829974a97e4eae53f9652577d6e2e4b@changeid
State Accepted
Commit e6fe02a5715b3dc02fe4041c4f5a59099a711d70
Delegated to: Tom Rini
Headers show
Series [v2] cmd: pxe_utils: sysboot: replace cls command by video_clear in PXE parser | expand

Commit Message

Patrick DELAUNAY March 22, 2022, 4:08 p.m. UTC
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@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(-)

Comments

Patrice CHOTARD March 23, 2022, 8:35 a.m. UTC | #1
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@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@foss.st.com>

Thanks
Tom Rini April 11, 2022, 8:15 p.m. UTC | #2
On Tue, Mar 22, 2022 at 05:08:43PM +0100, 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@foss.st.com>
> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>

Applied to u-boot/master, thanks!
diff mbox series

Patch

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 {