diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2017-05-26 12:54:21 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2017-06-06 17:59:45 +1000 |
commit | 05dd64a57788a44df406a4553a75ee57c2b7cd82 (patch) | |
tree | bcc5d1ccbc64e63a0820df9f60d51c7f070e932e | |
parent | b537752cf694dac00871ab66e1ee2b82b61786b1 (diff) | |
download | skiboot-05dd64a57788a44df406a4553a75ee57c2b7cd82.zip skiboot-05dd64a57788a44df406a4553a75ee57c2b7cd82.tar.gz skiboot-05dd64a57788a44df406a4553a75ee57c2b7cd82.tar.bz2 |
opal-prd: split type-specific fields of control messages
We'd like to add other type-specific fields, so introduce a union to
populate with these.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Reviewed-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
-rw-r--r-- | external/opal-prd/opal-prd.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/external/opal-prd/opal-prd.c b/external/opal-prd/opal-prd.c index 93419e3..5e8f798 100644 --- a/external/opal-prd/opal-prd.c +++ b/external/opal-prd/opal-prd.c @@ -96,9 +96,14 @@ enum control_msg_type { struct control_msg { enum control_msg_type type; int response; - uint32_t argc; - uint32_t data_len; - uint8_t data[]; + union { + struct { + unsigned int argc; + } run_cmd; + }; + unsigned int data_len; + unsigned char data[]; + }; #define MAX_CONTROL_MSG_BUF 4096 @@ -1339,7 +1344,7 @@ static void handle_prd_control_run_cmd(struct control_msg *send_msg, return; } - argc = recv_msg->argc; + argc = recv_msg->run_cmd.argc; pr_debug("CTRL: run_command, argc:%d\n", argc); argv = malloc(argc * sizeof(*argv)); @@ -1895,7 +1900,7 @@ static int send_run_command(struct opal_prd_ctx *ctx, int argc, char *argv[]) /* Setup message */ send_msg->type = CONTROL_MSG_RUN_CMD; - send_msg->argc = argc; + send_msg->run_cmd.argc = argc; send_msg->data_len = size; s = (char *)send_msg->data; for (i = 0; i < argc; i++) { |