summaryrefslogtreecommitdiff
path: root/zephyr
diff options
context:
space:
mode:
authorTomasz Michalec <tm@semihalf.com>2021-12-01 15:08:12 +0100
committerCommit Bot <commit-bot@chromium.org>2021-12-03 06:45:34 +0000
commit2049c3f715ab4f60fcde66172c9c0ff93af1d893 (patch)
tree49bdb6abcb8a401ce1a2515056a0e9bd25e1c9fb /zephyr
parentb30c15a73448eed93c6d6997a033d706c0541b50 (diff)
downloadchrome-ec-2049c3f715ab4f60fcde66172c9c0ff93af1d893.tar.gz
zephyr: drivers: Extend BUILD_HOST_COMMAND macro
Now BUILD_HOST_COMMAND macro accepts params argument to setup parameters of host command. New variants of BUILD_HOST_COMMAND are added: - BUILD_HOST_COMMAND_RESPONSE - BUILD_HOST_COMMAND_PARAMS - BUILD_HOST_COMMAND_SIMPLE They allow to declare host command with only response, params or neither. The response_size field is intentionally set to 0, because this is default value. Command returning data should update this field. BUG=none BRANCH=none TEST=make configure --test zephyr/test/drivers Signed-off-by: Tomasz Michalec <tm@semihalf.com> Change-Id: I31021db3790dfa3e0ad15128daf455d14a9c071c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3310858 Tested-by: Tomasz Michalec <tmichalec@google.com> Commit-Queue: Tomasz Michalec <tmichalec@google.com> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Diffstat (limited to 'zephyr')
-rw-r--r--zephyr/test/drivers/src/espi.c3
-rw-r--r--zephyr/test/drivers/src/power_common.c20
-rw-r--r--zephyr/test/drivers/src/usb_mux.c6
3 files changed, 8 insertions, 21 deletions
diff --git a/zephyr/test/drivers/src/espi.c b/zephyr/test/drivers/src/espi.c
index c852f1b771..81cbac30da 100644
--- a/zephyr/test/drivers/src/espi.c
+++ b/zephyr/test/drivers/src/espi.c
@@ -13,7 +13,8 @@ static void test_host_command_get_protocol_info(void)
{
struct ec_response_get_protocol_info response;
struct host_cmd_handler_args args =
- BUILD_HOST_COMMAND(EC_CMD_GET_PROTOCOL_INFO, 0, response);
+ BUILD_HOST_COMMAND_RESPONSE(EC_CMD_GET_PROTOCOL_INFO, 0,
+ response);
zassert_ok(host_command_process(&args), NULL);
zassert_ok(args.result, NULL);
diff --git a/zephyr/test/drivers/src/power_common.c b/zephyr/test/drivers/src/power_common.c
index 19003c8dde..86e03ea38c 100644
--- a/zephyr/test/drivers/src/power_common.c
+++ b/zephyr/test/drivers/src/power_common.c
@@ -297,7 +297,7 @@ static void test_power_hc_smart_discharge(void)
struct ec_response_smart_discharge response;
struct ec_params_smart_discharge params;
struct host_cmd_handler_args args =
- BUILD_HOST_COMMAND(EC_CMD_SMART_DISCHARGE, 0, response);
+ BUILD_HOST_COMMAND(EC_CMD_SMART_DISCHARGE, 0, response, params);
struct i2c_emul *emul;
int hours_to_zero;
int hibern_drate;
@@ -308,9 +308,6 @@ static void test_power_hc_smart_discharge(void)
emul = sbat_emul_get_ptr(BATTERY_ORD);
/* Set up host command parameters */
- args.params = &params;
- args.params_size = sizeof(params);
-
params.flags = EC_SMART_DISCHARGE_FLAGS_SET;
/* Test fail when battery capacity is not available */
@@ -394,7 +391,7 @@ static void test_power_board_system_is_idle(void)
struct ec_response_smart_discharge response;
struct ec_params_smart_discharge params;
struct host_cmd_handler_args args =
- BUILD_HOST_COMMAND(EC_CMD_SMART_DISCHARGE, 0, response);
+ BUILD_HOST_COMMAND(EC_CMD_SMART_DISCHARGE, 0, response, params);
struct sbat_emul_bat_data *bat;
struct i2c_emul *emul;
uint64_t last_shutdown_time = 0;
@@ -405,8 +402,6 @@ static void test_power_board_system_is_idle(void)
bat = sbat_emul_get_bat_data(emul);
/* Set up host command parameters */
- args.params = &params;
- args.params_size = sizeof(params);
params.drate.hibern = 100; /* uA */
params.drate.cutoff = 10; /* uA */
params.hours_to_zero = 1000; /* h */
@@ -463,7 +458,7 @@ static void setup_hibernation_delay(void)
struct ec_response_smart_discharge response;
struct ec_params_smart_discharge params;
struct host_cmd_handler_args args =
- BUILD_HOST_COMMAND(EC_CMD_SMART_DISCHARGE, 0, response);
+ BUILD_HOST_COMMAND(EC_CMD_SMART_DISCHARGE, 0, response, params);
const struct device *acok_dev =
DEVICE_DT_GET(DT_GPIO_CTLR(GPIO_ACOK_OD_NODE, gpios));
struct sbat_emul_bat_data *bat;
@@ -473,8 +468,6 @@ static void setup_hibernation_delay(void)
bat = sbat_emul_get_bat_data(emul);
/* Setup smart discharge zone and set capacity to safe zone */
- args.params = &params;
- args.params_size = sizeof(params);
params.drate.hibern = 100; /* uA */
params.drate.cutoff = 10; /* uA */
params.hours_to_zero = 10000; /* h */
@@ -508,16 +501,13 @@ static void test_power_hc_hibernation_delay(void)
struct ec_response_hibernation_delay response;
struct ec_params_hibernation_delay params;
struct host_cmd_handler_args args =
- BUILD_HOST_COMMAND(EC_CMD_HIBERNATION_DELAY, 0, response);
+ BUILD_HOST_COMMAND(EC_CMD_HIBERNATION_DELAY, 0, response,
+ params);
const struct device *acok_dev =
DEVICE_DT_GET(DT_GPIO_CTLR(GPIO_ACOK_OD_NODE, gpios));
uint32_t h_delay;
int sleep_time;
- /* Setup hibernation delay host command */
- args.params = &params;
- args.params_size = sizeof(params);
-
/* Set hibernate delay */
h_delay = 9;
params.seconds = h_delay;
diff --git a/zephyr/test/drivers/src/usb_mux.c b/zephyr/test/drivers/src/usb_mux.c
index ff5d934d50..d2833650b4 100644
--- a/zephyr/test/drivers/src/usb_mux.c
+++ b/zephyr/test/drivers/src/usb_mux.c
@@ -603,13 +603,9 @@ static void test_usb_mux_hc_mux_info(void)
struct ec_response_usb_pd_mux_info response;
struct ec_params_usb_pd_mux_info params;
struct host_cmd_handler_args args =
- BUILD_HOST_COMMAND(EC_CMD_USB_PD_MUX_INFO, 0, response);
+ BUILD_HOST_COMMAND(EC_CMD_USB_PD_MUX_INFO, 0, response, params);
mux_state_t exp_mode;
- /* Set up host command parameters */
- args.params = &params;
- args.params_size = sizeof(params);
-
/* Test invalid port parameter */
params.port = 5;
zassert_equal(EC_RES_INVALID_PARAM, host_command_process(&args), NULL);