diff options
Diffstat (limited to 'common/usb_charge.c')
-rw-r--r-- | common/usb_charge.c | 42 |
1 files changed, 19 insertions, 23 deletions
diff --git a/common/usb_charge.c b/common/usb_charge.c index 175717fadf..6495a491c0 100644 --- a/common/usb_charge.c +++ b/common/usb_charge.c @@ -120,34 +120,30 @@ static int command_set_mode(int argc, char **argv) { int port_id = -1; int mode = -1; - char* endptr; - - if (argc != 3) { - ccputs("Usage: usbchargemode <port_id> <mode>\n"); - ccputs("Modes: 0=Disabled.\n" - " 1=Dedicated charging. Auto select.\n" - " 2=Dedicated charging. BC 1.2.\n" - " 3=Downstream. Max 500mA.\n" - " 4=Downstream. Max 1.5A.\n"); - return EC_ERROR_UNKNOWN; - } + char *e; - port_id = strtoi(argv[1], &endptr, 0); - if (*endptr || port_id < 0 || port_id >= USB_CHARGE_PORT_COUNT) { - ccputs("Invalid port ID.\n"); - return EC_ERROR_UNKNOWN; - } + if (argc != 3) + return EC_ERROR_PARAM_COUNT; - mode = strtoi(argv[2], &endptr, 0); - if (*endptr || mode < 0 || mode >= USB_CHARGE_MODE_COUNT) { - ccputs("Invalid mode.\n"); - return EC_ERROR_UNKNOWN; - } + port_id = strtoi(argv[1], &e, 0); + if (*e || port_id < 0 || port_id >= USB_CHARGE_PORT_COUNT) + return EC_ERROR_PARAM1; + + mode = strtoi(argv[2], &e, 0); + if (*e || mode < 0 || mode >= USB_CHARGE_MODE_COUNT) + return EC_ERROR_PARAM2; - ccprintf("Setting USB mode...\n"); return usb_charge_set_mode(port_id, mode); } -DECLARE_CONSOLE_COMMAND(usbchargemode, command_set_mode); +DECLARE_CONSOLE_COMMAND(usbchargemode, command_set_mode, + "<port> <0 | 1 | 2 | 3 | 4>", + "Set USB charge mode", + "Modes: 0=Disabled.\n" + " 1=Dedicated charging. Auto select.\n" + " 2=Dedicated charging. BC 1.2.\n" + " 3=Downstream. Max 500mA.\n" + " 4=Downstream. Max 1.5A.\n"); + /*****************************************************************************/ /* Hooks */ |