From patchwork Fri May 26 02:54:21 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeremy Kerr X-Patchwork-Id: 767209 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3wYrNJ3Snzz9s7h for ; Fri, 26 May 2017 12:55:28 +1000 (AEST) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 3wYrNJ2bRQzDqlT for ; Fri, 26 May 2017 12:55:28 +1000 (AEST) X-Original-To: skiboot@lists.ozlabs.org Delivered-To: skiboot@lists.ozlabs.org Received: from ozlabs.org (ozlabs.org [103.22.144.67]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3wYrMh5rPnzDqlK for ; Fri, 26 May 2017 12:54:56 +1000 (AEST) Received: by ozlabs.org (Postfix, from userid 1023) id 3wYrMh4Xptz9s7h; Fri, 26 May 2017 12:54:56 +1000 (AEST) From: Jeremy Kerr To: skiboot@lists.ozlabs.org Date: Fri, 26 May 2017 12:54:21 +1000 Message-Id: <1495767271-8216-3-git-send-email-jk@ozlabs.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1495767271-8216-1-git-send-email-jk@ozlabs.org> References: <1495767271-8216-1-git-send-email-jk@ozlabs.org> Subject: [Skiboot] [PATCH RFC v2 02/12] opal-prd: split type-specific fields of control messages X-BeenThere: skiboot@lists.ozlabs.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Mailing list for skiboot development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Dan Crowell MIME-Version: 1.0 Errors-To: skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Skiboot" We'd like to add other type-specific fields, so introduce a union to populate with these. Signed-off-by: Jeremy Kerr Reviewed-by: Vasant Hegde --- external/opal-prd/opal-prd.c | 15 ++++++++++----- 1 file 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++) {