rcode = 0;
                break;
        default:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                rcode = 1;
                break;
        }
 
        unsigned int addr;
 
        if (argc < 2) {
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        int cpu_freq;
 
        if (argc < 3) {
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        extern char console_buffer[];
 
        if (argc < 2) {
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        char pcixClock[4];
 
        if (argc < 3) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        char c = '\0';
        pll_freq_t pll_freq;
        if (argc < 2) {
-               printf("Usage: \n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                goto ret;
        }
 
                goto ret;
 
        default:
-               printf("Invalid options"
-                      "\n\nUsage: \n%s\n", cmdtp->usage);
+               printf("Invalid options\n\n");
+               cmd_usage(cmdtp);
                goto ret;
        }
 
 
                        l2cache_status() ? "ON" : "OFF");
                return 0;
        default:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        char c = '\0';
        pll_freq_t pll_freq;
        if (argc < 2) {
-               printf("Usage: \n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                goto ret;
        }
 
                goto ret;
 
        default:
-               printf("Invalid options"
-                      "\n\nUsage: \n%s\n", cmdtp->usage);
+               printf("Invalid options\n\n");
+               cmd_usage(cmdtp);
                goto ret;
        }
 
 
        extern char console_buffer[];
 
        if (argc < 2) {
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        char pcixClock[4];
 
        if (argc < 3) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
 {
 #if 0
        if (argc > 1) {
-               printf ("Usage:\n (%d) %s\n", argc, cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 #endif
 
        char *str;
 #endif
        if (argc != 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
                return 0;
        }
 
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
 
 }
 
                        prog_eeprom();
                        break;
                default:
-                       printf("Usage:\n%s\n", cmdtp->usage);
+                       cmd_usage(cmdtp);
                        break;
                }
 
                break;
        case 'h':       /* help */
        default:
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                break;
        }
 
 
        unsigned int addr;
 
        if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
                break;
        }
 
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
 }
 U_BOOT_CMD(
                /* fall through ... */
 
        default:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        default:
                break;
        }
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
 }
 U_BOOT_CMD(
        default:
                break;
        }
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
 }
 
 
 int do_eeprom_wp(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
        if (argc < 2) {
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        } else if ((strcmp(argv[1], "off") == 0)) {
                gpio_write_bit(CONFIG_SYS_GPIO_EEPROM_EXT_WP, 0);
        } else {
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
                return 0;
        }
 #endif
-       printf("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
 }
 
 
        default:
                break;
        }
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
 }
 
 
 
        if (argc < 2) {
   usage:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
     unsigned int number, function;
 
     if (argc != 3) {
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
     }
     number = simple_strtoul(argv[1], NULL, 10);
        addr = simple_strtoul(argv[1], NULL, 16);
        break;
     default:
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
     }
 
 
        ulong addr;
 
        if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        char *s, *e;
 
        if (argc != 2) {
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 int do_print_mac(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
        if (argc != 1) {
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        char *cmd;
 
        if (argc != 2) {
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
                test_net();
                break;
        default:
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
     return 0;
 
  failure:
-    printf ("Usage:\n%s\n", cmdtp->usage);
+    cmd_usage(cmdtp);
     return 1;
 }
 
 
        default:
                break;
        }
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
 }
 
 
        default:
                break;
        }
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
 }
 
 
        default:
                break;
        }
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
 }
 
 
        switch (argc) {
        case 0:
        case 1:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        case 2:
                if (strncmp(argv[1],"saw",3) == 0) {
                        return rcode;
                }
 
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        case 3:
                if (strncmp(argv[1],"saw",3) == 0) {
                                                LEFT_RIGHT);
                        return rcode;
                }
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        case 4:
                if (strncmp(argv[1],"saw",3) == 0) {
                        pcm1772_write_reg((uchar)reg, (uchar)val);
                        return 0;
                }
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        case 5:
                if (strncmp(argv[1],"saw",3) == 0) {
                                                channel);
                        return rcode;
                }
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
        printf ("Usage:\nsound cmd [arg1] [arg2] ...\n");
                        channel = LEFT_RIGHT;
                break;
        default:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        int cycle_status;
 
        if (argc > 1) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        int i, dip;
 
        if (argc > 1) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        int vcc5v;
 
        if (argc > 1) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        int contact_temp;
 
        if (argc > 1) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 int do_burn_in_status (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
        if (argc > 1) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 #endif
 
        if (argc > 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        int offset,value;
 
        if (argc < 4) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        value=simple_strtoul(argv[3],NULL,16);
        if (offset > 0x40) {
                printf("Wrong offset : 0x%x\n",offset);
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
        write_srom_word(offset, value);
 
 int do_dm9000_eeprom ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) {
        if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        } else if (strcmp (argv[1],"write") == 0) {
                return (do_write_dm9000_eeprom(cmdtp,flag,argc,argv));
        } else {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 }
 
 
        /* Validate usage */
        if (argc > 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        len = dis_last_len;
 
        if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        int rcode = 0;
 
        if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
                y = simple_strtoul(argv[4], NULL, 10);
                break;
        default:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        } else if (strncmp(argv[1],"display",1) == 0) {
            return (bmp_display(addr, x, y));
        } else {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 }
 
        int     rcode = 0;
 
        if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        }
        /* Unrecognized command */
        else {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        if (images.state >= state) {
                printf ("Trying to execute a command out of order\n");
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        case 2:                 /* on / off     */
                switch (on_off(argv[1])) {
 #if 0  /* prevented by varargs handling; FALLTROUGH is harmless, too */
-               default: printf ("Usage:\n%s\n", cmdtp->usage);
+               default: cmd_usage(cmdtp);
                        return;
 #endif
                case 0: icache_disable();
                        icache_status() ? "ON" : "OFF");
                return 0;
        default:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
        return 0;
        case 2:                 /* on / off     */
                switch (on_off(argv[1])) {
 #if 0  /* prevented by varargs handling; FALLTROUGH is harmless, too */
-               default: printf ("Usage:\n%s\n", cmdtp->usage);
+               default: cmd_usage(cmdtp);
                        return;
 #endif
                case 0: dcache_disable();
                        dcache_status() ? "ON" : "OFF");
                return 0;
        default:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
        return 0;
 
 
                break;
        default:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                rcode = 1;
        }
 
 
 
        /* Validate arguments */
        if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        /* Validate arguments */
        if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        /* Validate arguments */
        if (argc < 3) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        /* Validate arguments */
        if (argc < 4) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        }
 
 usage:
-       printf("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
 }
 
 
     switch (argc) {
     case 0:
     case 1:
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
     case 2:
        if (strcmp(argv[1],"info") == 0) {
                doc_print(&doc_dev_desc[curr_device]);
                return 0;
        }
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
     case 3:
        if (strcmp(argv[1],"device") == 0) {
                return 0;
        }
 
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
     default:
        /* at least 4 args */
 
                return ret;
        } else {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                rcode = 1;
        }
 
                offset = simple_strtoul(argv[3], NULL, 16);
                break;
        default:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                show_boot_progress (-35);
                return 1;
        }
 
                }
        }
 
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
 }
 #endif
 
        int part_length;
 
        if (argc < 3) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return(1);
        }
        dev = (int)simple_strtoul (argv[2], &ep, 16);
                break;
 
        default:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return(1);
        }
 
 
                boot_drive=simple_strtoul(argv[2], NULL, 10);
                break;
        default:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
        /* setup FDC and scan for drives  */
 
        name = argv [2];
        break;
     default:
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        break;
     }
 
 
 int do_fdt (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 {
        if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
                int  err;
 
                if (argc < 4) {
-                       printf ("Usage:\n%s\n", cmdtp->usage);
+                       cmd_usage(cmdtp);
                        return 1;
                }
 
                 * Parameters: Node path, new node to be appended to the path.
                 */
                if (argc < 4) {
-                       printf ("Usage:\n%s\n", cmdtp->usage);
+                       cmd_usage(cmdtp);
                        return 1;
                }
 
                 * Parameters: Node path, property, optional value.
                 */
                if (argc < 4) {
-                       printf ("Usage:\n%s\n", cmdtp->usage);
+                       cmd_usage(cmdtp);
                        return 1;
                }
 
                        }
                } else {
                        /* Unrecognized command */
-                       printf ("Usage:\n%s\n", cmdtp->usage);
+                       cmd_usage(cmdtp);
                        return 1;
                }
        }
                unsigned long initrd_start = 0, initrd_end = 0;
 
                if ((argc != 2) && (argc != 4)) {
-                       printf ("Usage:\n%s\n", cmdtp->usage);
+                       cmd_usage(cmdtp);
                        return 1;
                }
 
        }
        else {
                /* Unrecognized command */
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        int rcode = 0;
 
        if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 #endif
 
        if (argc != 3) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        }
 
        if (addr_first >= addr_last) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 #endif
 
        if (argc < 3) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        } else if (strcmp(argv[1], "on") == 0) {
                p = 1;
        } else {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 #endif
 
        if (argc != 4) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        }
 
        if (addr_first >= addr_last) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
        rcode = flash_sect_protect (p, addr_first, addr_last);
 
 
 static void fpga_usage (cmd_tbl_t * cmdtp)
 {
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
 }
 
 /*
 
        length = i2c_dp_last_length;
 
        if (argc < 3) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
                        if (argv[2][j] == '.') {
                                alen = argv[2][j+1] - '0';
                                if (alen > 4) {
-                                       printf ("Usage:\n%s\n", cmdtp->usage);
+                                       cmd_usage(cmdtp);
                                        return 1;
                                }
                                break;
        int     j;
 
        if ((argc < 4) || (argc > 5)) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
                if (argv[2][j] == '.') {
                        alen = argv[2][j+1] - '0';
                        if (alen > 4) {
-                               printf ("Usage:\n%s\n", cmdtp->usage);
+                               cmd_usage(cmdtp);
                                return 1;
                        }
                        break;
        int     j;
 
        if (argc < 4) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
                if (argv[2][j] == '.') {
                        alen = argv[2][j+1] - '0';
                        if (alen > 4) {
-                               printf ("Usage:\n%s\n", cmdtp->usage);
+                               cmd_usage(cmdtp);
                                return 1;
                        }
                        break;
        extern char console_buffer[];
 
        if (argc != 3) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
                        if (argv[2][j] == '.') {
                                alen = argv[2][j+1] - '0';
                                if (alen > 4) {
-                                       printf ("Usage:\n%s\n", cmdtp->usage);
+                                       cmd_usage(cmdtp);
                                        return 1;
                                }
                                break;
        int     j;
 
        if (argc < 3) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
                if (argv[2][j] == '.') {
                        alen = argv[2][j+1] - '0';
                        if (alen > 4) {
-                               printf ("Usage:\n%s\n", cmdtp->usage);
+                               cmd_usage(cmdtp);
                                return 1;
                        }
                        break;
        };
 
        if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
        /*
                return do_sdram(cmdtp, flag, --argc, ++argv);
 #endif
        else
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
        return 0;
 }
 #endif  /* CONFIG_I2C_CMD_TREE */
 
     switch (argc) {
     case 0:
     case 1:
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
     case 2:
        if (strncmp(argv[1],"res",3) == 0) {
                }
                return rcode;
        }
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
     case 3:
        if (strncmp(argv[1],"dev",3) == 0) {
 #endif
        }
 
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
     default:
        /* at least 4 args */
                        return 1;
                }
        } else {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                rcode = 1;
        }
 
                boot_device = argv[2];
                break;
        default:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                show_boot_progress (-42);
                return 1;
        }
 
 {
 
        if (argc != 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
 
        /* Validate arguments */
        if ((argc != 4)){
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
                return delete_partition(argv[2]);
        }
 
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
 }
 #endif /* #ifdef CONFIG_JFFS2_CMDLINE */
 
                        if (strcmp(argv[1], "on") == 0)
                                hwflow_onoff(1);
                        else
-                               printf("Usage: %s\n", cmdtp->usage);
+                               cmd_usage(cmdtp);
        }
        printf("RTS/CTS hardware flow control: %s\n", hwflow_onoff(0) ? "on" : "off");
        return 0;
 
                        }
                        return 0;
                }
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
 
        default:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 }
 
        length = dp_last_length;
 
        if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        int     size;
 
        if ((argc < 3) || (argc > 4)) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        ulong count;
 
        if (argc < 4) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        ulong count;
 
        if (argc < 4) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        int     rcode = 0;
 
        if (argc != 4) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        int     size;
 
        if (argc != 4) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        volatile u_char *cp;
 
        if (argc < 3) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        volatile u_char *cp;
 
        if (argc < 4) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        extern char console_buffer[];
 
        if (argc != 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        ulong *ptr;
 
        if (argc < 3) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        if (argc < 3) {
   usage:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
                        dst = simple_strtoul(argv[2], NULL, 16);
                        break;
                default:
-                       printf ("Usage:\n%s\n", cmdtp->usage);
+                       cmd_usage(cmdtp);
                        return 1;
        }
 
 
        unsigned int blocking;
 
        if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        blocking = (unsigned int)simple_strtoul (argv[2], NULL, 16);
        if (fslnum < 0 || fslnum >= XILINX_FSL_NUMBER) {
                puts ("Bad number of FSL\n");
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        unsigned int blocking;
 
        if (argc < 3) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        num = (unsigned int)simple_strtoul (argv[2], NULL, 16);
        blocking = (unsigned int)simple_strtoul (argv[3], NULL, 16);
        if (fslnum < 0 || fslnum >= XILINX_FSL_NUMBER) {
-               printf ("Bad number of FSL\nUsage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        unsigned int val = 0;
 
        if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
        reg = (unsigned int)simple_strtoul (argv[1], NULL, 16);
 
        char            *devname;
 
        if (argc < 2) {
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
                else
                        miiphy_set_current_dev (argv[2]);
        } else {
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        ulong delay;
 
        if (argc != 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        unsigned long cpuid;
 
        if (argc < 3) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
                } else if (strncmp(argv[2], "status", 6) == 0) {
                        cpu_status(cpuid);
                } else {
-                       printf ("Usage:\n%s\n", cmdtp->usage);
+                       cmd_usage(cmdtp);
                        return 1;
                }
                return 0;
 
        /* 4 or greater, make sure its release */
        if (strncmp(argv[2], "release", 7) != 0) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        if (cpu_release(cpuid, argc - 3, argv + 3)) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
 #endif
 
 usage:
-       printf("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
 }
 
 #if defined(CONFIG_CMD_JFFS2) && defined(CONFIG_JFFS2_CMDLINE)
 usage:
 #endif
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                show_boot_progress(-53);
                return 1;
        }
        switch (argc) {
        case 0:
        case 1:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        case 2:
                if (strcmp (argv[1], "info") == 0) {
                        return 0;
 
                }
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        case 3:
                if (strcmp (argv[1], "device") == 0) {
                        return ret;
                }
 
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        default:
                /* at least 4 args */
                        }
 #endif /* CONFIG_SYS_NAND_SKIP_BAD_DOT_I */
                        else if (cmdtail) {
-                               printf ("Usage:\n%s\n", cmdtp->usage);
+                               cmd_usage(cmdtp);
                                return 1;
                        }
 
 
                        return ret;
                } else {
-                       printf ("Usage:\n%s\n", cmdtp->usage);
+                       cmd_usage(cmdtp);
                        rcode = 1;
                }
 
                offset = simple_strtoul(argv[3], NULL, 16);
                break;
        default:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                show_boot_progress (-53);
                return 1;
        }
 
 
                break;
 
-       default: printf ("Usage:\n%s\n", cmdtp->usage);
+       default: cmd_usage(cmdtp);
                show_boot_progress (-80);
                return 1;
        }
 
        NetPingIP = string_to_ip(argv[1]);
        if (NetPingIP == 0) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return -1;
        }
 
 
 int do_setenv (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
        if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        local_args[3] = NULL;
 
        if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
        /* Check the syntax */
        switch (argc) {
        case 1:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
 
        case 2:         /* askenv envname */
 
        return 0;
 
 usage:
-       printf("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
 }
 
 
                otp_func = otp_write;
        else {
  usage:
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
 
        return 1;
  usage:
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
 }
 
 
        uint value = out_last_value;
 
        if (argc != 3) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        uint size = in_last_size;
 
        if (argc != 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        int part_length;
 
        if (argc < 3) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
        dev = (int)simple_strtoul (argv[2], &ep, 16);
                break;
 
        default:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        switch (argc) {
        case 0:
        case 1:
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        case 2:
                if (strncmp(argv[1],"inf", 3) == 0) {
                        }
                        return rc;
                }
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        case 3:
                if (strncmp(argv[1], "dev", 3) == 0) {
                        }
                        return rc;
                }
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
 
        default: /* at least 4 args */
                                n, (n == cnt) ? "OK" : "ERROR");
                        return (n == cnt) ? 0 : 1;
                } else {
-                       printf("Usage:\n%s\n", cmdtp->usage);
+                       cmd_usage(cmdtp);
                        rc = 1;
                }
 
 
                boot_device = argv[2];
                break;
        default:
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 {
        switch (argc) {
     case 0:
-    case 1:    printf ("Usage:\n%s\n", cmdtp->usage);  return 1;
+    case 1:    cmd_usage(cmdtp);       return 1;
     case 2:
                        if (strncmp(argv[1],"res",3) == 0) {
                                printf("\nReset SCSI\n");
                                        printf("\nno SCSI devices available\n");
                                return 1;
                        }
-                       printf ("Usage:\n%s\n", cmdtp->usage);
+                       cmd_usage(cmdtp);
                        return 1;
        case 3:
                        if (strncmp(argv[1],"dev",3) == 0) {
                                }
                                return 1;
                        }
-                       printf ("Usage:\n%s\n", cmdtp->usage);
+                       cmd_usage(cmdtp);
                        return 1;
     default:
                        /* at least 4 args */
                                return 0;
                        }
        } /* switch */
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
 }
 
 
 
        /* Validate arguments */
        if ((argc != 5) || (strlen(argv[3]) != 1)) {
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
                return do_spi_flash_erase(argc - 1, argv + 1);
 
 usage:
-       printf("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
 }
 
 
 int do_strings(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
        if (argc == 1) {
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        int err = 0;
 
        if (argc < 2) {
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
                }
 
                if (argc < 4) {
-                       printf("Usage:\n%s\n", cmdtp->usage);
+                       cmd_usage(cmdtp);
                        return 1;
                }
 
 
                boot_device = argv[2];
                break;
        default:
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
                return 0;
        }
 #endif /* CONFIG_USB_STORAGE */
-       printf("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
 }
 
 
        ulong bitmap;
 
        if (argc != 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        return find_cmd_tbl(cmd, &__u_boot_cmd_start, len);
 }
 
+void cmd_usage(cmd_tbl_t *cmdtp)
+{
+       printf("Usage:\n%s\n", cmdtp->usage);
+}
+
 #ifdef CONFIG_AUTO_COMPLETE
 
 int var_complete(int argc, char *argv[], char last_char, int maxv, char *cmdv[])
 
 #endif
                                /* found - check max args */
                                if ((child->argc - i) > cmdtp->maxargs) {
-                                       printf ("Usage:\n%s\n", cmdtp->usage);
+                                       cmd_usage(cmdtp);
                                        return -1;
                                }
 #endif
 
 
                /* found - check max args */
                if (argc > cmdtp->maxargs) {
-                       printf ("Usage:\n%s\n", cmdtp->usage);
+                       cmd_usage(cmdtp);
                        rc = -1;
                        continue;
                }
        int i;
 
        if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
 
   if (argc < 2)
   {
-    printf ("Usage:\n%s\n", cmdtp->usage);
+    cmd_usage(cmdtp);
     return;
   }
 
        (( argv[ 1 ][ 0 ] >= 'a' ) && ( argv[ 1 ][ 0 ] <= 'f' )) ||
        (( argv[ 1 ][ 0 ] >= 'A' ) && ( argv[ 1 ][ 0 ] <= 'F' ))))
   {
-    printf ("Usage:\n%s\n", cmdtp->usage);
+    cmd_usage(cmdtp);
     return;
   }
 
 
        writeback[1] = 0x89abcdefUL;
 
        if (argc > 4) {
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
                        return 0;
                }
        }
-       printf("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
 }
 
 
 
   if (argc < 2)
   {
-    printf ("Usage:\n%s\n", cmdtp->usage);
+    cmd_usage(cmdtp);
     return;
   }
 
 
   if( !isdigit( argv[ 1 ][ 0 ]))
   {
-    printf ("Usage:\n%s\n", cmdtp->usage);
+    cmd_usage(cmdtp);
     return;
   }
 
 
        /* -------------------------------------------------- */
 
        if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return;
        }
 
        /* Set a breakpoint at the address */
 
        if (!isdigit (argv[1][0])) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return;
        }
 
 
        if (!c || !((argc == (c->maxargs)) ||
                (((int)c->cmd == PCA953X_CMD_DEVICE) &&
                 (argc == (c->maxargs - 1))))) {
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        if (!c || !((argc == (c->maxargs)) ||
                (((int)c->cmd == DS4510_CMD_DEVICE) &&
                 (argc == (c->maxargs - 1))))) {
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        } else if (strcmp(argv[2], "write") == 0) {
                rw_func = ds4510_mem_write;
        } else {
-               printf("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
 
        ulong addr;
 
        if (argc < 3) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
                return qe_upload_firmware((const struct qe_firmware *) addr);
        }
 
-       printf ("Usage:\n%s\n", cmdtp->usage);
+       cmd_usage(cmdtp);
        return 1;
 }
 
 
 cmd_tbl_t *find_cmd(const char *cmd);
 cmd_tbl_t *find_cmd_tbl (const char *cmd, cmd_tbl_t *table, int table_len);
 
+extern void cmd_usage(cmd_tbl_t *cmdtp);
+
 #ifdef CONFIG_AUTO_COMPLETE
 extern void install_auto_complete(void);
 extern int cmd_auto_complete(const char *const prompt, char *buf, int *np, int *colp);
 
        int rcode = 0;
 
        if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        }
 
        if (argc != 3) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        addr_last  = simple_strtoul(argv[2], NULL, 16);
 
        if (addr_first >= addr_last) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        int rcode = 0;
 
        if (argc < 3) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        else if (strcmp(argv[1], "on") == 0)
                p = 1;
        else {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        }
 
        if (argc != 4) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
 
        addr_last  = simple_strtoul(argv[3], NULL, 16);
 
        if (addr_first >= addr_last) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
+               cmd_usage(cmdtp);
                return 1;
        }
        rcode = flash_sect_protect (p, addr_first, addr_last);