]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - common/cli_hush.c
usb: kbd: Do not deregister usbkbd twice when using dm
[people/ms/u-boot.git] / common / cli_hush.c
index 2fbfdbe89a9c7cd93fb4df19208ebe3afacf63f0..00861e2d9e4b56c114a4dcae71fdbb0f89a996aa 100644 (file)
@@ -974,6 +974,30 @@ 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;
+       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
+
 static void get_user_input(struct in_str *i)
 {
 #ifndef __U_BOOT__
@@ -1003,11 +1027,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");