2022-12-02 09:24:42

by ye.xingchen

[permalink] [raw]
Subject: [PATCH] platform/x86: use sysfs_emit() to instead of scnprintf()

From: ye xingchen <[email protected]>

Follow the advice of the Documentation/filesystems/sysfs.rst and show()
should only use sysfs_emit() or sysfs_emit_at() when formatting the
value to be returned to user space.

Signed-off-by: ye xingchen <[email protected]>
---
drivers/platform/x86/uv_sysfs.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/platform/x86/uv_sysfs.c b/drivers/platform/x86/uv_sysfs.c
index 625b0b79d185..73fc38ee7430 100644
--- a/drivers/platform/x86/uv_sysfs.c
+++ b/drivers/platform/x86/uv_sysfs.c
@@ -119,12 +119,12 @@ struct uv_hub {

static ssize_t hub_name_show(struct uv_bios_hub_info *hub_info, char *buf)
{
- return scnprintf(buf, PAGE_SIZE, "%s\n", hub_info->name);
+ return sysfs_emit(buf, "%s\n", hub_info->name);
}

static ssize_t hub_location_show(struct uv_bios_hub_info *hub_info, char *buf)
{
- return scnprintf(buf, PAGE_SIZE, "%s\n", hub_info->location);
+ return sysfs_emit(buf, "%s\n", hub_info->location);
}

static ssize_t hub_partition_show(struct uv_bios_hub_info *hub_info, char *buf)
@@ -460,12 +460,12 @@ struct uv_pci_top_obj {

static ssize_t uv_pci_type_show(struct uv_pci_top_obj *top_obj, char *buf)
{
- return scnprintf(buf, PAGE_SIZE, "%s\n", top_obj->type);
+ return sysfs_emit(buf, "%s\n", top_obj->type);
}

static ssize_t uv_pci_location_show(struct uv_pci_top_obj *top_obj, char *buf)
{
- return scnprintf(buf, PAGE_SIZE, "%s\n", top_obj->location);
+ return sysfs_emit(buf, "%s\n", top_obj->location);
}

static ssize_t uv_pci_iio_stack_show(struct uv_pci_top_obj *top_obj, char *buf)
@@ -475,7 +475,7 @@ static ssize_t uv_pci_iio_stack_show(struct uv_pci_top_obj *top_obj, char *buf)

static ssize_t uv_pci_ppb_addr_show(struct uv_pci_top_obj *top_obj, char *buf)
{
- return scnprintf(buf, PAGE_SIZE, "%s\n", top_obj->ppb_addr);
+ return sysfs_emit(buf, "%s\n", top_obj->ppb_addr);
}

static ssize_t uv_pci_slot_show(struct uv_pci_top_obj *top_obj, char *buf)
@@ -737,7 +737,7 @@ static ssize_t coherence_id_show(struct kobject *kobj,
static ssize_t uv_type_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buf)
{
- return scnprintf(buf, PAGE_SIZE, "%s\n", uv_type_string());
+ return sysfs_emit(buf, "%s\n", uv_type_string());
}

static ssize_t uv_archtype_show(struct kobject *kobj,
@@ -749,13 +749,13 @@ static ssize_t uv_archtype_show(struct kobject *kobj,
static ssize_t uv_hub_type_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buf)
{
- return scnprintf(buf, PAGE_SIZE, "0x%x\n", uv_hub_type());
+ return sysfs_emit(buf, "0x%x\n", uv_hub_type());
}

static ssize_t uv_hubless_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buf)
{
- return scnprintf(buf, PAGE_SIZE, "0x%x\n", uv_get_hubless_system());
+ return sysfs_emit(buf, "0x%x\n", uv_get_hubless_system());
}

static struct kobj_attribute partition_id_attr =
--
2.25.1


2022-12-02 18:20:08

by Ernst, Justin

[permalink] [raw]
Subject: RE: [PATCH] platform/x86: use sysfs_emit() to instead of scnprintf()

> Follow the advice of the Documentation/filesystems/sysfs.rst and show()
> should only use sysfs_emit() or sysfs_emit_at() when formatting the
> value to be returned to user space.
>
> Signed-off-by: ye xingchen <[email protected]>

Thank you for the patch and for keeping me informed.

Reviewed-by: Justin Ernst <[email protected]>

> ---
> drivers/platform/x86/uv_sysfs.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/platform/x86/uv_sysfs.c b/drivers/platform/x86/uv_sysfs.c
> index 625b0b79d185..73fc38ee7430 100644
> --- a/drivers/platform/x86/uv_sysfs.c
> +++ b/drivers/platform/x86/uv_sysfs.c
> @@ -119,12 +119,12 @@ struct uv_hub {
>
> static ssize_t hub_name_show(struct uv_bios_hub_info *hub_info, char *buf)
> {
> - return scnprintf(buf, PAGE_SIZE, "%s\n", hub_info->name);
> + return sysfs_emit(buf, "%s\n", hub_info->name);
> }
>
> static ssize_t hub_location_show(struct uv_bios_hub_info *hub_info, char *buf)
> {
> - return scnprintf(buf, PAGE_SIZE, "%s\n", hub_info->location);
> + return sysfs_emit(buf, "%s\n", hub_info->location);
> }
>
> static ssize_t hub_partition_show(struct uv_bios_hub_info *hub_info, char *buf)
> @@ -460,12 +460,12 @@ struct uv_pci_top_obj {
>
> static ssize_t uv_pci_type_show(struct uv_pci_top_obj *top_obj, char *buf)
> {
> - return scnprintf(buf, PAGE_SIZE, "%s\n", top_obj->type);
> + return sysfs_emit(buf, "%s\n", top_obj->type);
> }
>
> static ssize_t uv_pci_location_show(struct uv_pci_top_obj *top_obj, char *buf)
> {
> - return scnprintf(buf, PAGE_SIZE, "%s\n", top_obj->location);
> + return sysfs_emit(buf, "%s\n", top_obj->location);
> }
>
> static ssize_t uv_pci_iio_stack_show(struct uv_pci_top_obj *top_obj, char *buf)
> @@ -475,7 +475,7 @@ static ssize_t uv_pci_iio_stack_show(struct uv_pci_top_obj *top_obj, char *buf)
>
> static ssize_t uv_pci_ppb_addr_show(struct uv_pci_top_obj *top_obj, char *buf)
> {
> - return scnprintf(buf, PAGE_SIZE, "%s\n", top_obj->ppb_addr);
> + return sysfs_emit(buf, "%s\n", top_obj->ppb_addr);
> }
>
> static ssize_t uv_pci_slot_show(struct uv_pci_top_obj *top_obj, char *buf)
> @@ -737,7 +737,7 @@ static ssize_t coherence_id_show(struct kobject *kobj,
> static ssize_t uv_type_show(struct kobject *kobj,
> struct kobj_attribute *attr, char *buf)
> {
> - return scnprintf(buf, PAGE_SIZE, "%s\n", uv_type_string());
> + return sysfs_emit(buf, "%s\n", uv_type_string());
> }
>
> static ssize_t uv_archtype_show(struct kobject *kobj,
> @@ -749,13 +749,13 @@ static ssize_t uv_archtype_show(struct kobject *kobj,
> static ssize_t uv_hub_type_show(struct kobject *kobj,
> struct kobj_attribute *attr, char *buf)
> {
> - return scnprintf(buf, PAGE_SIZE, "0x%x\n", uv_hub_type());
> + return sysfs_emit(buf, "0x%x\n", uv_hub_type());
> }
>
> static ssize_t uv_hubless_show(struct kobject *kobj,
> struct kobj_attribute *attr, char *buf)
> {
> - return scnprintf(buf, PAGE_SIZE, "0x%x\n", uv_get_hubless_system());
> + return sysfs_emit(buf, "0x%x\n", uv_get_hubless_system());
> }
>
> static struct kobj_attribute partition_id_attr =
> --
> 2.25.1

2022-12-08 16:21:45

by Hans de Goede

[permalink] [raw]
Subject: Re: [PATCH] platform/x86: use sysfs_emit() to instead of scnprintf()

Hi,

On 12/2/22 10:05, [email protected] wrote:
> From: ye xingchen <[email protected]>
>
> Follow the advice of the Documentation/filesystems/sysfs.rst and show()
> should only use sysfs_emit() or sysfs_emit_at() when formatting the
> value to be returned to user space.
>
> Signed-off-by: ye xingchen <[email protected]>

Thank you for your patch, I've applied this patch to my review-hans
branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans

Note it will show up in my review-hans branch once I've pushed my
local branch there, which might take a while.

Once I've run some tests on this branch the patches there will be
added to the platform-drivers-x86/for-next branch and eventually
will be included in the pdx86 pull-request to Linus for the next
merge-window.

Regards,

Hans


> ---
> drivers/platform/x86/uv_sysfs.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/platform/x86/uv_sysfs.c b/drivers/platform/x86/uv_sysfs.c
> index 625b0b79d185..73fc38ee7430 100644
> --- a/drivers/platform/x86/uv_sysfs.c
> +++ b/drivers/platform/x86/uv_sysfs.c
> @@ -119,12 +119,12 @@ struct uv_hub {
>
> static ssize_t hub_name_show(struct uv_bios_hub_info *hub_info, char *buf)
> {
> - return scnprintf(buf, PAGE_SIZE, "%s\n", hub_info->name);
> + return sysfs_emit(buf, "%s\n", hub_info->name);
> }
>
> static ssize_t hub_location_show(struct uv_bios_hub_info *hub_info, char *buf)
> {
> - return scnprintf(buf, PAGE_SIZE, "%s\n", hub_info->location);
> + return sysfs_emit(buf, "%s\n", hub_info->location);
> }
>
> static ssize_t hub_partition_show(struct uv_bios_hub_info *hub_info, char *buf)
> @@ -460,12 +460,12 @@ struct uv_pci_top_obj {
>
> static ssize_t uv_pci_type_show(struct uv_pci_top_obj *top_obj, char *buf)
> {
> - return scnprintf(buf, PAGE_SIZE, "%s\n", top_obj->type);
> + return sysfs_emit(buf, "%s\n", top_obj->type);
> }
>
> static ssize_t uv_pci_location_show(struct uv_pci_top_obj *top_obj, char *buf)
> {
> - return scnprintf(buf, PAGE_SIZE, "%s\n", top_obj->location);
> + return sysfs_emit(buf, "%s\n", top_obj->location);
> }
>
> static ssize_t uv_pci_iio_stack_show(struct uv_pci_top_obj *top_obj, char *buf)
> @@ -475,7 +475,7 @@ static ssize_t uv_pci_iio_stack_show(struct uv_pci_top_obj *top_obj, char *buf)
>
> static ssize_t uv_pci_ppb_addr_show(struct uv_pci_top_obj *top_obj, char *buf)
> {
> - return scnprintf(buf, PAGE_SIZE, "%s\n", top_obj->ppb_addr);
> + return sysfs_emit(buf, "%s\n", top_obj->ppb_addr);
> }
>
> static ssize_t uv_pci_slot_show(struct uv_pci_top_obj *top_obj, char *buf)
> @@ -737,7 +737,7 @@ static ssize_t coherence_id_show(struct kobject *kobj,
> static ssize_t uv_type_show(struct kobject *kobj,
> struct kobj_attribute *attr, char *buf)
> {
> - return scnprintf(buf, PAGE_SIZE, "%s\n", uv_type_string());
> + return sysfs_emit(buf, "%s\n", uv_type_string());
> }
>
> static ssize_t uv_archtype_show(struct kobject *kobj,
> @@ -749,13 +749,13 @@ static ssize_t uv_archtype_show(struct kobject *kobj,
> static ssize_t uv_hub_type_show(struct kobject *kobj,
> struct kobj_attribute *attr, char *buf)
> {
> - return scnprintf(buf, PAGE_SIZE, "0x%x\n", uv_hub_type());
> + return sysfs_emit(buf, "0x%x\n", uv_hub_type());
> }
>
> static ssize_t uv_hubless_show(struct kobject *kobj,
> struct kobj_attribute *attr, char *buf)
> {
> - return scnprintf(buf, PAGE_SIZE, "0x%x\n", uv_get_hubless_system());
> + return sysfs_emit(buf, "0x%x\n", uv_get_hubless_system());
> }
>
> static struct kobj_attribute partition_id_attr =