Done. Regards Arthur > -----Original Message----- > From: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> > Sent: Sunday, February 14, 2021 11:54 AM > To: Bart Van Assche <bvanassche@xxxxxxx> > Cc: Arthur Simchaev <Arthur.Simchaev@xxxxxxx>; James E . J . Bottomley > <jejb@xxxxxxxxxxxxxxxxxx>; Martin K . Petersen > <martin.petersen@xxxxxxxxxx>; linux-scsi@xxxxxxxxxxxxxxx; linux- > kernel@xxxxxxxxxxxxxxx; alim.akhtar@xxxxxxxxxxx; Bean Huo > <beanhuo@xxxxxxxxxx>; Arthur Simchaev <Arthur.Simchaev@xxxxxxx> > Subject: Re: [PATCH] scsi: ufs: sysfs: add is_ascii_output entry > > CAUTION: This email originated from outside of Western Digital. Do not click > on links or open attachments unless you recognize the sender and know that > the content is safe. > > > On Wed, Feb 10, 2021 at 07:35:25PM -0800, Bart Van Assche wrote: > > 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. > > Agreed, just make a new sysfs file, please never change the output of an > existing sysfs file, that way will guarantee confusion in userspace. > > thanks, > > greg k-h