From: Peter Colberg <peter.colberg@intel.com>
To: Wu Hao <hao.wu@intel.com>, Tom Rix <trix@redhat.com>,
Moritz Fischer <mdf@kernel.org>, Xu Yilun <yilun.xu@intel.com>,
linux-fpga@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
tianfei.zhang@intel.com, russell.h.weight@intel.com,
matthew.gerlach@linux.intel.com, marpagan@redhat.com,
lgoncalv@redhat.com, Peter Colberg <peter.colberg@intel.com>
Subject: [PATCH 1/2] fpga: dfl: use sysfs_emit() to format sysfs values
Date: Tue, 4 Jul 2023 22:54:50 -0400 [thread overview]
Message-ID: <a80ad13ad82ff294e706bb87e5b62793c5d195f5.1687301688.git.peter.colberg@intel.com> (raw)
In-Reply-To: <cover.1687301688.git.peter.colberg@intel.com>
Use sysfs_emit() to format sysfs values, which wraps vscnprintf() for a
PAGE_SIZE buffer. Remove explicit casts in favour of using the printk()
format specifier corresponding to the type of the formatted value.
These changes are cosmetic only; no functional changes.
Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Peter Colberg <peter.colberg@intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
drivers/fpga/dfl-afu-error.c | 7 +++----
drivers/fpga/dfl-afu-main.c | 17 ++++++++---------
drivers/fpga/dfl-fme-error.c | 19 ++++++++-----------
drivers/fpga/dfl-fme-main.c | 26 ++++++++++----------------
drivers/fpga/dfl-fme-perf.c | 16 +++++++---------
drivers/fpga/dfl.c | 4 ++--
drivers/fpga/fpga-bridge.c | 2 +-
drivers/fpga/fpga-mgr.c | 4 ++--
drivers/fpga/fpga-region.c | 5 ++---
9 files changed, 43 insertions(+), 57 deletions(-)
diff --git a/drivers/fpga/dfl-afu-error.c b/drivers/fpga/dfl-afu-error.c
index ab7be6217368..6d113d606560 100644
--- a/drivers/fpga/dfl-afu-error.c
+++ b/drivers/fpga/dfl-afu-error.c
@@ -125,7 +125,7 @@ static ssize_t errors_show(struct device *dev, struct device_attribute *attr,
error = readq(base + PORT_ERROR);
mutex_unlock(&pdata->lock);
- return sprintf(buf, "0x%llx\n", (unsigned long long)error);
+ return sysfs_emit(buf, "0x%llx\n", error);
}
static ssize_t errors_store(struct device *dev, struct device_attribute *attr,
@@ -156,7 +156,7 @@ static ssize_t first_error_show(struct device *dev,
error = readq(base + PORT_FIRST_ERROR);
mutex_unlock(&pdata->lock);
- return sprintf(buf, "0x%llx\n", (unsigned long long)error);
+ return sysfs_emit(buf, "0x%llx\n", error);
}
static DEVICE_ATTR_RO(first_error);
@@ -175,8 +175,7 @@ static ssize_t first_malformed_req_show(struct device *dev,
req1 = readq(base + PORT_MALFORMED_REQ1);
mutex_unlock(&pdata->lock);
- return sprintf(buf, "0x%016llx%016llx\n",
- (unsigned long long)req1, (unsigned long long)req0);
+ return sysfs_emit(buf, "0x%016llx%016llx\n", req1, req0);
}
static DEVICE_ATTR_RO(first_malformed_req);
diff --git a/drivers/fpga/dfl-afu-main.c b/drivers/fpga/dfl-afu-main.c
index 7f621e96d3b8..51fdbe8a2f26 100644
--- a/drivers/fpga/dfl-afu-main.c
+++ b/drivers/fpga/dfl-afu-main.c
@@ -155,7 +155,7 @@ id_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int id = port_get_id(to_platform_device(dev));
- return scnprintf(buf, PAGE_SIZE, "%d\n", id);
+ return sysfs_emit(buf, "%d\n", id);
}
static DEVICE_ATTR_RO(id);
@@ -172,7 +172,7 @@ ltr_show(struct device *dev, struct device_attribute *attr, char *buf)
v = readq(base + PORT_HDR_CTRL);
mutex_unlock(&pdata->lock);
- return sprintf(buf, "%x\n", (u8)FIELD_GET(PORT_CTRL_LATENCY, v));
+ return sysfs_emit(buf, "%llx\n", FIELD_GET(PORT_CTRL_LATENCY, v));
}
static ssize_t
@@ -213,7 +213,7 @@ ap1_event_show(struct device *dev, struct device_attribute *attr, char *buf)
v = readq(base + PORT_HDR_STS);
mutex_unlock(&pdata->lock);
- return sprintf(buf, "%x\n", (u8)FIELD_GET(PORT_STS_AP1_EVT, v));
+ return sysfs_emit(buf, "%llx\n", FIELD_GET(PORT_STS_AP1_EVT, v));
}
static ssize_t
@@ -251,7 +251,7 @@ ap2_event_show(struct device *dev, struct device_attribute *attr,
v = readq(base + PORT_HDR_STS);
mutex_unlock(&pdata->lock);
- return sprintf(buf, "%x\n", (u8)FIELD_GET(PORT_STS_AP2_EVT, v));
+ return sysfs_emit(buf, "%llx\n", FIELD_GET(PORT_STS_AP2_EVT, v));
}
static ssize_t
@@ -288,7 +288,7 @@ power_state_show(struct device *dev, struct device_attribute *attr, char *buf)
v = readq(base + PORT_HDR_STS);
mutex_unlock(&pdata->lock);
- return sprintf(buf, "0x%x\n", (u8)FIELD_GET(PORT_STS_PWR_STATE, v));
+ return sysfs_emit(buf, "0x%llx\n", FIELD_GET(PORT_STS_PWR_STATE, v));
}
static DEVICE_ATTR_RO(power_state);
@@ -348,7 +348,7 @@ userclk_freqsts_show(struct device *dev, struct device_attribute *attr,
userclk_freqsts = readq(base + PORT_HDR_USRCLK_STS0);
mutex_unlock(&pdata->lock);
- return sprintf(buf, "0x%llx\n", (unsigned long long)userclk_freqsts);
+ return sysfs_emit(buf, "0x%llx\n", userclk_freqsts);
}
static DEVICE_ATTR_RO(userclk_freqsts);
@@ -366,8 +366,7 @@ userclk_freqcntrsts_show(struct device *dev, struct device_attribute *attr,
userclk_freqcntrsts = readq(base + PORT_HDR_USRCLK_STS1);
mutex_unlock(&pdata->lock);
- return sprintf(buf, "0x%llx\n",
- (unsigned long long)userclk_freqcntrsts);
+ return sysfs_emit(buf, "0x%llx\n", userclk_freqcntrsts);
}
static DEVICE_ATTR_RO(userclk_freqcntrsts);
@@ -472,7 +471,7 @@ afu_id_show(struct device *dev, struct device_attribute *attr, char *buf)
guidh = readq(base + GUID_H);
mutex_unlock(&pdata->lock);
- return scnprintf(buf, PAGE_SIZE, "%016llx%016llx\n", guidh, guidl);
+ return sysfs_emit(buf, "%016llx%016llx\n", guidh, guidl);
}
static DEVICE_ATTR_RO(afu_id);
diff --git a/drivers/fpga/dfl-fme-error.c b/drivers/fpga/dfl-fme-error.c
index 51c2892ec06d..a570f294ad82 100644
--- a/drivers/fpga/dfl-fme-error.c
+++ b/drivers/fpga/dfl-fme-error.c
@@ -52,7 +52,7 @@ static ssize_t pcie0_errors_show(struct device *dev,
value = readq(base + PCIE0_ERROR);
mutex_unlock(&pdata->lock);
- return sprintf(buf, "0x%llx\n", (unsigned long long)value);
+ return sysfs_emit(buf, "0x%llx\n", value);
}
static ssize_t pcie0_errors_store(struct device *dev,
@@ -97,7 +97,7 @@ static ssize_t pcie1_errors_show(struct device *dev,
value = readq(base + PCIE1_ERROR);
mutex_unlock(&pdata->lock);
- return sprintf(buf, "0x%llx\n", (unsigned long long)value);
+ return sysfs_emit(buf, "0x%llx\n", value);
}
static ssize_t pcie1_errors_store(struct device *dev,
@@ -136,8 +136,7 @@ static ssize_t nonfatal_errors_show(struct device *dev,
base = dfl_get_feature_ioaddr_by_id(dev, FME_FEATURE_ID_GLOBAL_ERR);
- return sprintf(buf, "0x%llx\n",
- (unsigned long long)readq(base + RAS_NONFAT_ERROR));
+ return sysfs_emit(buf, "0x%llx\n", readq(base + RAS_NONFAT_ERROR));
}
static DEVICE_ATTR_RO(nonfatal_errors);
@@ -148,8 +147,7 @@ static ssize_t catfatal_errors_show(struct device *dev,
base = dfl_get_feature_ioaddr_by_id(dev, FME_FEATURE_ID_GLOBAL_ERR);
- return sprintf(buf, "0x%llx\n",
- (unsigned long long)readq(base + RAS_CATFAT_ERROR));
+ return sysfs_emit(buf, "0x%llx\n", readq(base + RAS_CATFAT_ERROR));
}
static DEVICE_ATTR_RO(catfatal_errors);
@@ -166,8 +164,7 @@ static ssize_t inject_errors_show(struct device *dev,
v = readq(base + RAS_ERROR_INJECT);
mutex_unlock(&pdata->lock);
- return sprintf(buf, "0x%llx\n",
- (unsigned long long)FIELD_GET(INJECT_ERROR_MASK, v));
+ return sysfs_emit(buf, "0x%llx\n", FIELD_GET(INJECT_ERROR_MASK, v));
}
static ssize_t inject_errors_store(struct device *dev,
@@ -211,7 +208,7 @@ static ssize_t fme_errors_show(struct device *dev,
value = readq(base + FME_ERROR);
mutex_unlock(&pdata->lock);
- return sprintf(buf, "0x%llx\n", (unsigned long long)value);
+ return sysfs_emit(buf, "0x%llx\n", value);
}
static ssize_t fme_errors_store(struct device *dev,
@@ -258,7 +255,7 @@ static ssize_t first_error_show(struct device *dev,
value = readq(base + FME_FIRST_ERROR);
mutex_unlock(&pdata->lock);
- return sprintf(buf, "0x%llx\n", (unsigned long long)value);
+ return sysfs_emit(buf, "0x%llx\n", value);
}
static DEVICE_ATTR_RO(first_error);
@@ -275,7 +272,7 @@ static ssize_t next_error_show(struct device *dev,
value = readq(base + FME_NEXT_ERROR);
mutex_unlock(&pdata->lock);
- return sprintf(buf, "0x%llx\n", (unsigned long long)value);
+ return sysfs_emit(buf, "0x%llx\n", value);
}
static DEVICE_ATTR_RO(next_error);
diff --git a/drivers/fpga/dfl-fme-main.c b/drivers/fpga/dfl-fme-main.c
index bcb5d34b3b82..3b2ad31edf87 100644
--- a/drivers/fpga/dfl-fme-main.c
+++ b/drivers/fpga/dfl-fme-main.c
@@ -34,8 +34,7 @@ static ssize_t ports_num_show(struct device *dev,
v = readq(base + FME_HDR_CAP);
- return scnprintf(buf, PAGE_SIZE, "%u\n",
- (unsigned int)FIELD_GET(FME_CAP_NUM_PORTS, v));
+ return sysfs_emit(buf, "%llu\n", FIELD_GET(FME_CAP_NUM_PORTS, v));
}
static DEVICE_ATTR_RO(ports_num);
@@ -53,7 +52,7 @@ static ssize_t bitstream_id_show(struct device *dev,
v = readq(base + FME_HDR_BITSTREAM_ID);
- return scnprintf(buf, PAGE_SIZE, "0x%llx\n", (unsigned long long)v);
+ return sysfs_emit(buf, "0x%llx\n", v);
}
static DEVICE_ATTR_RO(bitstream_id);
@@ -71,7 +70,7 @@ static ssize_t bitstream_metadata_show(struct device *dev,
v = readq(base + FME_HDR_BITSTREAM_MD);
- return scnprintf(buf, PAGE_SIZE, "0x%llx\n", (unsigned long long)v);
+ return sysfs_emit(buf, "0x%llx\n", v);
}
static DEVICE_ATTR_RO(bitstream_metadata);
@@ -85,8 +84,7 @@ static ssize_t cache_size_show(struct device *dev,
v = readq(base + FME_HDR_CAP);
- return sprintf(buf, "%u\n",
- (unsigned int)FIELD_GET(FME_CAP_CACHE_SIZE, v));
+ return sysfs_emit(buf, "%llu\n", FIELD_GET(FME_CAP_CACHE_SIZE, v));
}
static DEVICE_ATTR_RO(cache_size);
@@ -100,8 +98,7 @@ static ssize_t fabric_version_show(struct device *dev,
v = readq(base + FME_HDR_CAP);
- return sprintf(buf, "%u\n",
- (unsigned int)FIELD_GET(FME_CAP_FABRIC_VERID, v));
+ return sysfs_emit(buf, "%llu\n", FIELD_GET(FME_CAP_FABRIC_VERID, v));
}
static DEVICE_ATTR_RO(fabric_version);
@@ -115,8 +112,7 @@ static ssize_t socket_id_show(struct device *dev,
v = readq(base + FME_HDR_CAP);
- return sprintf(buf, "%u\n",
- (unsigned int)FIELD_GET(FME_CAP_SOCKET_ID, v));
+ return sysfs_emit(buf, "%llu\n", FIELD_GET(FME_CAP_SOCKET_ID, v));
}
static DEVICE_ATTR_RO(socket_id);
@@ -285,8 +281,7 @@ static ssize_t temp1_max_policy_show(struct device *dev,
v = readq(feature->ioaddr + FME_THERM_THRESHOLD);
- return sprintf(buf, "%u\n",
- (unsigned int)FIELD_GET(TEMP_THRESHOLD1_POLICY, v));
+ return sysfs_emit(buf, "%llu\n", FIELD_GET(TEMP_THRESHOLD1_POLICY, v));
}
static DEVICE_ATTR_RO(temp1_max_policy);
@@ -489,7 +484,7 @@ static ssize_t power1_xeon_limit_show(struct device *dev,
if (FIELD_GET(XEON_PWR_EN, v))
xeon_limit = FIELD_GET(XEON_PWR_LIMIT, v);
- return sprintf(buf, "%u\n", xeon_limit * 100000);
+ return sysfs_emit(buf, "%u\n", xeon_limit * 100000);
}
static ssize_t power1_fpga_limit_show(struct device *dev,
@@ -504,7 +499,7 @@ static ssize_t power1_fpga_limit_show(struct device *dev,
if (FIELD_GET(FPGA_PWR_EN, v))
fpga_limit = FIELD_GET(FPGA_PWR_LIMIT, v);
- return sprintf(buf, "%u\n", fpga_limit * 100000);
+ return sysfs_emit(buf, "%u\n", fpga_limit * 100000);
}
static ssize_t power1_ltr_show(struct device *dev,
@@ -515,8 +510,7 @@ static ssize_t power1_ltr_show(struct device *dev,
v = readq(feature->ioaddr + FME_PWR_STATUS);
- return sprintf(buf, "%u\n",
- (unsigned int)FIELD_GET(FME_LATENCY_TOLERANCE, v));
+ return sysfs_emit(buf, "%llu\n", FIELD_GET(FME_LATENCY_TOLERANCE, v));
}
static DEVICE_ATTR_RO(power1_xeon_limit);
diff --git a/drivers/fpga/dfl-fme-perf.c b/drivers/fpga/dfl-fme-perf.c
index 7422d2bc6f37..1b072416069b 100644
--- a/drivers/fpga/dfl-fme-perf.c
+++ b/drivers/fpga/dfl-fme-perf.c
@@ -524,20 +524,18 @@ static ssize_t fme_perf_event_show(struct device *dev,
{
struct dev_ext_attribute *eattr;
unsigned long config;
- char *ptr = buf;
eattr = container_of(attr, struct dev_ext_attribute, attr);
config = (unsigned long)eattr->var;
- ptr += sprintf(ptr, "event=0x%02x", (unsigned int)get_event(config));
- ptr += sprintf(ptr, ",evtype=0x%02x", (unsigned int)get_evtype(config));
+ if (!is_portid_root(get_portid(config)))
+ return sysfs_emit(buf,
+ "event=0x%02llx,evtype=0x%02llx,portid=?\n",
+ get_event(config), get_evtype(config));
- if (is_portid_root(get_portid(config)))
- ptr += sprintf(ptr, ",portid=0x%02x\n", FME_PORTID_ROOT);
- else
- ptr += sprintf(ptr, ",portid=?\n");
-
- return (ssize_t)(ptr - buf);
+ return sysfs_emit(buf, "event=0x%02llx,evtype=0x%02llx,portid=0x%02x\n",
+ get_event(config), get_evtype(config),
+ FME_PORTID_ROOT);
}
#define FME_EVENT_ATTR(_name) \
diff --git a/drivers/fpga/dfl.c b/drivers/fpga/dfl.c
index dd7a783d53b5..db8141b68f79 100644
--- a/drivers/fpga/dfl.c
+++ b/drivers/fpga/dfl.c
@@ -307,7 +307,7 @@ type_show(struct device *dev, struct device_attribute *attr, char *buf)
{
struct dfl_device *ddev = to_dfl_dev(dev);
- return sprintf(buf, "0x%x\n", ddev->type);
+ return sysfs_emit(buf, "0x%x\n", ddev->type);
}
static DEVICE_ATTR_RO(type);
@@ -316,7 +316,7 @@ feature_id_show(struct device *dev, struct device_attribute *attr, char *buf)
{
struct dfl_device *ddev = to_dfl_dev(dev);
- return sprintf(buf, "0x%x\n", ddev->feature_id);
+ return sysfs_emit(buf, "0x%x\n", ddev->feature_id);
}
static DEVICE_ATTR_RO(feature_id);
diff --git a/drivers/fpga/fpga-bridge.c b/drivers/fpga/fpga-bridge.c
index a6c25dee9cc1..9b88c18cc126 100644
--- a/drivers/fpga/fpga-bridge.c
+++ b/drivers/fpga/fpga-bridge.c
@@ -286,7 +286,7 @@ static ssize_t name_show(struct device *dev,
{
struct fpga_bridge *bridge = to_fpga_bridge(dev);
- return sprintf(buf, "%s\n", bridge->name);
+ return sysfs_emit(buf, "%s\n", bridge->name);
}
static ssize_t state_show(struct device *dev,
diff --git a/drivers/fpga/fpga-mgr.c b/drivers/fpga/fpga-mgr.c
index eb583f86a0b9..b3991f921312 100644
--- a/drivers/fpga/fpga-mgr.c
+++ b/drivers/fpga/fpga-mgr.c
@@ -618,7 +618,7 @@ static ssize_t name_show(struct device *dev,
{
struct fpga_manager *mgr = to_fpga_manager(dev);
- return sprintf(buf, "%s\n", mgr->name);
+ return sysfs_emit(buf, "%s\n", mgr->name);
}
static ssize_t state_show(struct device *dev,
@@ -626,7 +626,7 @@ static ssize_t state_show(struct device *dev,
{
struct fpga_manager *mgr = to_fpga_manager(dev);
- return sprintf(buf, "%s\n", state_str[mgr->state]);
+ return sysfs_emit(buf, "%s\n", state_str[mgr->state]);
}
static ssize_t status_show(struct device *dev,
diff --git a/drivers/fpga/fpga-region.c b/drivers/fpga/fpga-region.c
index ccf6fdab1360..7a3572b78f50 100644
--- a/drivers/fpga/fpga-region.c
+++ b/drivers/fpga/fpga-region.c
@@ -166,9 +166,8 @@ static ssize_t compat_id_show(struct device *dev,
if (!region->compat_id)
return -ENOENT;
- return sprintf(buf, "%016llx%016llx\n",
- (unsigned long long)region->compat_id->id_h,
- (unsigned long long)region->compat_id->id_l);
+ return sysfs_emit(buf, "%016llx%016llx\n", region->compat_id->id_h,
+ region->compat_id->id_l);
}
static DEVICE_ATTR_RO(compat_id);
--
2.28.0
next prev parent reply other threads:[~2023-07-05 2:55 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-05 2:54 [PATCH 0/2] fpga: dfl: clean up string formatting for sysfs_emit() and dev_dbg() Peter Colberg
2023-07-05 2:54 ` Peter Colberg [this message]
2023-07-10 7:45 ` [PATCH 1/2] fpga: dfl: use sysfs_emit() to format sysfs values Xu Yilun
2023-07-05 2:54 ` [PATCH 2/2] fpga: dfl: omit unneeded casts of u64 values for dev_dbg() Peter Colberg
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=a80ad13ad82ff294e706bb87e5b62793c5d195f5.1687301688.git.peter.colberg@intel.com \
--to=peter.colberg@intel.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=hao.wu@intel.com \
--cc=lgoncalv@redhat.com \
--cc=linux-fpga@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marpagan@redhat.com \
--cc=matthew.gerlach@linux.intel.com \
--cc=mdf@kernel.org \
--cc=russell.h.weight@intel.com \
--cc=tianfei.zhang@intel.com \
--cc=trix@redhat.com \
--cc=yilun.xu@intel.com \
/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
all inboxes | Powered by JetHome®