diff options
author | Gerrit <chrome-bot@google.com> | 2012-05-21 11:16:06 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@gerrit.golo.chromium.org> | 2012-05-21 11:16:06 -0700 |
commit | b5ce7f5a203937c652dd543bcd4d9d76944ecd6b (patch) | |
tree | a27987b1a8b57aa6ec25964d8413428ce91f03f5 /common | |
parent | f618a74f7f72a89d764e727556778c8ad411761a (diff) | |
parent | eac46a9194a211b97e4fb5a77ed8320f17dd7a8c (diff) | |
download | chrome-ec-b5ce7f5a203937c652dd543bcd4d9d76944ecd6b.tar.gz |
Merge "More debug command cleanup to save space"
Diffstat (limited to 'common')
-rw-r--r-- | common/charger_bq24725.c | 61 | ||||
-rw-r--r-- | common/console.c | 4 | ||||
-rw-r--r-- | common/gpio_commands.c | 44 | ||||
-rw-r--r-- | common/memory_commands.c | 17 | ||||
-rw-r--r-- | common/system_common.c | 75 |
5 files changed, 79 insertions, 122 deletions
diff --git a/common/charger_bq24725.c b/common/charger_bq24725.c index c479de6380..6693a1bebe 100644 --- a/common/charger_bq24725.c +++ b/common/charger_bq24725.c @@ -173,111 +173,90 @@ int charger_post_init(void) return charger_set_input_current(CONFIG_CHARGER_INPUT_CURRENT); } - +/*****************************************************************************/ /* Console commands */ -static void print_usage(void) -{ - ccputs("Usage: charger [set_command value]\n"); - ccputs(" charger input input_current_in_mA\n"); - ccputs(" charger voltage voltage_limit_in_mV\n"); - ccputs(" charger current current_limit_in_mA\n\n"); -} - static int print_info(void) { int rv; int d; const struct charger_info *info; - ccputs("Charger properties : now (max, min, step)\n"); - /* info */ info = charger_get_info(); - ccprintf(" name : %s\n", info->name); + ccprintf("Name : %s\n", info->name); /* option */ rv = charger_get_option(&d); if (rv) return rv; - ccprintf(" option : %016b (0x%04x)\n", d, d); + ccprintf("Option: %016b (0x%04x)\n", d, d); /* manufacturer id */ rv = charger_manufacturer_id(&d); if (rv) return rv; - ccprintf(" manufacturer id: 0x%04x\n", d); + ccprintf("Man id: 0x%04x\n", d); /* device id */ rv = charger_device_id(&d); if (rv) return rv; - ccprintf(" device id : 0x%04x\n", d); + ccprintf("Dev id: 0x%04x\n", d); /* charge voltage limit */ rv = charger_get_voltage(&d); if (rv) return rv; - ccprintf(" voltage : %5d (%5d, %4d, %3d)\n", d, - info->voltage_max, info->voltage_min, info->voltage_step); + ccprintf("V_batt: %5d (%4d - %5d, %3d)\n", d, + info->voltage_min, info->voltage_max, info->voltage_step); /* charge current limit */ rv = charger_get_current(&d); if (rv) return rv; - ccprintf(" current : %5d (%5d, %4d, %3d)\n", d, - info->current_max, info->current_min, info->current_step); + ccprintf("I_batt: %5d (%4d - %5d, %3d)\n", d, + info->current_min, info->current_max, info->current_step); /* input current limit */ rv = charger_get_input_current(&d); if (rv) return rv; - ccprintf(" input current : %5d (%5d, %4d, %3d)\n", d, - info->input_current_max, info->input_current_min, + ccprintf("I_in : %5d (%4d - %5d, %3d)\n", d, + info->input_current_min, info->input_current_max, info->input_current_step); return EC_SUCCESS; } + static int command_charger(int argc, char **argv) { int d; char *endptr; - if (argc != 3) { - if (argc != 1) - print_usage(); + if (argc != 3) return print_info(); - } if (strcasecmp(argv[1], "input") == 0) { d = strtoi(argv[2], &endptr, 0); - if (*endptr) { - print_usage(); - return EC_ERROR_UNKNOWN; - } + if (*endptr) + return EC_ERROR_INVAL; return charger_set_input_current(d); } else if (strcasecmp(argv[1], "current") == 0) { d = strtoi(argv[2], &endptr, 0); - if (*endptr) { - print_usage(); - return EC_ERROR_UNKNOWN; - } + if (*endptr) + return EC_ERROR_INVAL; return charger_set_current(d); } else if (strcasecmp(argv[1], "voltage") == 0) { d = strtoi(argv[2], &endptr, 0); if (*endptr) { - print_usage(); - return EC_ERROR_UNKNOWN; + return EC_ERROR_INVAL; } return charger_set_voltage(d); - } else { - print_usage(); - return print_info(); - } - - return EC_SUCCESS; + } else + return EC_ERROR_INVAL; } DECLARE_CONSOLE_COMMAND(charger, command_charger); diff --git a/common/console.c b/common/console.c index 8f21418f43..16a17fade7 100644 --- a/common/console.c +++ b/common/console.c @@ -194,7 +194,9 @@ static void console_process(void) uart_gets(input_buf, sizeof(input_buf)); rv = handle_command(input_buf); - if (rv != EC_SUCCESS) + if (rv == EC_ERROR_INVAL) + ccputs("Command usage/param invalid.\n"); + else if (rv != EC_SUCCESS) ccprintf("Command returned error %d\n", rv); ccputs(PROMPT); } diff --git a/common/gpio_commands.c b/common/gpio_commands.c index 1f32cc2e5e..ca8487533d 100644 --- a/common/gpio_commands.c +++ b/common/gpio_commands.c @@ -11,6 +11,9 @@ #include "util.h" +static uint8_t last_val[(GPIO_COUNT + 7) / 8]; + + /* Find a GPIO signal by name. Returns the signal index, or GPIO_COUNT if * no match. */ static enum gpio_signal find_signal_by_name(const char *name) @@ -30,8 +33,6 @@ static enum gpio_signal find_signal_by_name(const char *name) } -static uint8_t last_val[(GPIO_COUNT + 7) / 8]; - /* If v is different from the last value for index i, updates the last value * and returns 1; else returns 0. */ static int last_val_changed(int i, int v) @@ -47,6 +48,7 @@ static int last_val_changed(int i, int v) } } + static int command_gpio_get(int argc, char **argv) { const struct gpio_info *g = gpio_list; @@ -55,10 +57,8 @@ static int command_gpio_get(int argc, char **argv) /* If a signal is specified, print only that one */ if (argc == 2) { i = find_signal_by_name(argv[1]); - if (i == GPIO_COUNT) { - ccputs("Unknown signal name.\n"); - return EC_ERROR_UNKNOWN; - } + if (i == GPIO_COUNT) + return EC_ERROR_INVAL; g = gpio_list + i; v = gpio_get_level(i); changed = last_val_changed(i, v); @@ -68,7 +68,6 @@ static int command_gpio_get(int argc, char **argv) } /* Otherwise print them all */ - ccputs("Current GPIO levels:\n"); for (i = 0; i < GPIO_COUNT; i++, g++) { if (!g->mask) continue; /* Skip unsupported signals */ @@ -92,32 +91,23 @@ static int command_gpio_set(int argc, char **argv) char *e; int v, i; - if (argc < 3) { - ccputs("Usage: gpioset <signal_name> <0|1>\n"); - return EC_ERROR_UNKNOWN; - } + if (argc < 3) + return EC_ERROR_INVAL; i = find_signal_by_name(argv[1]); - if (i == GPIO_COUNT) { - ccputs("Unknown signal name.\n"); - return EC_ERROR_UNKNOWN; - } + if (i == GPIO_COUNT) + return EC_ERROR_INVAL; g = gpio_list + i; - if (!g->mask) { - ccputs("Signal is not implemented.\n"); - return EC_ERROR_UNKNOWN; - } - if (!(g->flags & GPIO_OUTPUT)) { - ccputs("Signal is not an output.\n"); - return EC_ERROR_UNKNOWN; - } + if (!g->mask) + return EC_ERROR_INVAL; + + if (!(g->flags & GPIO_OUTPUT)) + return EC_ERROR_INVAL; v = strtoi(argv[2], &e, 0); - if (*e) { - ccputs("Invalid signal value.\n"); - return EC_ERROR_UNKNOWN; - } + if (*e) + return EC_ERROR_INVAL; return gpio_set_level(i, v); } diff --git a/common/memory_commands.c b/common/memory_commands.c index e8bff757cd..a313379e86 100644 --- a/common/memory_commands.c +++ b/common/memory_commands.c @@ -14,14 +14,12 @@ static int command_write_word(int argc, char **argv) volatile uint32_t *address; uint32_t value; - if (argc != 3) { - ccputs("Usage: ww <address> <value>\n"); - return EC_ERROR_UNKNOWN; - } + if (argc != 3) + return EC_ERROR_INVAL; address = (uint32_t*)strtoi(argv[1], NULL, 0); value = strtoi(argv[2], NULL, 0); - ccprintf("write word 0x%p = 0x%08x\n", address, value); + ccprintf("write 0x%p = 0x%08x\n", address, value); cflush(); /* Flush before writing in case this crashes */ *address = value; @@ -37,14 +35,13 @@ static int command_read_word(int argc, char **argv) volatile uint32_t *address; uint32_t value; - if (argc != 2) { - ccputs("Usage: rw <address>\n"); - return EC_ERROR_UNKNOWN; - } + if (argc != 2) + return EC_ERROR_INVAL; + address = (uint32_t*)strtoi(argv[1], NULL, 0); value = *address; - ccprintf("read word 0x%p = 0x%08x\n", address, value); + ccprintf("read 0x%p = 0x%08x\n", address, value); return EC_SUCCESS; } diff --git a/common/system_common.c b/common/system_common.c index 018181870e..2cdbf0e626 100644 --- a/common/system_common.c +++ b/common/system_common.c @@ -413,13 +413,11 @@ int system_common_pre_init(void) static int command_sysinfo(int argc, char **argv) { - ccprintf("Reset cause: %d (%s)\n", + ccprintf("Last reset: %d (%s)\n", system_get_reset_cause(), system_get_reset_cause_string()); - ccprintf("Scratchpad: 0x%08x\n", system_get_scratchpad()); - ccprintf("Firmware copy: %s\n", system_get_image_copy_string()); - ccprintf("Jumped to this copy: %s\n", - system_jumped_to_this_image() ? "yes" : "no"); + ccprintf("Copy: %s\n", system_get_image_copy_string()); + ccprintf("Jump: %s\n", system_jumped_to_this_image() ? "yes" : "no"); return EC_SUCCESS; } DECLARE_CONSOLE_COMMAND(sysinfo, command_sysinfo); @@ -427,33 +425,32 @@ DECLARE_CONSOLE_COMMAND(sysinfo, command_sysinfo); static int command_chipinfo(int argc, char **argv) { - ccprintf("Chip vendor: %s\n", system_get_chip_vendor()); - ccprintf("Chip name: %s\n", system_get_chip_name()); - ccprintf("Chip revision: %s\n", system_get_chip_revision()); + ccprintf("Vendor: %s\n", system_get_chip_vendor()); + ccprintf("Name: %s\n", system_get_chip_name()); + ccprintf("Revision: %s\n", system_get_chip_revision()); return EC_SUCCESS; } DECLARE_CONSOLE_COMMAND(chipinfo, command_chipinfo); -static int command_set_scratchpad(int argc, char **argv) +#ifdef CONSOLE_COMMAND_SCRATCHPAD +static int command_scratchpad(int argc, char **argv) { - int s; - char *e; - - if (argc < 2) { - ccputs("Usage: scratchpad <value>\n"); - return EC_ERROR_UNKNOWN; + int rv = EC_SUCCESS; + + if (argc == 2) { + char *e; + int s = strtoi(argv[1], &e, 0); + if (*e) + return EC_ERROR_INVAL; + rv = system_set_scratchpad(s); } - s = strtoi(argv[1], &e, 0); - if (*e) { - ccputs("Invalid scratchpad value\n"); - return EC_ERROR_UNKNOWN; - } - ccprintf("Setting scratchpad to 0x%08x\n", s); - return system_set_scratchpad(s); + ccprintf("Scratchpad: 0x%08x\n", system_get_scratchpad()); + return rv; } -DECLARE_CONSOLE_COMMAND(setscratchpad, command_set_scratchpad); +DECLARE_CONSOLE_COMMAND(scratchpad, command_scratchpad); +#endif static int command_hibernate(int argc, char **argv) @@ -461,15 +458,13 @@ static int command_hibernate(int argc, char **argv) int seconds; int microseconds = 0; - if (argc < 2) { - ccputs("Usage: hibernate <seconds> [<microseconds>]\n"); - return EC_ERROR_UNKNOWN; - } + if (argc < 2) + return EC_ERROR_INVAL; seconds = strtoi(argv[1], NULL, 0); if (argc >= 3) microseconds = strtoi(argv[2], NULL, 0); - ccprintf("Hibernating for %d.%06d s ...\n", seconds, microseconds); + ccprintf("Hibernating for %d.%06d s\n", seconds, microseconds); cflush(); system_hibernate(seconds, microseconds); @@ -481,14 +476,11 @@ DECLARE_CONSOLE_COMMAND(hibernate, command_hibernate); static int command_version(int argc, char **argv) { - ccprintf("Board version: %d\n", system_get_board_version()); - ccprintf("RO version: %s\n", - system_get_version(SYSTEM_IMAGE_RO)); - ccprintf("RW-A version: %s\n", - system_get_version(SYSTEM_IMAGE_RW_A)); - ccprintf("RW-B version: %s\n", - system_get_version(SYSTEM_IMAGE_RW_B)); - ccprintf("Current build: %s\n", system_get_build_info()); + ccprintf("Board: %d\n", system_get_board_version()); + ccprintf("RO: %s\n", system_get_version(SYSTEM_IMAGE_RO)); + ccprintf("RW-A: %s\n", system_get_version(SYSTEM_IMAGE_RW_A)); + ccprintf("RW-B: %s\n", system_get_version(SYSTEM_IMAGE_RW_B)); + ccprintf("Build: %s\n", system_get_build_info()); return EC_SUCCESS; } DECLARE_CONSOLE_COMMAND(version, command_version); @@ -502,10 +494,8 @@ static int command_sysjump(int argc, char **argv) /* TODO: (crosbug.com/p/7468) For this command to be allowed, WP must * be disabled. */ - if (argc < 2) { - ccputs("Usage: sysjump <RO | A | B | addr>\n"); + if (argc < 2) return EC_ERROR_INVAL; - } ccputs("Processing sysjump command\n"); @@ -520,11 +510,10 @@ static int command_sysjump(int argc, char **argv) /* Check for arbitrary address */ addr = strtoi(argv[1], &e, 0); - if (e && *e) { - ccputs("Invalid image address\n"); + if (*e) return EC_ERROR_INVAL; - } - ccprintf("Jumping directly to 0x%08x...\n", addr); + + ccprintf("Jumping to 0x%08x\n", addr); cflush(); jump_to_image(addr, 0); return EC_SUCCESS; |