[PATCH linux-next v3] fbdev: use sysfs_emit() to instead of scnprintf()

ye.xingchen@zte.com.cn posted 1 patch 1 year, 3 months ago
drivers/video/fbdev/sh_mobile_lcdcfb.c |  8 ++++----
drivers/video/fbdev/uvesafb.c          | 10 +++++-----
2 files changed, 9 insertions(+), 9 deletions(-)
[PATCH linux-next v3] fbdev: use sysfs_emit() to instead of scnprintf()
Posted by ye.xingchen@zte.com.cn 1 year, 3 months ago
From: ye xingchen <ye.xingchen@zte.com.cn>

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 <ye.xingchen@zte.com.cn>
---
v2 -> v3
Fix the mistakes in v2.
 drivers/video/fbdev/sh_mobile_lcdcfb.c |  8 ++++----
 drivers/video/fbdev/uvesafb.c          | 10 +++++-----
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/video/fbdev/sh_mobile_lcdcfb.c b/drivers/video/fbdev/sh_mobile_lcdcfb.c
index 6d00893d41f4..ad9323ed8e2e 100644
--- a/drivers/video/fbdev/sh_mobile_lcdcfb.c
+++ b/drivers/video/fbdev/sh_mobile_lcdcfb.c
@@ -1188,7 +1188,7 @@ overlay_alpha_show(struct device *dev, struct device_attribute *attr, char *buf)
 	struct fb_info *info = dev_get_drvdata(dev);
 	struct sh_mobile_lcdc_overlay *ovl = info->par;

-	return scnprintf(buf, PAGE_SIZE, "%u\n", ovl->alpha);
+	return sysfs_emit(buf, "%u\n", ovl->alpha);
 }

 static ssize_t
@@ -1226,7 +1226,7 @@ overlay_mode_show(struct device *dev, struct device_attribute *attr, char *buf)
 	struct fb_info *info = dev_get_drvdata(dev);
 	struct sh_mobile_lcdc_overlay *ovl = info->par;

-	return scnprintf(buf, PAGE_SIZE, "%u\n", ovl->mode);
+	return sysfs_emit(buf, "%u\n", ovl->mode);
 }

 static ssize_t
@@ -1265,7 +1265,7 @@ overlay_position_show(struct device *dev, struct device_attribute *attr,
 	struct fb_info *info = dev_get_drvdata(dev);
 	struct sh_mobile_lcdc_overlay *ovl = info->par;

-	return scnprintf(buf, PAGE_SIZE, "%d,%d\n", ovl->pos_x, ovl->pos_y);
+	return sysfs_emit(buf, "%d,%d\n", ovl->pos_x, ovl->pos_y);
 }

 static ssize_t
@@ -1306,7 +1306,7 @@ overlay_rop3_show(struct device *dev, struct device_attribute *attr, char *buf)
 	struct fb_info *info = dev_get_drvdata(dev);
 	struct sh_mobile_lcdc_overlay *ovl = info->par;

-	return scnprintf(buf, PAGE_SIZE, "%u\n", ovl->rop3);
+	return sysfs_emit(buf, "%u\n", ovl->rop3);
 }

 static ssize_t
diff --git a/drivers/video/fbdev/uvesafb.c b/drivers/video/fbdev/uvesafb.c
index 00d789b6c0fa..ba8028a0cc7a 100644
--- a/drivers/video/fbdev/uvesafb.c
+++ b/drivers/video/fbdev/uvesafb.c
@@ -1580,7 +1580,7 @@ static ssize_t uvesafb_show_vendor(struct device *dev,
 	struct uvesafb_par *par = info->par;

 	if (par->vbe_ib.oem_vendor_name_ptr)
-		return scnprintf(buf, PAGE_SIZE, "%s\n", (char *)
+		return sysfs_emit(buf, "%s\n", (char *)
 			(&par->vbe_ib) + par->vbe_ib.oem_vendor_name_ptr);
 	else
 		return 0;
@@ -1595,7 +1595,7 @@ static ssize_t uvesafb_show_product_name(struct device *dev,
 	struct uvesafb_par *par = info->par;

 	if (par->vbe_ib.oem_product_name_ptr)
-		return scnprintf(buf, PAGE_SIZE, "%s\n", (char *)
+		return sysfs_emit(buf, "%s\n", (char *)
 			(&par->vbe_ib) + par->vbe_ib.oem_product_name_ptr);
 	else
 		return 0;
@@ -1610,7 +1610,7 @@ static ssize_t uvesafb_show_product_rev(struct device *dev,
 	struct uvesafb_par *par = info->par;

 	if (par->vbe_ib.oem_product_rev_ptr)
-		return scnprintf(buf, PAGE_SIZE, "%s\n", (char *)
+		return sysfs_emit(buf, "%s\n", (char *)
 			(&par->vbe_ib) + par->vbe_ib.oem_product_rev_ptr);
 	else
 		return 0;
@@ -1625,7 +1625,7 @@ static ssize_t uvesafb_show_oem_string(struct device *dev,
 	struct uvesafb_par *par = info->par;

 	if (par->vbe_ib.oem_string_ptr)
-		return scnprintf(buf, PAGE_SIZE, "%s\n",
+		return sysfs_emit(buf, "%s\n",
 			(char *)(&par->vbe_ib) + par->vbe_ib.oem_string_ptr);
 	else
 		return 0;
@@ -1639,7 +1639,7 @@ static ssize_t uvesafb_show_nocrtc(struct device *dev,
 	struct fb_info *info = dev_get_drvdata(dev);
 	struct uvesafb_par *par = info->par;

-	return scnprintf(buf, PAGE_SIZE, "%d\n", par->nocrtc);
+	return sysfs_emit(buf, "%d\n", par->nocrtc);
 }

 static ssize_t uvesafb_store_nocrtc(struct device *dev,
-- 
2.25.1
Re: [PATCH linux-next v3] fbdev: use sysfs_emit() to instead of scnprintf()
Posted by Helge Deller 1 year, 3 months ago
On 12/5/22 09:31, ye.xingchen@zte.com.cn wrote:
> From: ye xingchen <ye.xingchen@zte.com.cn>
>
> 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 <ye.xingchen@zte.com.cn>

I've applied this patch, but split it up into two (one for each driver).
Please, send seperate patches per driver next time (and add proper changelog
if you do a v2/v3 version).

Thanks!
Helge


> ---
> v2 -> v3
> Fix the mistakes in v2.
>   drivers/video/fbdev/sh_mobile_lcdcfb.c |  8 ++++----
>   drivers/video/fbdev/uvesafb.c          | 10 +++++-----
>   2 files changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/video/fbdev/sh_mobile_lcdcfb.c b/drivers/video/fbdev/sh_mobile_lcdcfb.c
> index 6d00893d41f4..ad9323ed8e2e 100644
> --- a/drivers/video/fbdev/sh_mobile_lcdcfb.c
> +++ b/drivers/video/fbdev/sh_mobile_lcdcfb.c
> @@ -1188,7 +1188,7 @@ overlay_alpha_show(struct device *dev, struct device_attribute *attr, char *buf)
>   	struct fb_info *info = dev_get_drvdata(dev);
>   	struct sh_mobile_lcdc_overlay *ovl = info->par;
>
> -	return scnprintf(buf, PAGE_SIZE, "%u\n", ovl->alpha);
> +	return sysfs_emit(buf, "%u\n", ovl->alpha);
>   }
>
>   static ssize_t
> @@ -1226,7 +1226,7 @@ overlay_mode_show(struct device *dev, struct device_attribute *attr, char *buf)
>   	struct fb_info *info = dev_get_drvdata(dev);
>   	struct sh_mobile_lcdc_overlay *ovl = info->par;
>
> -	return scnprintf(buf, PAGE_SIZE, "%u\n", ovl->mode);
> +	return sysfs_emit(buf, "%u\n", ovl->mode);
>   }
>
>   static ssize_t
> @@ -1265,7 +1265,7 @@ overlay_position_show(struct device *dev, struct device_attribute *attr,
>   	struct fb_info *info = dev_get_drvdata(dev);
>   	struct sh_mobile_lcdc_overlay *ovl = info->par;
>
> -	return scnprintf(buf, PAGE_SIZE, "%d,%d\n", ovl->pos_x, ovl->pos_y);
> +	return sysfs_emit(buf, "%d,%d\n", ovl->pos_x, ovl->pos_y);
>   }
>
>   static ssize_t
> @@ -1306,7 +1306,7 @@ overlay_rop3_show(struct device *dev, struct device_attribute *attr, char *buf)
>   	struct fb_info *info = dev_get_drvdata(dev);
>   	struct sh_mobile_lcdc_overlay *ovl = info->par;
>
> -	return scnprintf(buf, PAGE_SIZE, "%u\n", ovl->rop3);
> +	return sysfs_emit(buf, "%u\n", ovl->rop3);
>   }
>
>   static ssize_t
> diff --git a/drivers/video/fbdev/uvesafb.c b/drivers/video/fbdev/uvesafb.c
> index 00d789b6c0fa..ba8028a0cc7a 100644
> --- a/drivers/video/fbdev/uvesafb.c
> +++ b/drivers/video/fbdev/uvesafb.c
> @@ -1580,7 +1580,7 @@ static ssize_t uvesafb_show_vendor(struct device *dev,
>   	struct uvesafb_par *par = info->par;
>
>   	if (par->vbe_ib.oem_vendor_name_ptr)
> -		return scnprintf(buf, PAGE_SIZE, "%s\n", (char *)
> +		return sysfs_emit(buf, "%s\n", (char *)
>   			(&par->vbe_ib) + par->vbe_ib.oem_vendor_name_ptr);
>   	else
>   		return 0;
> @@ -1595,7 +1595,7 @@ static ssize_t uvesafb_show_product_name(struct device *dev,
>   	struct uvesafb_par *par = info->par;
>
>   	if (par->vbe_ib.oem_product_name_ptr)
> -		return scnprintf(buf, PAGE_SIZE, "%s\n", (char *)
> +		return sysfs_emit(buf, "%s\n", (char *)
>   			(&par->vbe_ib) + par->vbe_ib.oem_product_name_ptr);
>   	else
>   		return 0;
> @@ -1610,7 +1610,7 @@ static ssize_t uvesafb_show_product_rev(struct device *dev,
>   	struct uvesafb_par *par = info->par;
>
>   	if (par->vbe_ib.oem_product_rev_ptr)
> -		return scnprintf(buf, PAGE_SIZE, "%s\n", (char *)
> +		return sysfs_emit(buf, "%s\n", (char *)
>   			(&par->vbe_ib) + par->vbe_ib.oem_product_rev_ptr);
>   	else
>   		return 0;
> @@ -1625,7 +1625,7 @@ static ssize_t uvesafb_show_oem_string(struct device *dev,
>   	struct uvesafb_par *par = info->par;
>
>   	if (par->vbe_ib.oem_string_ptr)
> -		return scnprintf(buf, PAGE_SIZE, "%s\n",
> +		return sysfs_emit(buf, "%s\n",
>   			(char *)(&par->vbe_ib) + par->vbe_ib.oem_string_ptr);
>   	else
>   		return 0;
> @@ -1639,7 +1639,7 @@ static ssize_t uvesafb_show_nocrtc(struct device *dev,
>   	struct fb_info *info = dev_get_drvdata(dev);
>   	struct uvesafb_par *par = info->par;
>
> -	return scnprintf(buf, PAGE_SIZE, "%d\n", par->nocrtc);
> +	return sysfs_emit(buf, "%d\n", par->nocrtc);
>   }
>
>   static ssize_t uvesafb_store_nocrtc(struct device *dev,
Re: [PATCH linux-next v3] fbdev: use sysfs_emit() to instead of scnprintf()
Posted by Geert Uytterhoeven 1 year, 3 months ago
Hi Ye,

Thanks for your patch!

On Mon, Dec 5, 2022 at 9:31 AM <ye.xingchen@zte.com.cn> wrote:
> From: ye xingchen <ye.xingchen@zte.com.cn>
>
> 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 <ye.xingchen@zte.com.cn>
> ---
> v2 -> v3
> Fix the mistakes in v2.

Indeed, that's usually what a v3 does ;-)
It would help if you listed the actual changes instead.

But "b4 diff 202212051631391777945@zte.com.cn" doesn't show any?

Thanks!

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds