diff options
-rw-r--r-- | common/test_util.c | 19 | ||||
-rw-r--r-- | include/test_util.h | 3 | ||||
-rw-r--r-- | test/flash.c | 45 |
3 files changed, 32 insertions, 35 deletions
diff --git a/common/test_util.c b/common/test_util.c index b9b6a7a13f..c133ac9d24 100644 --- a/common/test_util.c +++ b/common/test_util.c @@ -9,6 +9,7 @@ #include <stdlib.h> #include "console.h" +#include "host_command.h" #include "test_util.h" #include "util.h" @@ -64,6 +65,24 @@ int test_get_error_count(void) return __test_error_count; } +#ifdef HAS_TASK_HOSTCMD +int test_send_host_command(int command, int version, const void *params, + int params_size, void *resp, int resp_size) +{ + struct host_cmd_handler_args args; + + args.version = version; + args.command = command; + args.params = params; + args.params_size = params_size; + args.response = resp; + args.response_max = resp_size; + args.response_size = 0; + + return host_command_process(&args); +} +#endif /* TASK_HAS_HOSTCMD */ + static int command_run_test(int argc, char **argv) { run_test(); diff --git a/include/test_util.h b/include/test_util.h index 3faccb8c79..d63acfa741 100644 --- a/include/test_util.h +++ b/include/test_util.h @@ -76,6 +76,9 @@ void test_print_result(void); int test_get_error_count(void); +int test_send_host_command(int command, int version, const void *params, + int params_size, void *resp, int resp_size); + extern int __test_error_count; #endif /* __CROS_EC_TEST_UTIL_H */ diff --git a/test/flash.c b/test/flash.c index 33f47543bd..c8fa65955e 100644 --- a/test/flash.c +++ b/test/flash.c @@ -162,73 +162,48 @@ static int verify_write(int offset, int size, const char *data) int host_command_write(int offset, int size, const char *data) { - struct host_cmd_handler_args args; struct ec_params_flash_write params; params.offset = offset; params.size = size; memcpy(params.data, data, size); - args.version = 0; - args.command = EC_CMD_FLASH_WRITE; - args.params = ¶ms; - args.params_size = sizeof(params); - args.response = NULL; - args.response_max = 0; - args.response_size = 0; - - return host_command_process(&args); + return test_send_host_command(EC_CMD_FLASH_WRITE, 0, ¶ms, + sizeof(params), NULL, 0); } int host_command_erase(int offset, int size) { - struct host_cmd_handler_args args; struct ec_params_flash_write params; params.offset = offset; params.size = size; - args.version = 0; - args.command = EC_CMD_FLASH_ERASE; - args.params = ¶ms; - args.params_size = sizeof(params); - args.response = NULL; - args.response_max = 0; - args.response_size = 0; - - return host_command_process(&args); + return test_send_host_command(EC_CMD_FLASH_ERASE, 0, ¶ms, + sizeof(params), NULL, 0); } int host_command_protect(uint32_t mask, uint32_t flags, uint32_t *flags_out, uint32_t *valid_out, uint32_t *writable_out) { - struct host_cmd_handler_args args; struct ec_params_flash_protect params; - struct ec_response_flash_protect *r = - (struct ec_response_flash_protect *)¶ms; + struct ec_response_flash_protect resp; int res; params.mask = mask; params.flags = flags; - args.version = 1; - args.command = EC_CMD_FLASH_PROTECT; - args.params = ¶ms; - args.params_size = sizeof(params); - args.response = ¶ms; - args.response_max = EC_HOST_PARAM_SIZE; - args.response_size = 0; - - res = host_command_process(&args); + res = test_send_host_command(EC_CMD_FLASH_PROTECT, 1, ¶ms, + sizeof(params), &resp, sizeof(resp)); if (res == EC_RES_SUCCESS) { if (flags_out) - *flags_out = r->flags; + *flags_out = resp.flags; if (valid_out) - *valid_out = r->valid_flags; + *valid_out = resp.valid_flags; if (writable_out) - *writable_out = r->writable_flags; + *writable_out = resp.writable_flags; } return res; |