Skip to contentSkip to conversation

hush: Pull out U-Boot prompt display and read functionality

PATCH New Marek Vasut 4 participants 8 messages Jan 27, 2016 – Feb 8, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 hush: Pull out U-Boot prompt display and read functionality

Pull the code which displays U-Boot prompt and reads the command line into a separate function. No functional change.

---
 common/cli_hush.c | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)
common/cli_hush.c +16 -5
index 2fbfdbe..cbaf22e 100644
@@ -974,6 +974,20 @@ static inline void setup_prompt_string(int promptmode, char **prompt_str)
 }
 #endif
 
+#ifdef __U_BOOT__
+static int uboot_cli_readline(struct in_str *i)
+{
+	char *prompt;
+
+	if (i->promptmode == 1)
+		prompt = CONFIG_SYS_PROMPT;
+	else
+		prompt = CONFIG_SYS_PROMPT_HUSH_PS2;
+
+	return cli_readline(prompt);
+}
+#endif
+
 static void get_user_input(struct in_str *i)
 {
 #ifndef __U_BOOT__
@@ -1003,11 +1017,8 @@ static void get_user_input(struct in_str *i)
 
 	bootretry_reset_cmd_timeout();
 	i->__promptme = 1;
-	if (i->promptmode == 1) {
-		n = cli_readline(CONFIG_SYS_PROMPT);
-	} else {
-		n = cli_readline(CONFIG_SYS_PROMPT_HUSH_PS2);
-	}
+	n = uboot_cli_readline(i);
+
 #ifdef CONFIG_BOOT_RETRY_TIME
 	if (n == -2) {
 	  puts("\nTimeout waiting for command\n");
Signature · 1 line
2.1.4
#1 lore raw

PATCH 2/2 hush: Add rudimentary support for PS1 and PS2

Add trivial support for changing the U-Boot command prompt string by setting PS1 and PS2 environment variables. Only static variables are supported.

---
 README            |  8 ++++++++
 common/cli_hush.c | 10 ++++++++++
 2 files changed, 18 insertions(+)
README +8 -0
index ece4793..8fb25c6 100644
@@ -2894,6 +2894,14 @@ CBFS (Coreboot Filesystem) support
 		Enable editing and History functions for interactive
 		command line input operations
 
+- Command Line PS1/PS2 support:
+		CONFIG_CMDLINE_PS_SUPPORT
+
+		Enable support for changing the command prompt string
+		at run-time. Only static string is supported so far.
+		The string is obtained from environment variables PS1
+		and PS2.
+
 - Default Environment:
 		CONFIG_EXTRA_ENV_SETTINGS
 
common/cli_hush.c +10 -0
index cbaf22e..00861e2 100644
@@ -978,12 +978,22 @@ static inline void setup_prompt_string(int promptmode, char **prompt_str)
 static int uboot_cli_readline(struct in_str *i)
 {
 	char *prompt;
+	char __maybe_unused *ps_prompt = NULL;
 
 	if (i->promptmode == 1)
 		prompt = CONFIG_SYS_PROMPT;
 	else
 		prompt = CONFIG_SYS_PROMPT_HUSH_PS2;
 
+#ifdef CONFIG_CMDLINE_PS_SUPPORT
+	if (i->promptmode == 1)
+		ps_prompt = getenv("PS1");
+	else
+		ps_prompt = getenv("PS2");
+	if (ps_prompt)
+		prompt = ps_prompt;
+#endif
+
 	return cli_readline(prompt);
 }
 #endif
Signature · 1 line
2.1.4
#2 lore raw

PATCH 2/2 hush: Add rudimentary support for PS1 and PS2

Hello Marek,

Am 27.01.2016 um 04:47 schrieb Marek Vasut:

Quoted 9 lines

Add trivial support for changing the U-Boot command prompt string by setting PS1 and PS2 environment variables. Only static variables are supported.

---
  README            |  8 ++++++++
  common/cli_hush.c | 10 ++++++++++
  2 files changed, 18 insertions(+)

Nice!

bye,
Heiko

Quoted 48 lines
README +8 -0
index ece4793..8fb25c6 100644
@@ -2894,6 +2894,14 @@ CBFS (Coreboot Filesystem) support
  		Enable editing and History functions for interactive
  		command line input operations
 
+- Command Line PS1/PS2 support:
+		CONFIG_CMDLINE_PS_SUPPORT
+
+		Enable support for changing the command prompt string
+		at run-time. Only static string is supported so far.
+		The string is obtained from environment variables PS1
+		and PS2.
+
  - Default Environment:
  		CONFIG_EXTRA_ENV_SETTINGS
 
common/cli_hush.c +10 -0
index cbaf22e..00861e2 100644
@@ -978,12 +978,22 @@ static inline void setup_prompt_string(int promptmode, char **prompt_str)
  static int uboot_cli_readline(struct in_str *i)
  {
  	char *prompt;
+	char __maybe_unused *ps_prompt = NULL;
 
  	if (i->promptmode == 1)
  		prompt = CONFIG_SYS_PROMPT;
  	else
  		prompt = CONFIG_SYS_PROMPT_HUSH_PS2;
 
+#ifdef CONFIG_CMDLINE_PS_SUPPORT
+	if (i->promptmode == 1)
+		ps_prompt = getenv("PS1");
+	else
+		ps_prompt = getenv("PS2");
+	if (ps_prompt)
+		prompt = ps_prompt;
+#endif
+
  	return cli_readline(prompt);
  }
  #endif
Signature · 2 lines
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
#4 lore raw

PATCH 2/2 hush: Add rudimentary support for PS1 and PS2

In reply to Marek Vasut
Quoted 7 lines · Marek Vasut

Add trivial support for changing the U-Boot command prompt string by setting PS1 and PS2 environment variables. Only static variables are supported.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160208/1f556fc6/attachment.sig>
#5 lore raw

PATCH 1/2 hush: Pull out U-Boot prompt display and read functionality

In reply to Marek Vasut

Hello Marek,

Am 27.01.2016 um 04:47 schrieb Marek Vasut:

Quoted 7 lines

Pull the code which displays U-Boot prompt and reads the command line into a separate function. No functional change.

---
  common/cli_hush.c | 21 ++++++++++++++++-----
  1 file changed, 16 insertions(+), 5 deletions(-)

bye,
Heiko

Quoted 41 lines
common/cli_hush.c +16 -5
index 2fbfdbe..cbaf22e 100644
@@ -974,6 +974,20 @@ static inline void setup_prompt_string(int promptmode, char **prompt_str)
  }
  #endif
 
+#ifdef __U_BOOT__
+static int uboot_cli_readline(struct in_str *i)
+{
+	char *prompt;
+
+	if (i->promptmode == 1)
+		prompt = CONFIG_SYS_PROMPT;
+	else
+		prompt = CONFIG_SYS_PROMPT_HUSH_PS2;
+
+	return cli_readline(prompt);
+}
+#endif
+
  static void get_user_input(struct in_str *i)
  {
  #ifndef __U_BOOT__
@@ -1003,11 +1017,8 @@ static void get_user_input(struct in_str *i)
 
  	bootretry_reset_cmd_timeout();
  	i->__promptme = 1;
-	if (i->promptmode == 1) {
-		n = cli_readline(CONFIG_SYS_PROMPT);
-	} else {
-		n = cli_readline(CONFIG_SYS_PROMPT_HUSH_PS2);
-	}
+	n = uboot_cli_readline(i);
+
  #ifdef CONFIG_BOOT_RETRY_TIME
  	if (n == -2) {
  	  puts("\nTimeout waiting for command\n");
Signature · 2 lines
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
#7 lore raw

PATCH 1/2 hush: Pull out U-Boot prompt display and read functionality

In reply to Marek Vasut
Quoted 6 lines · Marek Vasut

Pull the code which displays U-Boot prompt and reads the command line into a separate function. No functional change.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160208/c34d9470/attachment.sig>