Messages in this thread Patch in this message | | | From | Prashant Malani <> | Subject | [PATCH 3/4] platform/chrome: Use send_cmd_msg in debugfs | Date | Fri, 24 Jan 2020 17:21:07 -0800 |
| |
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, + ¶ms, 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
| |