All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jarkko Sakkinen <jarkko@kernel.org>
To: Chelsy Ratnawat <chelsyratnawat2001@gmail.com>
Cc: peterhuewe@gmx.de, jgg@ziepe.ca, linux-integrity@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5] tpm: Replace scnprintf() with sysfs_emit() and sysfs_emit_at() in sysfs show functions
Date: Thu, 3 Jul 2025 00:36:23 +0300	[thread overview]
Message-ID: <aGWmV6DLiIc8f7N6@kernel.org> (raw)
In-Reply-To: <20250626125130.28553-1-chelsyratnawat2001@gmail.com>

On Thu, Jun 26, 2025 at 05:51:30AM -0700, Chelsy Ratnawat wrote:
> Documentation/filesystems/sysfs.rst mentions that show() should only
> use sysfs_emit() or sysfs_emit_at() when formating the value to be
> returned to user space. So replace scnprintf() with sysfs_emit().
> 
> Signed-off-by: Chelsy Ratnawat <chelsyratnawat2001@gmail.com>
> ---
> Changes in v5 : 
> - Fix alignment and coding style problems
> 
>  drivers/char/tpm/tpm_ppi.c | 52 ++++++++++++++++++--------------------
>  1 file changed, 25 insertions(+), 27 deletions(-)
> 
> diff --git a/drivers/char/tpm/tpm_ppi.c b/drivers/char/tpm/tpm_ppi.c
> index bc7b1b4501b3..d53fce1c9d6f 100644
> --- a/drivers/char/tpm/tpm_ppi.c
> +++ b/drivers/char/tpm/tpm_ppi.c
> @@ -52,7 +52,7 @@ static ssize_t tpm_show_ppi_version(struct device *dev,
>  {
>  	struct tpm_chip *chip = to_tpm_chip(dev);
>  
> -	return scnprintf(buf, PAGE_SIZE, "%s\n", chip->ppi_version);
> +	return sysfs_emit(buf, "%s\n", chip->ppi_version);
>  }
>  
>  static ssize_t tpm_show_ppi_request(struct device *dev,
> @@ -87,12 +87,10 @@ static ssize_t tpm_show_ppi_request(struct device *dev,
>  		else {
>  			req = obj->package.elements[1].integer.value;
>  			if (tpm_ppi_req_has_parameter(req))
> -				size = scnprintf(buf, PAGE_SIZE,
> -				    "%llu %llu\n", req,
> -				    obj->package.elements[2].integer.value);
> +				size = sysfs_emit(buf, "%llu %llu\n", req,
> +						  obj->package.elements[2].integer.value);
>  			else
> -				size = scnprintf(buf, PAGE_SIZE,
> -						"%llu\n", req);
> +				size = sysfs_emit(buf, "%llu\n", req);
>  		}
>  	} else if (obj->package.count == 2 &&
>  	    obj->package.elements[0].type == ACPI_TYPE_INTEGER &&
> @@ -100,8 +98,8 @@ static ssize_t tpm_show_ppi_request(struct device *dev,
>  		if (obj->package.elements[0].integer.value)
>  			size = -EFAULT;
>  		else
> -			size = scnprintf(buf, PAGE_SIZE, "%llu\n",
> -				 obj->package.elements[1].integer.value);
> +			size = sysfs_emit(buf, "%llu\n",
> +					  obj->package.elements[1].integer.value);
>  	}
>  
>  	ACPI_FREE(obj);
> @@ -211,10 +209,10 @@ static ssize_t tpm_show_ppi_transition_action(struct device *dev,
>  	}
>  
>  	if (ret < ARRAY_SIZE(info) - 1)
> -		status = scnprintf(buf, PAGE_SIZE, "%d: %s\n", ret, info[ret]);
> +		status = sysfs_emit(buf, "%d: %s\n", ret, info[ret]);
>  	else
> -		status = scnprintf(buf, PAGE_SIZE, "%d: %s\n", ret,
> -				   info[ARRAY_SIZE(info)-1]);
> +		status = sysfs_emit(buf, "%d: %s\n", ret,
> +				    info[ARRAY_SIZE(info) - 1]);
>  	return status;
>  }
>  
> @@ -255,23 +253,23 @@ static ssize_t tpm_show_ppi_response(struct device *dev,
>  	res = ret_obj[2].integer.value;
>  	if (req) {
>  		if (res == 0)
> -			status = scnprintf(buf, PAGE_SIZE, "%llu %s\n", req,
> -					   "0: Success");
> +			status = sysfs_emit(buf, "%llu %s\n", req,
> +					    "0: Success");
>  		else if (res == 0xFFFFFFF0)
> -			status = scnprintf(buf, PAGE_SIZE, "%llu %s\n", req,
> -					   "0xFFFFFFF0: User Abort");
> +			status = sysfs_emit(buf, "%llu %s\n", req,
> +					    "0xFFFFFFF0: User Abort");
>  		else if (res == 0xFFFFFFF1)
> -			status = scnprintf(buf, PAGE_SIZE, "%llu %s\n", req,
> -					   "0xFFFFFFF1: BIOS Failure");
> +			status = sysfs_emit(buf, "%llu %s\n", req,
> +					    "0xFFFFFFF1: BIOS Failure");
>  		else if (res >= 1 && res <= 0x00000FFF)
> -			status = scnprintf(buf, PAGE_SIZE, "%llu %llu: %s\n",
> -					   req, res, "Corresponding TPM error");
> +			status = sysfs_emit(buf, "%llu %llu: %s\n",
> +					    req, res, "Corresponding TPM error");
>  		else
> -			status = scnprintf(buf, PAGE_SIZE, "%llu %llu: %s\n",
> -					   req, res, "Error");
> +			status = sysfs_emit(buf, "%llu %llu: %s\n",
> +					    req, res, "Error");
>  	} else {
> -		status = scnprintf(buf, PAGE_SIZE, "%llu: %s\n",
> -				   req, "No Recent Request");
> +		status = sysfs_emit(buf, "%llu: %s\n",
> +				    req, "No Recent Request");
>  	}
>  
>  cleanup:
> @@ -284,7 +282,7 @@ static ssize_t show_ppi_operations(acpi_handle dev_handle, char *buf, u32 start,
>  {
>  	int i;
>  	u32 ret;
> -	char *str = buf;
> +	int len = 0;
>  	union acpi_object *obj, tmp;
>  	union acpi_object argv = ACPI_INIT_DSM_ARGV4(1, &tmp);
>  
> @@ -314,11 +312,11 @@ static ssize_t show_ppi_operations(acpi_handle dev_handle, char *buf, u32 start,
>  		}
>  
>  		if (ret > 0 && ret < ARRAY_SIZE(info))
> -			str += scnprintf(str, PAGE_SIZE, "%d %d: %s\n",
> -					 i, ret, info[ret]);
> +			len += sysfs_emit_at(buf, len, "%d %d: %s\n",
> +					     i, ret, info[ret]);
>  	}
>  
> -	return str - buf;
> +	return len;
>  }
>  
>  static ssize_t tpm_show_ppi_tcg_operations(struct device *dev,
> -- 
> 2.47.1
> 

Looks good to me.

Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>

BR, Jarkko

      reply	other threads:[~2025-07-02 21:36 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-26 12:51 [PATCH v5] tpm: Replace scnprintf() with sysfs_emit() and sysfs_emit_at() in sysfs show functions Chelsy Ratnawat
2025-07-02 21:36 ` Jarkko Sakkinen [this message]

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=aGWmV6DLiIc8f7N6@kernel.org \
    --to=jarkko@kernel.org \
    --cc=chelsyratnawat2001@gmail.com \
    --cc=jgg@ziepe.ca \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterhuewe@gmx.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.