Patchwork [U-Boot,v3,3/8] POST: add post_log_res field for post results in global data

login
register
mail settings
Submitter Valentin Longchamp
Date Sept. 2, 2011, 2:59 p.m.
Message ID <1314975550-15766-4-git-send-email-valentin.longchamp@keymile.com>
Download mbox | patch
Permalink /patch/113152/
State Superseded
Headers show

Comments

Valentin Longchamp - Sept. 2, 2011, 2:59 p.m.
The current post_log_word in global data is currently split into 2x
16 bits: half for the test start, half for the test success.
Since we alredy have more than 16 POST tests defined and more could
be defined, this may result in an overflow and the post_output_backlog
would not work for the tests defined further of these 16 positions.

An additional field is added to global data so that we can now support up
to 32 (depending of architecture) tests. The post_log_word is only used
to record the start of the test and the new field post_log_res for the
test success (or failure). The post_output_backlog is for this change
also adapted.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
---
 arch/arm/include/asm/global_data.h      |    1 +
 arch/blackfin/include/asm/global_data.h |    1 +
 arch/nios2/include/asm/global_data.h    |    1 +
 arch/powerpc/include/asm/global_data.h  |    1 +
 arch/sparc/include/asm/global_data.h    |    1 +
 post/post.c                             |    9 +++++----
 6 files changed, 10 insertions(+), 4 deletions(-)
Wolfgang Denk - Oct. 6, 2011, 9:44 p.m.
Dear Valentin Longchamp,

In message <1314975550-15766-4-git-send-email-valentin.longchamp@keymile.com> you wrote:
> The current post_log_word in global data is currently split into 2x
> 16 bits: half for the test start, half for the test success.
> Since we alredy have more than 16 POST tests defined and more could
> be defined, this may result in an overflow and the post_output_backlog
> would not work for the tests defined further of these 16 positions.
> 
> An additional field is added to global data so that we can now support up
> to 32 (depending of architecture) tests. The post_log_word is only used
> to record the start of the test and the new field post_log_res for the
> test success (or failure). The post_output_backlog is for this change
> also adapted.
> 
> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
> Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
> Acked-by: Mike Frysinger <vapier@gentoo.org>
> ---
>  arch/arm/include/asm/global_data.h      |    1 +
>  arch/blackfin/include/asm/global_data.h |    1 +
>  arch/nios2/include/asm/global_data.h    |    1 +
>  arch/powerpc/include/asm/global_data.h  |    1 +
>  arch/sparc/include/asm/global_data.h    |    1 +
>  post/post.c                             |    9 +++++----
>  6 files changed, 10 insertions(+), 4 deletions(-)

Checkpatch says:

total: 0 errors, 1 warnings, 67 lines checked

Please clean up and resubmit.  Thanks.

Best regards,

Wolfgang Denk
Valentin Longchamp - Oct. 7, 2011, 6:48 a.m.
Hello Wolfgang,

On 10/06/2011 11:44 PM, Wolfgang Denk wrote:
> Dear Valentin Longchamp,
> 
> In message <1314975550-15766-4-git-send-email-valentin.longchamp@keymile.com> you wrote:
>> The current post_log_word in global data is currently split into 2x
>> 16 bits: half for the test start, half for the test success.
>> Since we alredy have more than 16 POST tests defined and more could
>> be defined, this may result in an overflow and the post_output_backlog
>> would not work for the tests defined further of these 16 positions.
>>
>> An additional field is added to global data so that we can now support up
>> to 32 (depending of architecture) tests. The post_log_word is only used
>> to record the start of the test and the new field post_log_res for the
>> test success (or failure). The post_output_backlog is for this change
>> also adapted.
>>
>> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
>> Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
>> Acked-by: Mike Frysinger <vapier@gentoo.org>
>> ---
>>  arch/arm/include/asm/global_data.h      |    1 +
>>  arch/blackfin/include/asm/global_data.h |    1 +
>>  arch/nios2/include/asm/global_data.h    |    1 +
>>  arch/powerpc/include/asm/global_data.h  |    1 +
>>  arch/sparc/include/asm/global_data.h    |    1 +
>>  post/post.c                             |    9 +++++----
>>  6 files changed, 10 insertions(+), 4 deletions(-)
> 
> Checkpatch says:
> 
> total: 0 errors, 1 warnings, 67 lines checked
> 
> Please clean up and resubmit.  Thanks.
> 
> Best regards,
> 
> Wolfgang Denk
> 

I have a question here:

There was a v4 version of these patches for which messages were sent yesterday
that they were applied. And now I receive these checkpatch warnings/errors
asking for resubmitting but for the v3 patches.

Could you please tell me what the exact status is ?

Then what exact checkpatch.pl version are you (or your script) using ? Because I
don't get the same output as you.

Best Regards

Patch

diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h
index 4ab17ae..efcf652 100644
--- a/arch/arm/include/asm/global_data.h
+++ b/arch/arm/include/asm/global_data.h
@@ -77,6 +77,7 @@  typedef	struct	global_data {
 	char		env_buf[32];	/* buffer for getenv() before reloc. */
 #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
 	unsigned long	post_log_word; /* Record POST activities */
+	unsigned long	post_log_res; /* success of POST test */
 	unsigned long	post_init_f_time; /* When post_init_f started */
 #endif
 } gd_t;
diff --git a/arch/blackfin/include/asm/global_data.h b/arch/blackfin/include/asm/global_data.h
index eba5e93..62cd631 100644
--- a/arch/blackfin/include/asm/global_data.h
+++ b/arch/blackfin/include/asm/global_data.h
@@ -50,6 +50,7 @@  typedef struct global_data {
 	unsigned long env_valid;	/* Checksum of Environment valid? */
 #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
 	unsigned long post_log_word;	/* Record POST activities */
+	unsigned long post_log_res; 	/* success of POST test */
 	unsigned long post_init_f_time;	/* When post_init_f started */
 #endif
 
diff --git a/arch/nios2/include/asm/global_data.h b/arch/nios2/include/asm/global_data.h
index 2c4a719..1f0bbe8 100644
--- a/arch/nios2/include/asm/global_data.h
+++ b/arch/nios2/include/asm/global_data.h
@@ -34,6 +34,7 @@  typedef	struct	global_data {
 	unsigned long	env_valid;	/* Checksum of Environment valid */
 #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
 	unsigned long	post_log_word;	/* Record POST activities */
+	unsigned long	post_log_res; /* success of POST test */
 	unsigned long	post_init_f_time; /* When post_init_f started */
 #endif
 	void		**jt;		/* Standalone app jump table */
diff --git a/arch/powerpc/include/asm/global_data.h b/arch/powerpc/include/asm/global_data.h
index a33ca2f..fbfe8c0 100644
--- a/arch/powerpc/include/asm/global_data.h
+++ b/arch/powerpc/include/asm/global_data.h
@@ -160,6 +160,7 @@  typedef	struct	global_data {
 #endif
 #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
 	unsigned long	post_log_word;  /* Record POST activities */
+	unsigned long	post_log_res; /* success of POST test */
 	unsigned long	post_init_f_time;  /* When post_init_f started */
 #endif
 #ifdef CONFIG_BOARD_TYPES
diff --git a/arch/sparc/include/asm/global_data.h b/arch/sparc/include/asm/global_data.h
index 9b14674..4b62250 100644
--- a/arch/sparc/include/asm/global_data.h
+++ b/arch/sparc/include/asm/global_data.h
@@ -58,6 +58,7 @@  typedef struct global_data {
 #endif
 #if defined(CONFIG_POST) || defined(CONFIG_LOGBUFFER)
 	unsigned long post_log_word;	/* Record POST activities */
+	unsigned long post_log_res;	/* success of POST test */
 	unsigned long post_init_f_time;	/* When post_init_f started */
 #endif
 #ifdef CONFIG_BOARD_TYPES
diff --git a/post/post.c b/post/post.c
index 1b7f2aa..03c521f 100644
--- a/post/post.c
+++ b/post/post.c
@@ -100,6 +100,7 @@  void post_bootmode_init (void)
 
 	/* Reset activity record */
 	gd->post_log_word = 0;
+	gd->post_log_res = 0;
 }
 
 int post_bootmode_get (unsigned int *last_test)
@@ -123,12 +124,12 @@  int post_bootmode_get (unsigned int *last_test)
 /* POST tests run before relocation only mark status bits .... */
 static void post_log_mark_start ( unsigned long testid )
 {
-	gd->post_log_word |= (testid)<<16;
+	gd->post_log_word |= testid;
 }
 
 static void post_log_mark_succ ( unsigned long testid )
 {
-	gd->post_log_word |= testid;
+	gd->post_log_res |= testid;
 }
 
 /* ... and the messages are output once we are relocated */
@@ -137,9 +138,9 @@  void post_output_backlog ( void )
 	int j;
 
 	for (j = 0; j < post_list_size; j++) {
-		if (gd->post_log_word & (post_list[j].testid<<16)) {
+		if (gd->post_log_word & (post_list[j].testid)) {
 			post_log ("POST %s ", post_list[j].cmd);
-			if (gd->post_log_word & post_list[j].testid)
+			if (gd->post_log_res & post_list[j].testid)
 				post_log ("PASSED\n");
 			else {
 				post_log ("FAILED\n");