Re: [PATCH] scsi: ufs: sysfs: add is_ascii_output entry
From: Bart Van Assche
Date: Wed Feb 10 2021 - 22:36:37 EST
On 2/10/21 2:53 AM, Arthur Simchaev wrote:
> +static bool is_ascii_output = true;
[ ... ]
> static const char *ufschd_uic_link_state_to_string(
> enum uic_link_state state)
> {
> @@ -693,7 +695,15 @@ static ssize_t _name##_show(struct device *dev, \
> SD_ASCII_STD); \
> if (ret < 0) \
> goto out; \
> - ret = sysfs_emit(buf, "%s\n", desc_buf); \
> + if (is_ascii_output) { \
> + ret = sysfs_emit(buf, "%s\n", desc_buf); \
> + } else { \
> + int i; \
> + \
> + for (i = 0; i < desc_buf[0]; i++) \
> + hex_byte_pack(buf + i * 2, desc_buf[i]); \
> + ret = sysfs_emit(buf, "%s\n", buf); \
> + } \
> out: \
> pm_runtime_put_sync(hba->dev); \
> kfree(desc_buf); \
Please do not introduce a mode variable but instead introduce a new
attribute such that there is one attribute for the unicode output and
one attribute for the ASCII output. Mode variables are troublesome when
e.g. two scripts try to set the mode attribute concurrently.
Thanks,
Bart.