summaryrefslogtreecommitdiff
path: root/common/usb_charge.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/usb_charge.c')
-rw-r--r--common/usb_charge.c42
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 */