Re: [PATCH] scsi: ufs: sysfs: add is_ascii_output entry

Bart Van Assche
2021-02-11T03:36:18Z

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.