Skip to content

Commit

Permalink
platform/chrome: use sysfs_emit_at() instead of scnprintf()
Browse files Browse the repository at this point in the history
Follow the advice in Documentation/filesystems/sysfs.rst:
show() should only use sysfs_emit() or sysfs_emit_at() when formatting
the value to be returned to user space.

Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20221205061042.1774769-1-tzungbi@kernel.org
  • Loading branch information
Tzung-Bi Shih committed Dec 26, 2022
1 parent 256b734 commit b251c0e
Showing 1 changed file with 14 additions and 22 deletions.
36 changes: 14 additions & 22 deletions drivers/platform/chrome/cros_ec_sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,9 @@ static ssize_t reboot_show(struct device *dev,
{
int count = 0;

count += scnprintf(buf + count, PAGE_SIZE - count,
"ro|rw|cancel|cold|disable-jump|hibernate|cold-ap-off");
count += scnprintf(buf + count, PAGE_SIZE - count,
" [at-shutdown]\n");
count += sysfs_emit_at(buf, count,
"ro|rw|cancel|cold|disable-jump|hibernate|cold-ap-off");
count += sysfs_emit_at(buf, count, " [at-shutdown]\n");
return count;
}

Expand Down Expand Up @@ -138,12 +137,9 @@ static ssize_t version_show(struct device *dev,
/* Strings should be null-terminated, but let's be sure. */
r_ver->version_string_ro[sizeof(r_ver->version_string_ro) - 1] = '\0';
r_ver->version_string_rw[sizeof(r_ver->version_string_rw) - 1] = '\0';
count += scnprintf(buf + count, PAGE_SIZE - count,
"RO version: %s\n", r_ver->version_string_ro);
count += scnprintf(buf + count, PAGE_SIZE - count,
"RW version: %s\n", r_ver->version_string_rw);
count += scnprintf(buf + count, PAGE_SIZE - count,
"Firmware copy: %s\n",
count += sysfs_emit_at(buf, count, "RO version: %s\n", r_ver->version_string_ro);
count += sysfs_emit_at(buf, count, "RW version: %s\n", r_ver->version_string_rw);
count += sysfs_emit_at(buf, count, "Firmware copy: %s\n",
(r_ver->current_image < ARRAY_SIZE(image_names) ?
image_names[r_ver->current_image] : "?"));

Expand All @@ -152,21 +148,20 @@ static ssize_t version_show(struct device *dev,
msg->insize = EC_HOST_PARAM_SIZE;
ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg);
if (ret < 0) {
count += scnprintf(buf + count, PAGE_SIZE - count,
count += sysfs_emit_at(buf, count,
"Build info: XFER / EC ERROR %d / %d\n",
ret, msg->result);
} else {
msg->data[EC_HOST_PARAM_SIZE - 1] = '\0';
count += scnprintf(buf + count, PAGE_SIZE - count,
"Build info: %s\n", msg->data);
count += sysfs_emit_at(buf, count, "Build info: %s\n", msg->data);
}

/* Get chip info. */
msg->command = EC_CMD_GET_CHIP_INFO + ec->cmd_offset;
msg->insize = sizeof(*r_chip);
ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg);
if (ret < 0) {
count += scnprintf(buf + count, PAGE_SIZE - count,
count += sysfs_emit_at(buf, count,
"Chip info: XFER / EC ERROR %d / %d\n",
ret, msg->result);
} else {
Expand All @@ -175,26 +170,23 @@ static ssize_t version_show(struct device *dev,
r_chip->vendor[sizeof(r_chip->vendor) - 1] = '\0';
r_chip->name[sizeof(r_chip->name) - 1] = '\0';
r_chip->revision[sizeof(r_chip->revision) - 1] = '\0';
count += scnprintf(buf + count, PAGE_SIZE - count,
"Chip vendor: %s\n", r_chip->vendor);
count += scnprintf(buf + count, PAGE_SIZE - count,
"Chip name: %s\n", r_chip->name);
count += scnprintf(buf + count, PAGE_SIZE - count,
"Chip revision: %s\n", r_chip->revision);
count += sysfs_emit_at(buf, count, "Chip vendor: %s\n", r_chip->vendor);
count += sysfs_emit_at(buf, count, "Chip name: %s\n", r_chip->name);
count += sysfs_emit_at(buf, count, "Chip revision: %s\n", r_chip->revision);
}

/* Get board version */
msg->command = EC_CMD_GET_BOARD_VERSION + ec->cmd_offset;
msg->insize = sizeof(*r_board);
ret = cros_ec_cmd_xfer_status(ec->ec_dev, msg);
if (ret < 0) {
count += scnprintf(buf + count, PAGE_SIZE - count,
count += sysfs_emit_at(buf, count,
"Board version: XFER / EC ERROR %d / %d\n",
ret, msg->result);
} else {
r_board = (struct ec_response_board_version *)msg->data;

count += scnprintf(buf + count, PAGE_SIZE - count,
count += sysfs_emit_at(buf, count,
"Board version: %d\n",
r_board->board_version);
}
Expand Down

0 comments on commit b251c0e

Please sign in to comment.