]> git.sur5r.net Git - u-boot/blobdiff - common/main.c
Merge branch 'master' of git://git.denx.de/u-boot-ppc4xx
[u-boot] / common / main.c
index a999a5d64d61ed4c4b1491b41b0deb36cb5e5750..026edd1db23a19de127fd4b29ec9e69e43f87c99 100644 (file)
@@ -48,7 +48,7 @@ DECLARE_GLOBAL_DATA_PTR;
  * Board-specific Platform code can reimplement show_boot_progress () if needed
  */
 void inline __show_boot_progress (int val) {}
-void inline show_boot_progress (int val) __attribute__((weak, alias("__show_boot_progress")));
+void show_boot_progress (int val) __attribute__((weak, alias("__show_boot_progress")));
 
 #if defined(CONFIG_BOOT_RETRY_TIME) && defined(CONFIG_RESET_TO_RETRY)
 extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);              /* for do_reset() prototype */
@@ -158,7 +158,19 @@ static __inline__ int abortboot(int bootdelay)
        /* In order to keep up with incoming data, check timeout only
         * when catch up.
         */
-       while (!abort && get_ticks() <= etime) {
+       do {
+               if (tstc()) {
+                       if (presskey_len < presskey_max) {
+                               presskey [presskey_len ++] = getc();
+                       }
+                       else {
+                               for (i = 0; i < presskey_max - 1; i ++)
+                                       presskey [i] = presskey [i + 1];
+
+                               presskey [i] = getc();
+                       }
+               }
+
                for (i = 0; i < sizeof(delaykey) / sizeof(delaykey[0]); i ++) {
                        if (delaykey[i].len > 0 &&
                            presskey_len >= delaykey[i].len &&
@@ -178,19 +190,8 @@ static __inline__ int abortboot(int bootdelay)
                                abort = 1;
                        }
                }
+       } while (!abort && get_ticks() <= etime);
 
-               if (tstc()) {
-                       if (presskey_len < presskey_max) {
-                               presskey [presskey_len ++] = getc();
-                       }
-                       else {
-                               for (i = 0; i < presskey_max - 1; i ++)
-                                       presskey [i] = presskey [i + 1];
-
-                               presskey [i] = getc();
-                       }
-               }
-       }
 #  if DEBUG_BOOTKEYS
        if (!abort)
                puts("key timeout\n");
@@ -1370,7 +1371,7 @@ int run_command (const char *cmd, int flag)
 
                /* found - check max args */
                if (argc > cmdtp->maxargs) {
-                       printf ("Usage:\n%s\n", cmdtp->usage);
+                       cmd_usage(cmdtp);
                        rc = -1;
                        continue;
                }
@@ -1414,7 +1415,7 @@ int do_run (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
        int i;
 
        if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }