On Thu, 8 Dec 2022 at 04:38, <ye.xingchen@xxxxxxxxxx> wrote: > > From: ye xingchen <ye.xingchen@xxxxxxxxxx> > > Follow the advice of the Documentation/filesystems/sysfs.rst and show() > should only use sysfs_emit() or sysfs_emit_at() when formatting the > value to be returned to user space. > > Signed-off-by: ye xingchen <ye.xingchen@xxxxxxxxxx> Applied for next, thanks! Kind regards Uffe > --- > drivers/memstick/core/mspro_block.c | 177 +++++++++++----------------- > 1 file changed, 72 insertions(+), 105 deletions(-) > > diff --git a/drivers/memstick/core/mspro_block.c b/drivers/memstick/core/mspro_block.c > index 61cf75d4a01e..5a69ed33999b 100644 > --- a/drivers/memstick/core/mspro_block.c > +++ b/drivers/memstick/core/mspro_block.c > @@ -260,8 +260,8 @@ static ssize_t mspro_block_attr_show_default(struct device *dev, > buffer[rc++] = '\n'; > } > > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "%02x ", > - ((unsigned char *)s_attr->data)[cnt]); > + rc += sysfs_emit_at(buffer, rc, "%02x ", > + ((unsigned char *)s_attr->data)[cnt]); > } > return rc; > } > @@ -290,61 +290,43 @@ static ssize_t mspro_block_attr_show_sysinfo(struct device *dev, > date_tz_f *= 15; > } > > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "class: %x\n", > - x_sys->class); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "block size: %x\n", > - be16_to_cpu(x_sys->block_size)); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "block count: %x\n", > - be16_to_cpu(x_sys->block_count)); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "user block count: %x\n", > - be16_to_cpu(x_sys->user_block_count)); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "page size: %x\n", > - be16_to_cpu(x_sys->page_size)); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "assembly date: " > - "GMT%+d:%d %04u-%02u-%02u %02u:%02u:%02u\n", > - date_tz, date_tz_f, > - be16_to_cpup((__be16 *)&x_sys->assembly_date[1]), > - x_sys->assembly_date[3], x_sys->assembly_date[4], > - x_sys->assembly_date[5], x_sys->assembly_date[6], > - x_sys->assembly_date[7]); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "serial number: %x\n", > - be32_to_cpu(x_sys->serial_number)); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, > - "assembly maker code: %x\n", > - x_sys->assembly_maker_code); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "assembly model code: " > - "%02x%02x%02x\n", x_sys->assembly_model_code[0], > - x_sys->assembly_model_code[1], > - x_sys->assembly_model_code[2]); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "memory maker code: %x\n", > - be16_to_cpu(x_sys->memory_maker_code)); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "memory model code: %x\n", > - be16_to_cpu(x_sys->memory_model_code)); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "vcc: %x\n", > - x_sys->vcc); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "vpp: %x\n", > - x_sys->vpp); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "controller number: %x\n", > - be16_to_cpu(x_sys->controller_number)); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, > - "controller function: %x\n", > - be16_to_cpu(x_sys->controller_function)); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "start sector: %x\n", > - be16_to_cpu(x_sys->start_sector)); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "unit size: %x\n", > - be16_to_cpu(x_sys->unit_size)); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "sub class: %x\n", > - x_sys->ms_sub_class); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "interface type: %x\n", > - x_sys->interface_type); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "controller code: %x\n", > - be16_to_cpu(x_sys->controller_code)); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "format type: %x\n", > - x_sys->format_type); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "device type: %x\n", > - x_sys->device_type); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "mspro id: %s\n", > - x_sys->mspro_id); > + rc += sysfs_emit_at(buffer, rc, "class: %x\n", x_sys->class); > + rc += sysfs_emit_at(buffer, rc, "block size: %x\n", be16_to_cpu(x_sys->block_size)); > + rc += sysfs_emit_at(buffer, rc, "block count: %x\n", be16_to_cpu(x_sys->block_count)); > + rc += sysfs_emit_at(buffer, rc, "user block count: %x\n", > + be16_to_cpu(x_sys->user_block_count)); > + rc += sysfs_emit_at(buffer, rc, "page size: %x\n", be16_to_cpu(x_sys->page_size)); > + rc += sysfs_emit_at(buffer, rc, "assembly date: GMT%+d:%d %04u-%02u-%02u %02u:%02u:%02u\n", > + date_tz, date_tz_f, > + be16_to_cpup((__be16 *)&x_sys->assembly_date[1]), > + x_sys->assembly_date[3], x_sys->assembly_date[4], > + x_sys->assembly_date[5], x_sys->assembly_date[6], > + x_sys->assembly_date[7]); > + rc += sysfs_emit_at(buffer, rc, "serial number: %x\n", be32_to_cpu(x_sys->serial_number)); > + rc += sysfs_emit_at(buffer, rc, "assembly maker code: %x\n", x_sys->assembly_maker_code); > + rc += sysfs_emit_at(buffer, rc, "assembly model code: %02x%02x%02x\n", > + x_sys->assembly_model_code[0], > + x_sys->assembly_model_code[1], > + x_sys->assembly_model_code[2]); > + rc += sysfs_emit_at(buffer, rc, "memory maker code: %x\n", > + be16_to_cpu(x_sys->memory_maker_code)); > + rc += sysfs_emit_at(buffer, rc, "memory model code: %x\n", > + be16_to_cpu(x_sys->memory_model_code)); > + rc += sysfs_emit_at(buffer, rc, "vcc: %x\n", x_sys->vcc); > + rc += sysfs_emit_at(buffer, rc, "vpp: %x\n", x_sys->vpp); > + rc += sysfs_emit_at(buffer, rc, "controller number: %x\n", > + be16_to_cpu(x_sys->controller_number)); > + rc += sysfs_emit_at(buffer, rc, "controller function: %x\n", > + be16_to_cpu(x_sys->controller_function)); > + rc += sysfs_emit_at(buffer, rc, "start sector: %x\n", be16_to_cpu(x_sys->start_sector)); > + rc += sysfs_emit_at(buffer, rc, "unit size: %x\n", be16_to_cpu(x_sys->unit_size)); > + rc += sysfs_emit_at(buffer, rc, "sub class: %x\n", x_sys->ms_sub_class); > + rc += sysfs_emit_at(buffer, rc, "interface type: %x\n", x_sys->interface_type); > + rc += sysfs_emit_at(buffer, rc, "controller code: %x\n", > + be16_to_cpu(x_sys->controller_code)); > + rc += sysfs_emit_at(buffer, rc, "format type: %x\n", x_sys->format_type); > + rc += sysfs_emit_at(buffer, rc, "device type: %x\n", x_sys->device_type); > + rc += sysfs_emit_at(buffer, rc, "mspro id: %s\n", x_sys->mspro_id); > return rc; > } > > @@ -356,7 +338,7 @@ static ssize_t mspro_block_attr_show_modelname(struct device *dev, > struct mspro_sys_attr, > dev_attr); > > - return scnprintf(buffer, PAGE_SIZE, "%s", (char *)s_attr->data); > + return sysfs_emit(buffer, "%s", (char *)s_attr->data); > } > > static ssize_t mspro_block_attr_show_mbr(struct device *dev, > @@ -369,27 +351,17 @@ static ssize_t mspro_block_attr_show_mbr(struct device *dev, > struct mspro_mbr *x_mbr = x_attr->data; > ssize_t rc = 0; > > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "boot partition: %x\n", > - x_mbr->boot_partition); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "start head: %x\n", > - x_mbr->start_head); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "start sector: %x\n", > - x_mbr->start_sector); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "start cylinder: %x\n", > - x_mbr->start_cylinder); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "partition type: %x\n", > - x_mbr->partition_type); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "end head: %x\n", > - x_mbr->end_head); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "end sector: %x\n", > - x_mbr->end_sector); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "end cylinder: %x\n", > - x_mbr->end_cylinder); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "start sectors: %x\n", > - x_mbr->start_sectors); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, > - "sectors per partition: %x\n", > - x_mbr->sectors_per_partition); > + rc += sysfs_emit_at(buffer, rc, "boot partition: %x\n", x_mbr->boot_partition); > + rc += sysfs_emit_at(buffer, rc, "start head: %x\n", x_mbr->start_head); > + rc += sysfs_emit_at(buffer, rc, "start sector: %x\n", x_mbr->start_sector); > + rc += sysfs_emit_at(buffer, rc, "start cylinder: %x\n", x_mbr->start_cylinder); > + rc += sysfs_emit_at(buffer, rc, "partition type: %x\n", x_mbr->partition_type); > + rc += sysfs_emit_at(buffer, rc, "end head: %x\n", x_mbr->end_head); > + rc += sysfs_emit_at(buffer, rc, "end sector: %x\n", x_mbr->end_sector); > + rc += sysfs_emit_at(buffer, rc, "end cylinder: %x\n", x_mbr->end_cylinder); > + rc += sysfs_emit_at(buffer, rc, "start sectors: %x\n", x_mbr->start_sectors); > + rc += sysfs_emit_at(buffer, rc, "sectors per partition: %x\n", > + x_mbr->sectors_per_partition); > return rc; > } > > @@ -409,22 +381,19 @@ static ssize_t mspro_block_attr_show_specfile(struct device *dev, > memcpy(ext, x_spfile->ext, 3); > ext[3] = 0; > > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "name: %s\n", name); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "ext: %s\n", ext); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "attribute: %x\n", > - x_spfile->attr); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "time: %d:%d:%d\n", > - x_spfile->time >> 11, > - (x_spfile->time >> 5) & 0x3f, > - (x_spfile->time & 0x1f) * 2); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "date: %d-%d-%d\n", > - (x_spfile->date >> 9) + 1980, > - (x_spfile->date >> 5) & 0xf, > - x_spfile->date & 0x1f); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "start cluster: %x\n", > - x_spfile->cluster); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "size: %x\n", > - x_spfile->size); > + rc += sysfs_emit_at(buffer, rc, "name: %s\n", name); > + rc += sysfs_emit_at(buffer, rc, "ext: %s\n", ext); > + rc += sysfs_emit_at(buffer, rc, "attribute: %x\n", x_spfile->attr); > + rc += sysfs_emit_at(buffer, rc, "time: %d:%d:%d\n", > + x_spfile->time >> 11, > + (x_spfile->time >> 5) & 0x3f, > + (x_spfile->time & 0x1f) * 2); > + rc += sysfs_emit_at(buffer, rc, "date: %d-%d-%d\n", > + (x_spfile->date >> 9) + 1980, > + (x_spfile->date >> 5) & 0xf, > + x_spfile->date & 0x1f); > + rc += sysfs_emit_at(buffer, rc, "start cluster: %x\n", x_spfile->cluster); > + rc += sysfs_emit_at(buffer, rc, "size: %x\n", x_spfile->size); > return rc; > } > > @@ -438,16 +407,14 @@ static ssize_t mspro_block_attr_show_devinfo(struct device *dev, > struct mspro_devinfo *x_devinfo = x_attr->data; > ssize_t rc = 0; > > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "cylinders: %x\n", > - be16_to_cpu(x_devinfo->cylinders)); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "heads: %x\n", > - be16_to_cpu(x_devinfo->heads)); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "bytes per track: %x\n", > - be16_to_cpu(x_devinfo->bytes_per_track)); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "bytes per sector: %x\n", > - be16_to_cpu(x_devinfo->bytes_per_sector)); > - rc += scnprintf(buffer + rc, PAGE_SIZE - rc, "sectors per track: %x\n", > - be16_to_cpu(x_devinfo->sectors_per_track)); > + rc += sysfs_emit_at(buffer, rc, "cylinders: %x\n", be16_to_cpu(x_devinfo->cylinders)); > + rc += sysfs_emit_at(buffer, rc, "heads: %x\n", be16_to_cpu(x_devinfo->heads)); > + rc += sysfs_emit_at(buffer, rc, "bytes per track: %x\n", > + be16_to_cpu(x_devinfo->bytes_per_track)); > + rc += sysfs_emit_at(buffer, rc, "bytes per sector: %x\n", > + be16_to_cpu(x_devinfo->bytes_per_sector)); > + rc += sysfs_emit_at(buffer, rc, "sectors per track: %x\n", > + be16_to_cpu(x_devinfo->sectors_per_track)); > return rc; > } > > -- > 2.25.1