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.delau...@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.chot...@foss.st.com>
Thanks