Skip to contentSkip to conversation

v1.3.4-rc1 released

U-Boot-Users Heiko Schocher 4 participants 6 messages Jul 17, 2008

lore
Share & tools
lore
#0 lore raw

Hello Wolfgang,

Quoted 9 lines · Wolfgang Denk

Dear Heiko,

Quoted 6 lines · in message <[email protected]> you wrote:
include/configs/sc3.h +0 -0
index f6e40de..0ff889a 100644
@@ -132,7 +132,8 @@
 
Quoted 8 lines

include/configs/sc3.h line 139

Quoted 8 lines
include/configs/sc3.h +2 -1
 #if 1	/* feel free to disable for development */
 #define CONFIG_AUTOBOOT_KEYED		/* Enable password protection	*/
-#define CONFIG_AUTOBOOT_PROMPT		"\nSC3 - booting... stop with ENTER\n"
+#define CONFIG_AUTOBOOT_PROMPT		"\nSC3 - booting in %d seconds ..." \
+					" stop with ENTER\n"
 #define CONFIG_AUTOBOOT_DELAY_STR	"\r"	/* 1st "password"	*/
 #define CONFIG_AUTOBOOT_DELAY_STR2	"\n"	/* 1st "password"	*/
 #endif

Didnt know this ... so we must change something in common/main.c :-(

Whats with something like this?

common/main.c +8 -3
index 79ad291..a8d05f4 100644
@@ -87,6 +87,13 @@ int do_mdm_init = 0;
 extern void mdm_init(void); /* defined in board.c */
 #endif
 
+void __autoboot_prompt(int bootdelay)
+{
+	return;
+}
+void inline autoboot_prompt(int bootdelay)
+                __attribute__((weak, alias("__autoboot_prompt")));
+
 /***************************************************************************
  * Watch for 'delay' seconds for autoboot stop or autoboot delay string.
  * returns: 0 -  no key string, allow autoboot
@@ -115,9 +122,7 @@ static __inline__ int abortboot(int bootdelay)
 	u_int presskey_max = 0;
 	u_int i;
 
-#  ifdef CONFIG_AUTOBOOT_PROMPT
-	printf(CONFIG_AUTOBOOT_PROMPT, bootdelay);
-#  endif
+	autoboot_prompt(bootdelay);
 
 #  ifdef CONFIG_AUTOBOOT_DELAY_STR
 	if (delaykey[0].str == NULL)

and of course, we must also fix all boards which use CONFIG_AUTOBOOT_PROMPT :-(

bye
Heiko

Signature · 2 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
#1 lore raw
Quoted 2 lines · In message <[email protected]> you wrote:

Didnt know this ... so we must change something in common/main.c :-(

Yes.

Quoted 1 line

Whats with something like this?

Looks way too complicated to me. What do you think about the PATCH / RFC I posted yesterday?

Best regards,

Wolfgang Denk

Signature · 4 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The light at the end of the tunnel is usually a "No Exit" sign.
#2 lore raw

Hello Wolfgang,

Quoted 5 lines · Wolfgang Denk
Quoted 1 line · In message <[email protected]> you wrote:

Whats with something like this?

Looks way too complicated to me. What do you think about the PATCH / RFC I posted yesterday?

Why complicated? I think (means that I must verify it) the compiler shouldnt generate code when using the default function. And every board writer have a nice function, where he can print whatever he wants, and my feeling is better when using a function than a define with a argument list ...

bye,
Heiko

Signature · 2 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
#3 lore raw
In reply to Wolfgang Denk
Quoted 5 lines · Wolfgang Denk
Quoted 1 line · In message <[email protected]> you wrote:

Didnt know this ... so we must change something in common/main.c :-(

Yes.

Quoted 8 lines
Quoted 1 line

Whats with something like this?

Looks way too complicated to me. What do you think about the PATCH / RFC I posted yesterday?

Best regards,

Wolfgang Denk

I presume you considered and discarded using a special #define (e.g. CONFIG_AUTOBOOT_PROMPT_0) for the no value case. It only hurts our #ifdef hellcount a little and changes our "touch" count from <all> to 5 (4 if I fix sacsng).

common/main.c +3 -1
index 79ad291..09e6033 100644
@@ -115,8 +115,10 @@ static __inline__ int abortboot(int bootdelay)
         u_int presskey_max = 0;
         u_int i;
 
-#  ifdef CONFIG_AUTOBOOT_PROMPT
+#  if defined(CONFIG_AUTOBOOT_PROMPT)
         printf(CONFIG_AUTOBOOT_PROMPT, bootdelay);
+#  elif defined(CONFIG_AUTOBOOT_PROMPT_0)
+       c
  #  endif
 
  #  ifdef CONFIG_AUTOBOOT_DELAY_STR
#4 lore raw
Quoted 23 lines · Jerry Van Baren
Quoted 11 lines · Wolfgang Denk
Quoted 1 line · In message <[email protected]> you wrote:

Didnt know this ... so we must change something in common/main.c :-(

Yes.

Quoted 1 line

Whats with something like this?

Looks way too complicated to me. What do you think about the PATCH / RFC I posted yesterday?

Best regards,

Wolfgang Denk

I presume you considered and discarded using a special #define (e.g. CONFIG_AUTOBOOT_PROMPT_0) for the no value case. It only hurts our #ifdef hellcount a little and changes our "touch" count from <all> to 5 (4 if I fix sacsng).

common/main.c +0 -0
index 79ad291..09e6033 100644

common/main.c static __inline__ int abortboot(int bootdelay) · line 121

Quoted 8 lines
common/main.c +3 -1
@@ -115,8 +115,10 @@ static __inline__ int abortboot(int bootdelay)
         u_int presskey_max = 0;
         u_int i;
 
-#  ifdef CONFIG_AUTOBOOT_PROMPT
+#  if defined(CONFIG_AUTOBOOT_PROMPT)
         printf(CONFIG_AUTOBOOT_PROMPT, bootdelay);
+#  elif defined(CONFIG_AUTOBOOT_PROMPT_0)
+       c

Arrr, missed the <ctl> key and other sorts of evil
+ printf(CONFIG_AUTOBOOT_PROMPT_0);

Quoted 3 lines
common/main.c +0 -0
  #  endif
 
  #  ifdef CONFIG_AUTOBOOT_DELAY_STR
#5 lore raw

Hello Jerry,

Quoted 27 lines · Jerry Van Baren
Quoted 26 lines · Jerry Van Baren
Quoted 11 lines · Wolfgang Denk
Quoted 1 line · In message <[email protected]> you wrote:

Didnt know this ... so we must change something in common/main.c :-(

Yes.

Quoted 1 line

Whats with something like this?

Looks way too complicated to me. What do you think about the PATCH / RFC I posted yesterday?

Best regards,

Wolfgang Denk

I presume you considered and discarded using a special #define (e.g. CONFIG_AUTOBOOT_PROMPT_0) for the no value case. It only hurts our #ifdef hellcount a little and changes our "touch" count from <all> to 5 (4 if I fix sacsng).

common/main.c +0 -0
index 79ad291..09e6033 100644
@@ -115,8 +115,10 @@ static __inline__ int abortboot(int bootdelay)
         u_int presskey_max = 0;
         u_int i;
 
Quoted 9 lines

common/main.c static __inline__ int abortboot(int bootdelay) · line 121

Quoted 5 lines
common/main.c +3 -1
-#  ifdef CONFIG_AUTOBOOT_PROMPT
+#  if defined(CONFIG_AUTOBOOT_PROMPT)
         printf(CONFIG_AUTOBOOT_PROMPT, bootdelay);
+#  elif defined(CONFIG_AUTOBOOT_PROMPT_0)
+       c

Arrr, missed the <ctl> key and other sorts of evil
+ printf(CONFIG_AUTOBOOT_PROMPT_0);

Hmm.. and if somebody wants to print more variables we make more defines, maybe for every board +1 define? I vote for making this in a weak function, and each board code can print what he wants ...

bye
Heiko

Signature · 2 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany