linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Prashant Malani <pmalani@chromium.org>
To: enric.balletbo@collabora.com, bleung@chromium.org
Cc: linux-kernel@vger.kernel.org, Prashant Malani <pmalani@chromium.org>
Subject: [PATCH 3/4] platform/chrome: Use send_cmd_msg in debugfs
Date: Fri, 24 Jan 2020 17:21:07 -0800	[thread overview]
Message-ID: <20200125012105.59903-4-pmalani@chromium.org> (raw)
In-Reply-To: <20200125012105.59903-1-pmalani@chromium.org>

Update Chrome EC's debugfs driver to use the cros_ec_send_cmd_msg()
wrapper instead of cros_ec_cmd_xfer_status() within the pdinfo_read()
function. This helps to remove some of the structure and buffer
definitions and some of the message buffer set up code.

Signed-off-by: Prashant Malani <pmalani@chromium.org>
---
 drivers/platform/chrome/cros_ec_debugfs.c | 39 +++++++----------------
 1 file changed, 12 insertions(+), 27 deletions(-)

diff --git a/drivers/platform/chrome/cros_ec_debugfs.c b/drivers/platform/chrome/cros_ec_debugfs.c
index 6ae484989d1f5..34c1c36be1c51 100644
--- a/drivers/platform/chrome/cros_ec_debugfs.c
+++ b/drivers/platform/chrome/cros_ec_debugfs.c
@@ -199,44 +199,29 @@ static ssize_t cros_ec_pdinfo_read(struct file *file,
 	char read_buf[EC_USB_PD_MAX_PORTS * 40], *p = read_buf;
 	struct cros_ec_debugfs *debug_info = file->private_data;
 	struct cros_ec_device *ec_dev = debug_info->ec->ec_dev;
-	struct {
-		struct cros_ec_command msg;
-		union {
-			struct ec_response_usb_pd_control_v1 resp;
-			struct ec_params_usb_pd_control params;
-		};
-	} __packed ec_buf;
-	struct cros_ec_command *msg;
-	struct ec_response_usb_pd_control_v1 *resp;
-	struct ec_params_usb_pd_control *params;
+	struct ec_response_usb_pd_control_v1 resp = {0};
+	struct ec_params_usb_pd_control params = {0};
 	int i;
 
-	msg = &ec_buf.msg;
-	params = (struct ec_params_usb_pd_control *)msg->data;
-	resp = (struct ec_response_usb_pd_control_v1 *)msg->data;
-
-	msg->command = EC_CMD_USB_PD_CONTROL;
-	msg->version = 1;
-	msg->insize = sizeof(*resp);
-	msg->outsize = sizeof(*params);
-
 	/*
 	 * Read status from all PD ports until failure, typically caused
 	 * by attempting to read status on a port that doesn't exist.
 	 */
 	for (i = 0; i < EC_USB_PD_MAX_PORTS; ++i) {
-		params->port = i;
-		params->role = 0;
-		params->mux = 0;
-		params->swap = 0;
-
-		if (cros_ec_cmd_xfer_status(ec_dev, msg) < 0)
+		params.port = i;
+		params.role = 0;
+		params.mux = 0;
+		params.swap = 0;
+
+		if (cros_ec_send_cmd_msg(ec_dev, 1, EC_CMD_USB_PD_CONTROL,
+					 &params, sizeof(params), &resp,
+					 sizeof(resp)) < 0)
 			break;
 
 		p += scnprintf(p, sizeof(read_buf) + read_buf - p,
 			       "p%d: %s en:%.2x role:%.2x pol:%.2x\n", i,
-			       resp->state, resp->enabled, resp->role,
-			       resp->polarity);
+			       resp.state, resp.enabled, resp.role,
+			       resp.polarity);
 	}
 
 	return simple_read_from_buffer(user_buf, count, ppos,
-- 
2.25.0.341.g760bfbb309-goog


  parent reply	other threads:[~2020-01-25  1:22 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-25  1:21 [PATCH 0/4] Factor out cmd_xfer_status() setup code Prashant Malani
2020-01-25  1:21 ` [PATCH 1/4] platform/chrome: Add EC command msg wrapper Prashant Malani
2020-01-27 15:29   ` Enric Balletbo i Serra
2020-01-27 17:11     ` Prashant Malani
2020-01-27 20:35       ` Enric Balletbo Serra
2020-01-28 19:29         ` Prashant Malani
2020-01-28 20:57           ` Enric Balletbo Serra
2020-01-28 22:44             ` Prashant Malani
     [not found]             ` <CACeCKaewsKMLbO=N2hY5Gen075ZuVmSb8A=A1gQ7SWFvoF7M2w@mail.gmail.com>
2020-01-30 20:38               ` Prashant Malani
2020-01-25  1:21 ` [PATCH 2/4] platform/chrome: Make chardev use send_cmd_msg Prashant Malani
2020-01-25  1:21 ` Prashant Malani [this message]
2020-01-25  1:21 ` [PATCH 4/4] platform/chrome: Make check_features() use wrapper Prashant Malani

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200125012105.59903-4-pmalani@chromium.org \
    --to=pmalani@chromium.org \
    --cc=bleung@chromium.org \
    --cc=enric.balletbo@collabora.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).