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.