X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=common%2Fcmd_portio.c;h=eae8f079d6eb23ff70ad293fb3c30c75a7e812d8;hb=67cd4a63487400317f1586b130bc2475767a5315;hp=afa39e1ebd936a2dfa6bc542babce079d0e22836;hpb=7a8e9bed17d7924a9c5c4699b1f6a3a0359524ed;p=u-boot diff --git a/common/cmd_portio.c b/common/cmd_portio.c index afa39e1ebd..eae8f079d6 100644 --- a/common/cmd_portio.c +++ b/common/cmd_portio.c @@ -29,11 +29,6 @@ #include #include -#include - -#if (CONFIG_COMMANDS & CFG_CMD_PORTIO) - -extern int cmd_get_data_size (char *arg, int default_size); /* Display values from last command. * Memory modify remembered values are different from display memory. @@ -42,19 +37,18 @@ static uint in_last_addr, in_last_size; static uint out_last_addr, out_last_size, out_last_value; -int do_portio_out (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) +int do_portio_out (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) { uint addr = out_last_addr; uint size = out_last_size; uint value = out_last_value; - if (argc != 3) { - printf ("Usage:\n%s\n", cmdtp->usage); - return 1; - } + if (argc != 3) + return CMD_RET_USAGE; if ((flag & CMD_FLAG_REPEAT) == 0) { - /* New command specified. Check for a size specification. + /* + * New command specified. Check for a size specification. * Defaults to long if no or incorrect specification. */ size = cmd_get_data_size (argv[0], 1); @@ -96,18 +90,23 @@ int do_portio_out (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) return 0; } -int do_portio_in (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) +U_BOOT_CMD( + out, 3, 1, do_portio_out, + "write datum to IO port", + "[.b, .w, .l] port value\n - output to IO port" +); + +int do_portio_in (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) { uint addr = in_last_addr; uint size = in_last_size; - if (argc != 2) { - printf ("Usage:\n%s\n", cmdtp->usage); - return 1; - } + if (argc != 2) + return CMD_RET_USAGE; if ((flag & CMD_FLAG_REPEAT) == 0) { - /* New command specified. Check for a size specification. + /* + * New command specified. Check for a size specification. * Defaults to long if no or incorrect specification. */ size = cmd_get_data_size (argv[0], 1); @@ -154,4 +153,9 @@ int do_portio_in (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) return 0; } -#endif /* CFG_CMD_PORTIO */ +U_BOOT_CMD( + in, 2, 1, do_portio_in, + "read data from an IO port", + "[.b, .w, .l] port\n" + " - read datum from IO port" +);