Per filesystems/sysfs.rst, show() should only use sysfs_emit() or sysfs_emit_at() when formatting the value to be returned to user space. coccinelle complains that there are still a couple of functions that use snprintf(). Convert them to sysfs_emit(). > ./drivers/scsi/hpsa.c:528:8-16: WARNING: please use sysfs_emit > ./drivers/scsi/hpsa.c:538:8-16: WARNING: please use sysfs_emit > ./drivers/scsi/hpsa.c:549:8-16: WARNING: please use sysfs_emit > ./drivers/scsi/hpsa.c:561:8-16: WARNING: please use sysfs_emit > ./drivers/scsi/hpsa.c:645:8-16: WARNING: please use sysfs_emit > ./drivers/scsi/hpsa.c:724:8-16: WARNING: please use sysfs_emit > ./drivers/scsi/hpsa.c:746:8-16: WARNING: please use sysfs_emit > ./drivers/scsi/hpsa.c:775:8-16: WARNING: please use sysfs_emit > ./drivers/scsi/hpsa.c:799:9-17: WARNING: please use sysfs_emit > ./drivers/scsi/hpsa.c:898:8-16: WARNING: please use sysfs_emit > ./drivers/scsi/hpsa.c:908:8-16: WARNING: please use sysfs_emit No functional change intended CC: Don Brace <don.brace@xxxxxxxxxxxxx> CC: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxx> CC: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx> CC: storagedev@xxxxxxxxxxxxx CC: linux-scsi@xxxxxxxxxxxxxxx Signed-off-by: Li Zhijian <lizhijian@xxxxxxxxxxx> --- drivers/scsi/hpsa.c | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c index af18d20f3079..5736c0f7a1be 100644 --- a/drivers/scsi/hpsa.c +++ b/drivers/scsi/hpsa.c @@ -525,8 +525,8 @@ static ssize_t host_show_firmware_revision(struct device *dev, if (!h->hba_inquiry_data) return 0; fwrev = &h->hba_inquiry_data[32]; - return snprintf(buf, 20, "%c%c%c%c\n", - fwrev[0], fwrev[1], fwrev[2], fwrev[3]); + return sysfs_emit(buf, "%c%c%c%c\n", + fwrev[0], fwrev[1], fwrev[2], fwrev[3]); } static ssize_t host_show_commands_outstanding(struct device *dev, @@ -535,8 +535,8 @@ static ssize_t host_show_commands_outstanding(struct device *dev, struct Scsi_Host *shost = class_to_shost(dev); struct ctlr_info *h = shost_to_hba(shost); - return snprintf(buf, 20, "%d\n", - atomic_read(&h->commands_outstanding)); + return sysfs_emit(buf, "%d\n", + atomic_read(&h->commands_outstanding)); } static ssize_t host_show_transport_mode(struct device *dev, @@ -546,9 +546,9 @@ static ssize_t host_show_transport_mode(struct device *dev, struct Scsi_Host *shost = class_to_shost(dev); h = shost_to_hba(shost); - return snprintf(buf, 20, "%s\n", - h->transMethod & CFGTBL_Trans_Performant ? - "performant" : "simple"); + return sysfs_emit(buf, "%s\n", + h->transMethod & CFGTBL_Trans_Performant ? + "performant" : "simple"); } static ssize_t host_show_hp_ssd_smart_path_status(struct device *dev, @@ -558,8 +558,8 @@ static ssize_t host_show_hp_ssd_smart_path_status(struct device *dev, struct Scsi_Host *shost = class_to_shost(dev); h = shost_to_hba(shost); - return snprintf(buf, 30, "HP SSD Smart Path %s\n", - (h->acciopath_status == 1) ? "enabled" : "disabled"); + return sysfs_emit(buf, "HP SSD Smart Path %s\n", + (h->acciopath_status == 1) ? "enabled" : "disabled"); } /* List of controllers which cannot be hard reset on kexec with reset_devices */ @@ -642,7 +642,7 @@ static ssize_t host_show_resettable(struct device *dev, struct Scsi_Host *shost = class_to_shost(dev); h = shost_to_hba(shost); - return snprintf(buf, 20, "%d\n", ctlr_is_resettable(h->board_id)); + return sysfs_emit(buf, "%d\n", ctlr_is_resettable(h->board_id)); } static inline int is_logical_dev_addr_mode(unsigned char scsi3addr[]) @@ -721,7 +721,7 @@ static ssize_t lunid_show(struct device *dev, } memcpy(lunid, hdev->scsi3addr, sizeof(lunid)); spin_unlock_irqrestore(&h->lock, flags); - return snprintf(buf, 20, "0x%8phN\n", lunid); + return sysfs_emit(buf, "0x%8phN\n", lunid); } static ssize_t unique_id_show(struct device *dev, @@ -743,7 +743,7 @@ static ssize_t unique_id_show(struct device *dev, } memcpy(sn, hdev->device_id, sizeof(sn)); spin_unlock_irqrestore(&h->lock, flags); - return snprintf(buf, 16 * 2 + 2, + return sysfs_emit(buf, "%02X%02X%02X%02X%02X%02X%02X%02X" "%02X%02X%02X%02X%02X%02X%02X%02X\n", sn[0], sn[1], sn[2], sn[3], @@ -772,7 +772,7 @@ static ssize_t sas_address_show(struct device *dev, sas_address = hdev->sas_address; spin_unlock_irqrestore(&h->lock, flags); - return snprintf(buf, PAGE_SIZE, "0x%016llx\n", sas_address); + return sysfs_emit(buf, "0x%016llx\n", sas_address); } static ssize_t host_show_hp_ssd_smart_path_enabled(struct device *dev, @@ -796,10 +796,10 @@ static ssize_t host_show_hp_ssd_smart_path_enabled(struct device *dev, spin_unlock_irqrestore(&h->lock, flags); if (hdev->devtype == TYPE_DISK || hdev->devtype == TYPE_ZBC) - return snprintf(buf, 20, "%d\n", offload_enabled); + return sysfs_emit(buf, "%d\n", offload_enabled); else - return snprintf(buf, 40, "%s\n", - "Not applicable for a controller"); + return sysfs_emit(buf, "%s\n", + "Not applicable for a controller"); } #define MAX_PATHS 8 @@ -895,7 +895,7 @@ static ssize_t host_show_ctlr_num(struct device *dev, struct Scsi_Host *shost = class_to_shost(dev); h = shost_to_hba(shost); - return snprintf(buf, 20, "%d\n", h->ctlr); + return sysfs_emit(buf, "%d\n", h->ctlr); } static ssize_t host_show_legacy_board(struct device *dev, @@ -905,7 +905,7 @@ static ssize_t host_show_legacy_board(struct device *dev, struct Scsi_Host *shost = class_to_shost(dev); h = shost_to_hba(shost); - return snprintf(buf, 20, "%d\n", h->legacy_board ? 1 : 0); + return sysfs_emit(buf, "%d\n", h->legacy_board ? 1 : 0); } static DEVICE_ATTR_RO(raid_level); -- 2.29.2