diff options
| author | Andreas Müller <schnitzeltony@gmx.de> | 2012-01-04 15:26:24 +0000 | 
|---|---|---|
| committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2012-01-16 08:40:13 +0100 | 
| commit | 761ca31e47e483a0c0c66894ead1a2d0db37b314 (patch) | |
| tree | 4675f07ac020c4d28acb9dc5f827b6ea7d7e0992 | |
| parent | 8775471bb378bbd04dca91153db96c33b30f76e7 (diff) | |
| download | olio-uboot-2014.01-761ca31e47e483a0c0c66894ead1a2d0db37b314.tar.xz olio-uboot-2014.01-761ca31e47e483a0c0c66894ead1a2d0db37b314.zip | |
omap_rev_string: output to stdout
* avoid potential buffer overflows
* allow SPL-build not to output "Texas Instruments Revision detection unimplemented"
Signed-off-by: Andreas Müller <schnitzeltony@gmx.de>
Signed-off-by: Tom Rini <trini@ti.com>
| -rw-r--r-- | arch/arm/cpu/armv7/omap-common/hwinit-common.c | 10 | ||||
| -rw-r--r-- | arch/arm/cpu/armv7/omap-common/spl.c | 12 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-omap4/sys_proto.h | 2 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-omap5/sys_proto.h | 2 | ||||
| -rw-r--r-- | arch/arm/include/asm/omap_common.h | 2 | 
5 files changed, 11 insertions, 17 deletions
| diff --git a/arch/arm/cpu/armv7/omap-common/hwinit-common.c b/arch/arm/cpu/armv7/omap-common/hwinit-common.c index da22f7316..49cdc3936 100644 --- a/arch/arm/cpu/armv7/omap-common/hwinit-common.c +++ b/arch/arm/cpu/armv7/omap-common/hwinit-common.c @@ -76,14 +76,14 @@ u32 cortex_rev(void)  	return rev;  } -void omap_rev_string(char *omap_rev_string) +void omap_rev_string(void)  {  	u32 omap_rev = omap_revision();  	u32 omap_variant = (omap_rev & 0xFFFF0000) >> 16;  	u32 major_rev = (omap_rev & 0x00000F00) >> 8;  	u32 minor_rev = (omap_rev & 0x000000F0) >> 4; -	sprintf(omap_rev_string, "OMAP%x ES%x.%x", omap_variant, major_rev, +	printf("OMAP%x ES%x.%x\n", omap_variant, major_rev,  		minor_rev);  } @@ -223,10 +223,8 @@ u32 get_device_type(void)   */  int print_cpuinfo(void)  { -	char rev_string_buffer[50]; - -	omap_rev_string(rev_string_buffer); -	printf("CPU  : %s\n", rev_string_buffer); +	puts("CPU  : "); +	omap_rev_string();  	return 0;  } diff --git a/arch/arm/cpu/armv7/omap-common/spl.c b/arch/arm/cpu/armv7/omap-common/spl.c index 74fea4fa5..9c1f7e3ed 100644 --- a/arch/arm/cpu/armv7/omap-common/spl.c +++ b/arch/arm/cpu/armv7/omap-common/spl.c @@ -35,6 +35,7 @@  #include <i2c.h>  #include <image.h>  #include <malloc.h> +#include <linux/compiler.h>  DECLARE_GLOBAL_DATA_PTR; @@ -154,7 +155,6 @@ void board_init_r(gd_t *id, ulong dummy)  void preloader_console_init(void)  {  	const char *u_boot_rev = U_BOOT_VERSION; -	char rev_string_buffer[50];  	gd = &gdata;  	gd->bd = &bdata; @@ -170,14 +170,10 @@ void preloader_console_init(void)  	printf("\nU-Boot SPL %s (%s - %s)\n", u_boot_rev, U_BOOT_DATE,  		U_BOOT_TIME); -	omap_rev_string(rev_string_buffer); -	printf("Texas Instruments %s\n", rev_string_buffer); +	omap_rev_string();  } -void __omap_rev_string(char *str) +void __weak omap_rev_string()  { -	sprintf(str, "Revision detection unimplemented"); +	printf("Texas Instruments Revision detection unimplemented\n");  } - -void omap_rev_string(char *str) -	__attribute__((weak, alias("__omap_rev_string"))); diff --git a/arch/arm/include/asm/arch-omap4/sys_proto.h b/arch/arm/include/asm/arch-omap4/sys_proto.h index 4146e2181..b8dbc2c9a 100644 --- a/arch/arm/include/asm/arch-omap4/sys_proto.h +++ b/arch/arm/include/asm/arch-omap4/sys_proto.h @@ -42,7 +42,7 @@ void sr32(void *, u32, u32, u32);  u32 wait_on_value(u32, u32, void *, u32);  void sdelay(unsigned long);  void set_pl310_ctrl_reg(u32 val); -void omap_rev_string(char *omap_rev_string); +void omap_rev_string(void);  void setup_clocks_for_console(void);  void prcm_init(void);  void bypass_dpll(u32 *const base); diff --git a/arch/arm/include/asm/arch-omap5/sys_proto.h b/arch/arm/include/asm/arch-omap5/sys_proto.h index c31e18ca2..40a7c5748 100644 --- a/arch/arm/include/asm/arch-omap5/sys_proto.h +++ b/arch/arm/include/asm/arch-omap5/sys_proto.h @@ -42,7 +42,7 @@ void set_muxconf_regs_non_essential(void);  void sr32(void *, u32, u32, u32);  u32 wait_on_value(u32, u32, void *, u32);  void sdelay(unsigned long); -void omap_rev_string(char *omap_rev_string); +void omap_rev_string(void);  void setup_clocks_for_console(void);  void prcm_init(void);  void bypass_dpll(u32 *const base); diff --git a/arch/arm/include/asm/omap_common.h b/arch/arm/include/asm/omap_common.h index efbf64668..34bec4568 100644 --- a/arch/arm/include/asm/omap_common.h +++ b/arch/arm/include/asm/omap_common.h @@ -91,7 +91,7 @@ u32 omap_boot_mode(void);  /* SPL common function s*/  void spl_parse_image_header(const struct image_header *header); -void omap_rev_string(char *omap_rev_string); +void omap_rev_string(void);  /* NAND SPL functions */  void spl_nand_load_image(void); |