All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] generic-board: show model name in board_init_f() too
@ 2014-11-27 17:03 Masahiro Yamada
  2014-11-27 18:14 ` Simon Glass
  0 siblings, 1 reply; 4+ messages in thread
From: Masahiro Yamada @ 2014-11-27 17:03 UTC (permalink / raw)
  To: u-boot

The common/board_r.c has show_model_r() to display the model name
if the DTB has a "model" property.  It sounds useful to have a similar
function in common/board_f.c too because most of the boards show
their board name before relocation.

Instead of implementing the same function in both common/board_f.c
and common/board_r.c, let's split it up into common/show_board_info.c.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---

 common/Makefile     |  2 ++
 common/board_f.c    |  2 +-
 common/board_info.c | 34 ++++++++++++++++++++++++++++++++++
 common/board_r.c    | 18 +-----------------
 include/common.h    | 13 +++++++------
 5 files changed, 45 insertions(+), 24 deletions(-)
 create mode 100644 common/board_info.c

diff --git a/common/Makefile b/common/Makefile
index 9c47e20..8de1ac7 100644
--- a/common/Makefile
+++ b/common/Makefile
@@ -37,6 +37,8 @@ endif
 # boards
 obj-$(CONFIG_SYS_GENERIC_BOARD) += board_f.o
 obj-$(CONFIG_SYS_GENERIC_BOARD) += board_r.o
+obj-$(CONFIG_DISPLAY_BOARDINFO) += board_info.o
+obj-$(CONFIG_DISPLAY_BOARDINFO_LATE) += board_info.o
 
 # core command
 obj-y += cmd_boot.o
diff --git a/common/board_f.c b/common/board_f.c
index 98c9c72..48acc7d 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -886,7 +886,7 @@ static init_fnc_t init_sequence_f[] = {
 	prt_mpc5xxx_clks,
 #endif /* CONFIG_MPC5xxx */
 #if defined(CONFIG_DISPLAY_BOARDINFO)
-	checkboard,		/* display board info */
+	show_board_info,
 #endif
 	INIT_FUNC_WATCHDOG_INIT
 #if defined(CONFIG_MISC_INIT_F)
diff --git a/common/board_info.c b/common/board_info.c
new file mode 100644
index 0000000..e0d5cef
--- /dev/null
+++ b/common/board_info.c
@@ -0,0 +1,34 @@
+/*
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <linux/compiler.h>
+
+int __weak checkboard(void)
+{
+	printf("Board: Unknown\n");
+	return 0;
+}
+
+/*
+ * If the root node of the DTB has a "model" property, show it.
+ * If CONFIG_OF_CONTROL is disabled or the "model" property is missing,
+ * fall back to checkboard().
+ */
+int show_board_info(void)
+{
+#ifdef CONFIG_OF_CONTROL
+	DECLARE_GLOBAL_DATA_PTR;
+	const char *model;
+
+	model = fdt_getprop(gd->fdt_blob, 0, "model", NULL);
+
+	if (model) {
+		printf("Model: %s\n", model);
+		return 0;
+	}
+#endif
+
+	return checkboard();
+}
diff --git a/common/board_r.c b/common/board_r.c
index 19c6427..61fbbc8 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -498,22 +498,6 @@ static int initr_api(void)
 }
 #endif
 
-#ifdef CONFIG_DISPLAY_BOARDINFO_LATE
-static int show_model_r(void)
-{
-	/* Put this here so it appears on the LCD, now it is ready */
-# ifdef CONFIG_OF_CONTROL
-	const char *model;
-
-	model = (char *)fdt_getprop(gd->fdt_blob, 0, "model", NULL);
-	printf("Model: %s\n", model ? model : "<unknown>");
-# else
-	checkboard();
-# endif
-	return 0;
-}
-#endif
-
 /* enable exceptions */
 #ifdef CONFIG_ARM
 static int initr_enable_interrupts(void)
@@ -823,7 +807,7 @@ init_fnc_t init_sequence_r[] = {
 #endif
 	console_init_r,		/* fully init console as a device */
 #ifdef CONFIG_DISPLAY_BOARDINFO_LATE
-	show_model_r,
+	show_board_info,
 #endif
 #ifdef CONFIG_ARCH_MISC_INIT
 	arch_misc_init,		/* miscellaneous arch-dependent init */
diff --git a/include/common.h b/include/common.h
index f1ab2cf..c82336f 100644
--- a/include/common.h
+++ b/include/common.h
@@ -231,12 +231,13 @@ int run_command_list(const char *cmd, int len, int flag);
 extern char console_buffer[];
 
 /* arch/$(ARCH)/lib/board.c */
-void	board_init_f(ulong);
-void	board_init_r  (gd_t *, ulong) __attribute__ ((noreturn));
-int	checkboard    (void);
-int	checkflash    (void);
-int	checkdram     (void);
-int	last_stage_init(void);
+void board_init_f(ulong);
+void board_init_r(gd_t *, ulong) __attribute__ ((noreturn));
+int checkboard(void);
+int show_board_info(void);
+int checkflash(void);
+int checkdram(void);
+int last_stage_init(void);
 extern ulong monitor_flash_len;
 int mac_read_from_eeprom(void);
 extern u8 __dtb_dt_begin[];	/* embedded device tree blob */
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [U-Boot] [PATCH] generic-board: show model name in board_init_f() too
  2014-11-27 17:03 [U-Boot] [PATCH] generic-board: show model name in board_init_f() too Masahiro Yamada
@ 2014-11-27 18:14 ` Simon Glass
  2015-01-13 14:45   ` Simon Glass
  0 siblings, 1 reply; 4+ messages in thread
From: Simon Glass @ 2014-11-27 18:14 UTC (permalink / raw)
  To: u-boot

Hi Masahiro,

On 27 November 2014 at 10:03, Masahiro Yamada <yamada.m@jp.panasonic.com> wrote:
> The common/board_r.c has show_model_r() to display the model name
> if the DTB has a "model" property.  It sounds useful to have a similar
> function in common/board_f.c too because most of the boards show
> their board name before relocation.
>
> Instead of implementing the same function in both common/board_f.c
> and common/board_r.c, let's split it up into common/show_board_info.c.
>
> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
> ---
>
>  common/Makefile     |  2 ++
>  common/board_f.c    |  2 +-
>  common/board_info.c | 34 ++++++++++++++++++++++++++++++++++
>  common/board_r.c    | 18 +-----------------
>  include/common.h    | 13 +++++++------
>  5 files changed, 45 insertions(+), 24 deletions(-)
>  create mode 100644 common/board_info.c

This is a change of behaviour in show_model_r() but I think it is OK.

Acked-by: Simon Glass <sjg@chromium.org>

I'd also suggest adding a comment to checkboard() in the header file -
it is only allowed to print the board name, and cannot do any init,
etc. That way we can retain the flexibility to drop it one day.

Regards,
Simon

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [U-Boot] [PATCH] generic-board: show model name in board_init_f() too
  2014-11-27 18:14 ` Simon Glass
@ 2015-01-13 14:45   ` Simon Glass
  2015-01-15  2:17     ` Masahiro Yamada
  0 siblings, 1 reply; 4+ messages in thread
From: Simon Glass @ 2015-01-13 14:45 UTC (permalink / raw)
  To: u-boot

Hi Masahiro,

On 27 November 2014 at 10:14, Simon Glass <sjg@chromium.org> wrote:
> Hi Masahiro,
>
> On 27 November 2014 at 10:03, Masahiro Yamada <yamada.m@jp.panasonic.com> wrote:
>> The common/board_r.c has show_model_r() to display the model name
>> if the DTB has a "model" property.  It sounds useful to have a similar
>> function in common/board_f.c too because most of the boards show
>> their board name before relocation.
>>
>> Instead of implementing the same function in both common/board_f.c
>> and common/board_r.c, let's split it up into common/show_board_info.c.
>>
>> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
>> ---
>>
>>  common/Makefile     |  2 ++
>>  common/board_f.c    |  2 +-
>>  common/board_info.c | 34 ++++++++++++++++++++++++++++++++++
>>  common/board_r.c    | 18 +-----------------
>>  include/common.h    | 13 +++++++------
>>  5 files changed, 45 insertions(+), 24 deletions(-)
>>  create mode 100644 common/board_info.c
>
> This is a change of behaviour in show_model_r() but I think it is OK.
>
> Acked-by: Simon Glass <sjg@chromium.org>
>
> I'd also suggest adding a comment to checkboard() in the header file -
> it is only allowed to print the board name, and cannot do any init,
> etc. That way we can retain the flexibility to drop it one day.

This breaks these boards:

02: generic-board: show model name in board_init_f() too
       arm: +   apalis_t30 venice2 ventana whistler s5pc210_universal
smdkc100 smdkv310 s5p_goni seaboard trimslice paz00 origen beaver
colibri_t20_iris dalmore colibri_t30 trats jetson-tk1 harmony cardhu
trats2

e.g.:

01: Prepare v2015.01
02: generic-board: show model name in board_init_f() too
       arm: +   whistler
w+../common/board_info.c: In function ?show_board_info?:
w+../common/board_info.c:25:2: warning: implicit declaration of
function ?fdt_getprop? [-Wimplicit-function-declaration]
w+../common/board_info.c:25:8: warning: assignment makes pointer from
integer without a cast [enabled by default]

Regards,
Simon

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [U-Boot] [PATCH] generic-board: show model name in board_init_f() too
  2015-01-13 14:45   ` Simon Glass
@ 2015-01-15  2:17     ` Masahiro Yamada
  0 siblings, 0 replies; 4+ messages in thread
From: Masahiro Yamada @ 2015-01-15  2:17 UTC (permalink / raw)
  To: u-boot

Hi Simon,



On Tue, 13 Jan 2015 06:45:07 -0800
Simon Glass <sjg@chromium.org> wrote:

> Hi Masahiro,
> 
> On 27 November 2014 at 10:14, Simon Glass <sjg@chromium.org> wrote:
> > Hi Masahiro,
> >
> > On 27 November 2014 at 10:03, Masahiro Yamada <yamada.m@jp.panasonic.com> wrote:
> >> The common/board_r.c has show_model_r() to display the model name
> >> if the DTB has a "model" property.  It sounds useful to have a similar
> >> function in common/board_f.c too because most of the boards show
> >> their board name before relocation.
> >>
> >> Instead of implementing the same function in both common/board_f.c
> >> and common/board_r.c, let's split it up into common/show_board_info.c.
> >>
> >> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
> >> ---
> >>
> >>  common/Makefile     |  2 ++
> >>  common/board_f.c    |  2 +-
> >>  common/board_info.c | 34 ++++++++++++++++++++++++++++++++++
> >>  common/board_r.c    | 18 +-----------------
> >>  include/common.h    | 13 +++++++------
> >>  5 files changed, 45 insertions(+), 24 deletions(-)
> >>  create mode 100644 common/board_info.c
> >
> > This is a change of behaviour in show_model_r() but I think it is OK.
> >
> > Acked-by: Simon Glass <sjg@chromium.org>
> >
> > I'd also suggest adding a comment to checkboard() in the header file -
> > it is only allowed to print the board name, and cannot do any init,
> > etc. That way we can retain the flexibility to drop it one day.
> 
> This breaks these boards:
> 
> 02: generic-board: show model name in board_init_f() too
>        arm: +   apalis_t30 venice2 ventana whistler s5pc210_universal
> smdkc100 smdkv310 s5p_goni seaboard trimslice paz00 origen beaver
> colibri_t20_iris dalmore colibri_t30 trats jetson-tk1 harmony cardhu
> trats2
> 
> e.g.:
> 
> 01: Prepare v2015.01
> 02: generic-board: show model name in board_init_f() too
>        arm: +   whistler
> w+../common/board_info.c: In function ?show_board_info?:
> w+../common/board_info.c:25:2: warning: implicit declaration of
> function ?fdt_getprop? [-Wimplicit-function-declaration]
> w+../common/board_info.c:25:8: warning: assignment makes pointer from
> integer without a cast [enabled by default]
> 

Oops, I have sent v2.

Thanks,

Masahiro Yamada

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-01-15  2:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-27 17:03 [U-Boot] [PATCH] generic-board: show model name in board_init_f() too Masahiro Yamada
2014-11-27 18:14 ` Simon Glass
2015-01-13 14:45   ` Simon Glass
2015-01-15  2:17     ` Masahiro Yamada

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.