diff options
Diffstat (limited to 'board/host/charger.c')
-rw-r--r-- | board/host/charger.c | 57 |
1 files changed, 41 insertions, 16 deletions
diff --git a/board/host/charger.c b/board/host/charger.c index 1dd972a82e..d71f1e8994 100644 --- a/board/host/charger.c +++ b/board/host/charger.c @@ -32,13 +32,13 @@ static uint32_t mock_current; static uint32_t mock_voltage; static uint32_t mock_input_current; -const struct charger_info *charger_get_info(void) +static const struct charger_info *mock_get_info(int chgnum) { return &mock_charger_info; } -int charger_get_status(int *status) +static enum ec_error_list mock_get_status(int chgnum, int *status) { *status = CHARGER_LEVEL_2; if (mock_mode & CHARGE_FLAG_INHIBIT_CHARGE) @@ -48,7 +48,7 @@ int charger_get_status(int *status) } -int charger_set_mode(int mode) +static enum ec_error_list mock_set_mode(int chgnum, int mode) { if (mode & CHARGE_FLAG_INHIBIT_CHARGE) mock_mode |= OPTION_CHARGE_INHIBIT; @@ -58,16 +58,16 @@ int charger_set_mode(int mode) } -int charger_get_current(int *current) +static enum ec_error_list mock_get_current(int chgnum, int *current) { *current = mock_current; return EC_SUCCESS; } -int charger_set_current(int current) +static enum ec_error_list mock_set_current(int chgnum, int current) { - const struct charger_info *info = charger_get_info(); + const struct charger_info *info = mock_get_info(chgnum); if (current > 0 && current < info->current_min) current = info->current_min; @@ -80,14 +80,14 @@ int charger_set_current(int current) return EC_SUCCESS; } -int charger_get_voltage(int *voltage) +static enum ec_error_list mock_get_voltage(int chgnum, int *voltage) { *voltage = mock_voltage; return EC_SUCCESS; } -int charger_set_voltage(int voltage) +static enum ec_error_list mock_set_voltage(int chgnum, int voltage) { mock_voltage = voltage; ccprintf("Charger set voltage: %d\n", voltage); @@ -95,42 +95,42 @@ int charger_set_voltage(int voltage) } -int charger_get_option(int *option) +static enum ec_error_list mock_get_option(int chgnum, int *option) { *option = mock_option; return EC_SUCCESS; } -int charger_set_option(int option) +static enum ec_error_list mock_set_option(int chgnum, int option) { mock_option = option; return EC_SUCCESS; } -int charger_manufacturer_id(int *id) +static enum ec_error_list mock_manufacturer_id(int chgnum, int *id) { return EC_SUCCESS; } -int charger_device_id(int *id) +static enum ec_error_list mock_device_id(int chgnum, int *id) { return EC_SUCCESS; } -int charger_get_input_current(int *input_current) +static enum ec_error_list mock_get_input_current(int chgnum, int *input_current) { *input_current = mock_input_current; return EC_SUCCESS; } -int charger_set_input_current(int current) +static enum ec_error_list mock_set_input_current(int chgnum, int current) { - const struct charger_info *info = charger_get_info(); + const struct charger_info *info = mock_get_info(chgnum); if (current < info->input_current_min) current = info->input_current_min; @@ -145,8 +145,33 @@ int charger_set_input_current(int current) } -int charger_post_init(void) +static enum ec_error_list mock_post_init(int chgnum) { mock_current = mock_input_current = CONFIG_CHARGER_INPUT_CURRENT; return EC_SUCCESS; } + +const struct charger_drv mock_drv = { + .post_init = &mock_post_init, + .get_info = &mock_get_info, + .get_status = &mock_get_status, + .set_mode = &mock_set_mode, + .get_current = &mock_get_current, + .set_current = &mock_set_current, + .get_voltage = &mock_get_voltage, + .set_voltage = &mock_set_voltage, + .set_input_current = &mock_set_input_current, + .get_input_current = &mock_get_input_current, + .manufacturer_id = &mock_manufacturer_id, + .device_id = &mock_device_id, + .get_option = &mock_get_option, + .set_option = &mock_set_option, +}; + +const struct charger_config_t chg_chips[] = { + { + .drv = &mock_drv, + }, +}; + +const unsigned int chg_cnt = ARRAY_SIZE(chg_chips); |