From patchwork Tue Mar 19 06:31:08 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781290 Received: from esa7.hc1455-7.c3s2.iphmx.com (esa7.hc1455-7.c3s2.iphmx.com [139.138.61.252]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7BD8851C45; Tue, 19 Mar 2024 06:33:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=139.138.61.252 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710830020; cv=none; b=TiO3DhjcAfCNhsgrP6JoNIQvgLIJo5j3d8QuCci3XvmiUfzxlj7CO4b+Lak+yUokvbA+IWnKMHbqLgiBfFwvYflli8Sl4q+awtecnwKPWObbF4UiVdPg7mIk0KrLJKd3XY0P/1tAEH60wDDv+GXtlqkKZ3sKL79Gv8OnWcUozvs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710830020; c=relaxed/simple; bh=4PeghrYAkJkKJ07klpjA0g5ciCp0/essXeq/WQpnC58=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=reO4QZOiK9pD+ckoa/EEDDvCStpESqFLTjQC2MyBN4medMRB/rAX0bvuOzEu4uVtCv0ZMtLcZwphwgv7jTPob2MMagodEKCONsv9MvQoZ3esEb5meCQUuJzgQtDdttppmjRNVZT61BUpWc2ee3J+O43MzodTYjh5tP2sUI0M7BE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=oDjzxLac; arc=none smtp.client-ip=139.138.61.252 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="oDjzxLac" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710830018; x=1742366018; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=4PeghrYAkJkKJ07klpjA0g5ciCp0/essXeq/WQpnC58=; b=oDjzxLacKTYDUDrLwCkZ5JJRP3Xx3juq3pcZ1qUp8CeLt2uJlCaWOGnK GF1bx0UTfJzsvs/A6no5y8NTPj7SqIpB+2BQ08qpbeArM51mpT8foFal8 uHE15JGz7+r/RJ1ncaikm5eiiD9C+IfufrBHwIa+pzauNYfJDFOd/GQKl L88UO/ohNFWPXTF/c9kYGs7k43MUOCbbbsU+v7SY+TGdhu9yxDuPZ+V0y 6aHcDlohtYHcR6lZLh55ONWCdU2tedYb9mzaPHPqophxCsYyaPec/5PG3 ylac2ytLZsC3d4SA826hqsHo3t/mauU+bylOzfaZCacV3xPsoRowzhAIW Q==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="131490901" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="131490901" Received: from unknown (HELO yto-r4.gw.nic.fujitsu.com) ([218.44.52.220]) by esa7.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:25 +0900 Received: from yto-m3.gw.nic.fujitsu.com (yto-nat-yto-m3.gw.nic.fujitsu.com [192.168.83.66]) by yto-r4.gw.nic.fujitsu.com (Postfix) with ESMTP id AE48AD9F00; Tue, 19 Mar 2024 15:32:23 +0900 (JST) Received: from kws-ab4.gw.nic.fujitsu.com (kws-ab4.gw.nic.fujitsu.com [192.51.206.22]) by yto-m3.gw.nic.fujitsu.com (Postfix) with ESMTP id E8892F933; Tue, 19 Mar 2024 15:32:22 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab4.gw.nic.fujitsu.com (Postfix) with ESMTP id 75257E2B0A; Tue, 19 Mar 2024 15:32:20 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id BDA171A006B; Tue, 19 Mar 2024 14:32:19 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , Adaptec OEM Raid Solutions , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org Subject: [PATCH v2 01/25] scsi: aacraid: Convert sprintf() family to sysfs_emit() family Date: Tue, 19 Mar 2024 14:31:08 +0800 Message-Id: <20240319063132.1588443-1-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--12.901200-10.000000 X-TMASE-MatchedRID: FY3Fgmk8TgkbO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u8oJgWvWZKR0GluHEj++VqUhQ6 YZNvnIb+Ekt/L8HtAJ785xNkZcrN2ePWEUnWb98FBDn6Fjq77jvioIsi7Sa0gwLkNMQzGl5B+Kr WCPbERPyqq0O5S3DJ8eQdJcJ6RxJSmg8dBfLCnV2/6CCblACLhJScvOTX4jHN3de2OoBqgwiRM9 pS/s/NILp20O7VwpBaIqlZh0Y0wYRLcDqfEqfizv0DcGXX8NxWnRzlrI6bygz64b06vmARfGEG9 aBmVf7zi8zVgXoAltsIJ+4gwXrEtIAcCikR3vq/7nw37K75lFhfMyQcrQKrzYC7kGoI7IiaV737 3dnt5UgPNaS1D9v78 X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: Adaptec OEM Raid Solutions CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ Signed-off-by: Li Zhijian --- drivers/scsi/aacraid/linit.c | 78 ++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 43 deletions(-) diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c index 68f4dbcfff49..a9c7e3e0ca33 100644 --- a/drivers/scsi/aacraid/linit.c +++ b/drivers/scsi/aacraid/linit.c @@ -558,11 +558,11 @@ static ssize_t aac_show_raid_level(struct device *dev, struct device_attribute * struct scsi_device *sdev = to_scsi_device(dev); struct aac_dev *aac = (struct aac_dev *)(sdev->host->hostdata); if (sdev_channel(sdev) != CONTAINER_CHANNEL) - return snprintf(buf, PAGE_SIZE, sdev->no_uld_attach - ? "Hidden\n" : + return sysfs_emit(buf, sdev->no_uld_attach ? "Hidden\n" : ((aac->jbod && (sdev->type == TYPE_DISK)) ? "JBOD\n" : "")); - return snprintf(buf, PAGE_SIZE, "%s\n", - get_container_type(aac->fsa_dev[sdev_id(sdev)].type)); + + return sysfs_emit(buf, "%s\n", + get_container_type(aac->fsa_dev[sdev_id(sdev)].type)); } static struct device_attribute aac_raid_level_attr = { @@ -585,12 +585,12 @@ static ssize_t aac_show_unique_id(struct device *dev, if (sdev_channel(sdev) == CONTAINER_CHANNEL) memcpy(sn, aac->fsa_dev[sdev_id(sdev)].identifier, sizeof(sn)); - return snprintf(buf, 16 * 2 + 2, - "%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], - sn[4], sn[5], sn[6], sn[7], - sn[8], sn[9], sn[10], sn[11], - sn[12], sn[13], sn[14], sn[15]); + 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], + sn[4], sn[5], sn[6], sn[7], + sn[8], sn[9], sn[10], sn[11], + sn[12], sn[13], sn[14], sn[15]); } static struct device_attribute aac_unique_id_attr = { @@ -1195,10 +1195,9 @@ static ssize_t aac_show_model(struct device *device, ++cp; while (*cp == ' ') ++cp; - len = snprintf(buf, PAGE_SIZE, "%s\n", cp); + len = sysfs_emit(buf, "%s\n", cp); } else - len = snprintf(buf, PAGE_SIZE, "%s\n", - aac_drivers[dev->cardtype].model); + len = sysfs_emit(buf, "%s\n", aac_drivers[dev->cardtype].model); return len; } @@ -1214,12 +1213,11 @@ static ssize_t aac_show_vendor(struct device *device, char *cp = sup_adap_info->adapter_type_text; while (*cp && *cp != ' ') ++cp; - len = snprintf(buf, PAGE_SIZE, "%.*s\n", - (int)(cp - (char *)sup_adap_info->adapter_type_text), - sup_adap_info->adapter_type_text); + len = sysfs_emit(buf, "%.*s\n", + (int)(cp - (char *)sup_adap_info->adapter_type_text), + sup_adap_info->adapter_type_text); } else - len = snprintf(buf, PAGE_SIZE, "%s\n", - aac_drivers[dev->cardtype].vname); + len = sysfs_emit(buf, "%s\n", aac_drivers[dev->cardtype].vname); return len; } @@ -1230,23 +1228,19 @@ static ssize_t aac_show_flags(struct device *cdev, struct aac_dev *dev = (struct aac_dev*)class_to_shost(cdev)->hostdata; if (nblank(dprintk(x))) - len = snprintf(buf, PAGE_SIZE, "dprintk\n"); + len = sysfs_emit(buf, "dprintk\n"); #ifdef AAC_DETAILED_STATUS_INFO - len += scnprintf(buf + len, PAGE_SIZE - len, - "AAC_DETAILED_STATUS_INFO\n"); + len += sysfs_emit_at(buf, len, "AAC_DETAILED_STATUS_INFO\n"); #endif if (dev->raw_io_interface && dev->raw_io_64) - len += scnprintf(buf + len, PAGE_SIZE - len, - "SAI_READ_CAPACITY_16\n"); + len += sysfs_emit_at(buf, len, "SAI_READ_CAPACITY_16\n"); if (dev->jbod) - len += scnprintf(buf + len, PAGE_SIZE - len, - "SUPPORTED_JBOD\n"); + len += sysfs_emit_at(buf, len, "SUPPORTED_JBOD\n"); if (dev->supplement_adapter_info.supported_options2 & AAC_OPTION_POWER_MANAGEMENT) - len += scnprintf(buf + len, PAGE_SIZE - len, - "SUPPORTED_POWER_MANAGEMENT\n"); + len += sysfs_emit_at(buf, len, "SUPPORTED_POWER_MANAGEMENT\n"); if (dev->msi) - len += scnprintf(buf + len, PAGE_SIZE - len, "PCI_HAS_MSI\n"); + len += sysfs_emit_at(buf, len, "PCI_HAS_MSI\n"); return len; } @@ -1258,9 +1252,9 @@ static ssize_t aac_show_kernel_version(struct device *device, int len, tmp; tmp = le32_to_cpu(dev->adapter_info.kernelrev); - len = snprintf(buf, PAGE_SIZE, "%d.%d-%d[%d]\n", - tmp >> 24, (tmp >> 16) & 0xff, tmp & 0xff, - le32_to_cpu(dev->adapter_info.kernelbuild)); + len = sysfs_emit(buf, "%d.%d-%d[%d]\n", + tmp >> 24, (tmp >> 16) & 0xff, tmp & 0xff, + le32_to_cpu(dev->adapter_info.kernelbuild)); return len; } @@ -1272,9 +1266,9 @@ static ssize_t aac_show_monitor_version(struct device *device, int len, tmp; tmp = le32_to_cpu(dev->adapter_info.monitorrev); - len = snprintf(buf, PAGE_SIZE, "%d.%d-%d[%d]\n", - tmp >> 24, (tmp >> 16) & 0xff, tmp & 0xff, - le32_to_cpu(dev->adapter_info.monitorbuild)); + len = sysfs_emit(buf, "%d.%d-%d[%d]\n", + tmp >> 24, (tmp >> 16) & 0xff, tmp & 0xff, + le32_to_cpu(dev->adapter_info.monitorbuild)); return len; } @@ -1286,9 +1280,9 @@ static ssize_t aac_show_bios_version(struct device *device, int len, tmp; tmp = le32_to_cpu(dev->adapter_info.biosrev); - len = snprintf(buf, PAGE_SIZE, "%d.%d-%d[%d]\n", - tmp >> 24, (tmp >> 16) & 0xff, tmp & 0xff, - le32_to_cpu(dev->adapter_info.biosbuild)); + len = sysfs_emit(buf, "%d.%d-%d[%d]\n", + tmp >> 24, (tmp >> 16) & 0xff, tmp & 0xff, + le32_to_cpu(dev->adapter_info.biosbuild)); return len; } @@ -1296,7 +1290,7 @@ static ssize_t aac_show_driver_version(struct device *device, struct device_attribute *attr, char *buf) { - return snprintf(buf, PAGE_SIZE, "%s\n", aac_driver_version); + return sysfs_emit(buf, "%s\n", aac_driver_version); } static ssize_t aac_show_serial_number(struct device *device, @@ -1322,15 +1316,13 @@ static ssize_t aac_show_serial_number(struct device *device, static ssize_t aac_show_max_channel(struct device *device, struct device_attribute *attr, char *buf) { - return snprintf(buf, PAGE_SIZE, "%d\n", - class_to_shost(device)->max_channel); + return sysfs_emit(buf, "%d\n", class_to_shost(device)->max_channel); } static ssize_t aac_show_max_id(struct device *device, struct device_attribute *attr, char *buf) { - return snprintf(buf, PAGE_SIZE, "%d\n", - class_to_shost(device)->max_id); + return sysfs_emit(buf, "%d\n", class_to_shost(device)->max_id); } static ssize_t aac_store_reset_adapter(struct device *device, @@ -1360,7 +1352,7 @@ static ssize_t aac_show_reset_adapter(struct device *device, tmp = aac_adapter_check_health(dev); if ((tmp == 0) && dev->in_reset) tmp = -EBUSY; - len = snprintf(buf, PAGE_SIZE, "0x%x\n", tmp); + len = sysfs_emit(buf, "0x%x\n", tmp); return len; } From patchwork Tue Mar 19 06:31:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781296 Received: from esa4.hc1455-7.c3s2.iphmx.com (esa4.hc1455-7.c3s2.iphmx.com [68.232.139.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CCB29537FC; Tue, 19 Mar 2024 06:32:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=68.232.139.117 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829956; cv=none; b=czOfmgnDJbsi601T1DNuzWUDNGIhs3nu6YXa9of1eJrUfkuv6wf4nvjN2qaY3QOJwMwEwh4m1n243ZMosob5cLx/x0ik9C4HzLJLf/UCBFClR/upRe8zc+R5OHwldWZVpjpEbxcKUmqawEXG3aDP00lgBlp29+WsuDQnL4GY1/Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829956; c=relaxed/simple; bh=g/F/uSB80Kmdz2xmcZ9fhA6lsdgQP0M3skp+uddabjw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=q+zNO7BmQ8sYf/Rc8n0tKg7YT2oQ9H4OW8WgaygOLgdtadWnngtgZHMJ2sTdck7oOOASoL7CyasvDu54lbF3iElMaDKzcyB8l1JDe/r2pGT6l18G17J60wg8Krn7rXTmn6BZEa0lf4Pxwvr2fDYb66lAKX8EZO9mlhx6zny3Heg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=OakVmdOt; arc=none smtp.client-ip=68.232.139.117 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="OakVmdOt" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829954; x=1742365954; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=g/F/uSB80Kmdz2xmcZ9fhA6lsdgQP0M3skp+uddabjw=; b=OakVmdOteelyhTVYj+N8DiKtv96F4lbN+qIvWOEr9mBBuypCcQmBVHLb dWNuJLI8erE9DL2ZCsivQjkvQHaghft1fQ6xk6KI07Mvon2iAxj7OvZhz WN1QJS1bE59M8OcQj8fgddf32CvDfQumeUmYBvIO+LzueDon5NHCboR2B XICC3O7tbiOtnMvRmxpCbG2Z+GN3TSSl7gZNp+ec8hUB7xbeI0E1QGq2E vZi5hokg6lKi5mQKk/2anGpX5sT1gQM0VyEwO2wfVn9ZwHRDO/euwCp7m TFMW77Z3QApnM1KVV2Qa5aytqcJ5Ifm5DOmb5RyasRZbTW6svmLTsGAau w==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="152971378" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="152971378" Received: from unknown (HELO oym-r4.gw.nic.fujitsu.com) ([210.162.30.92]) by esa4.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:24 +0900 Received: from oym-m2.gw.nic.fujitsu.com (oym-nat-oym-m2.gw.nic.fujitsu.com [192.168.87.59]) by oym-r4.gw.nic.fujitsu.com (Postfix) with ESMTP id F167B141218; Tue, 19 Mar 2024 15:32:21 +0900 (JST) Received: from kws-ab3.gw.nic.fujitsu.com (kws-ab3.gw.nic.fujitsu.com [192.51.206.21]) by oym-m2.gw.nic.fujitsu.com (Postfix) with ESMTP id 310D9BF4B8; Tue, 19 Mar 2024 15:32:21 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab3.gw.nic.fujitsu.com (Postfix) with ESMTP id BE4C420093269; Tue, 19 Mar 2024 15:32:20 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id 4AE611A006D; Tue, 19 Mar 2024 14:32:20 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org Subject: [PATCH v2 02/25] scsi: aic94xx: Convert sprintf() family to sysfs_emit() family Date: Tue, 19 Mar 2024 14:31:09 +0800 Message-Id: <20240319063132.1588443-2-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--7.640100-10.000000 X-TMASE-MatchedRID: pfKaEBrCt3IbO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/iwxLjNbuPBWO0yVK/5LmcQiM ingSlKoKMx5HzfQifbPE41045MrHXFDCN/1eC4ASdVNZaI2n6/8E5XPQnBzGXq8KsbROd9VSArq oIZrVn15fzUkBpc0721RVFWxUguUH+0jQufZU6FIDCiwMF64/BEOqYpzM+g1kYiM67YVe6ChhBv WgZlX+84vM1YF6AJbbCCfuIMF6xLSAHAopEd76vphClXDiKKk8nzRrxP+Bp1zE3Xi452DCPieKR 5xnjQ+4nnWiTJUlIYg== X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/aic94xx/aic94xx_init.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/scsi/aic94xx/aic94xx_init.c b/drivers/scsi/aic94xx/aic94xx_init.c index 8a3340d8d7ad..39d1617834de 100644 --- a/drivers/scsi/aic94xx/aic94xx_init.c +++ b/drivers/scsi/aic94xx/aic94xx_init.c @@ -264,8 +264,7 @@ static ssize_t asd_show_dev_rev(struct device *dev, struct device_attribute *attr, char *buf) { struct asd_ha_struct *asd_ha = dev_to_asd_ha(dev); - return snprintf(buf, PAGE_SIZE, "%s\n", - asd_dev_rev[asd_ha->revision_id]); + return sysfs_emit(buf, "%s\n", asd_dev_rev[asd_ha->revision_id]); } static DEVICE_ATTR(aic_revision, S_IRUGO, asd_show_dev_rev, NULL); @@ -273,7 +272,7 @@ static ssize_t asd_show_dev_bios_build(struct device *dev, struct device_attribute *attr,char *buf) { struct asd_ha_struct *asd_ha = dev_to_asd_ha(dev); - return snprintf(buf, PAGE_SIZE, "%d\n", asd_ha->hw_prof.bios.bld); + return sysfs_emit(buf, "%d\n", asd_ha->hw_prof.bios.bld); } static DEVICE_ATTR(bios_build, S_IRUGO, asd_show_dev_bios_build, NULL); @@ -281,7 +280,7 @@ static ssize_t asd_show_dev_pcba_sn(struct device *dev, struct device_attribute *attr, char *buf) { struct asd_ha_struct *asd_ha = dev_to_asd_ha(dev); - return snprintf(buf, PAGE_SIZE, "%s\n", asd_ha->hw_prof.pcba_sn); + return sysfs_emit(buf, "%s\n", asd_ha->hw_prof.pcba_sn); } static DEVICE_ATTR(pcba_sn, S_IRUGO, asd_show_dev_pcba_sn, NULL); @@ -452,9 +451,9 @@ static ssize_t asd_show_update_bios(struct device *dev, if (asd_ha->bios_status != FLASH_IN_PROGRESS) asd_ha->bios_status = FLASH_OK; - return snprintf(buf, PAGE_SIZE, "status=%x %s\n", - flash_error_table[i].err_code, - flash_error_table[i].reason); + return sysfs_emit(buf, "status=%x %s\n", + flash_error_table[i].err_code, + flash_error_table[i].reason); } static DEVICE_ATTR(update_bios, S_IRUGO|S_IWUSR, From patchwork Tue Mar 19 06:31:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781468 Received: from esa7.hc1455-7.c3s2.iphmx.com (esa7.hc1455-7.c3s2.iphmx.com [139.138.61.252]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C13A851C36; Tue, 19 Mar 2024 06:33:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=139.138.61.252 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710830018; cv=none; b=DT7C4zyqAyV3c62Xpn6AkweJt4Kuy/wcAgbZvwaqH/ZMVV72OAIzUEPzEPJ0ed+P4piodr0pS4kgXN+XKdwDVTGIbH4KH9aGA7YlrhXHqZzpvhCLP1gD03uUHddmiLXjoVa/yhXJ6uY08s18DfP0gbwNNL+/xe+bZEEMxIHgpBk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710830018; c=relaxed/simple; bh=3fjkbwm+GFV0zHVgXSIa+B2drODRTgvxYFA/fjRfZIY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Ra1ZdydvPWPKG9QFA5cqTxCF2rN2N4N+LBp/9w5xEUOEcU1HD+zK0aLmBbBZcsDdf8yfqfCN/WZ/fsFN1QfbU/yHmU2Ai5bfRfFK60F5Rlby5+PV9kwofr2C5a/iod1QjzEJbyZwx8FrNLJRNd8ZK4XALbI9GcPEHke9co1G/uM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=Zl35M1oK; arc=none smtp.client-ip=139.138.61.252 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="Zl35M1oK" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710830015; x=1742366015; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=3fjkbwm+GFV0zHVgXSIa+B2drODRTgvxYFA/fjRfZIY=; b=Zl35M1oK6JmuNgiKVn5BAhMvjsuzGi/7ZNI3nlXlDP2n0lyy37rmURYx y64nYDd71dN/cpINuLbCGr27529tJSpgsUVY7PNe6bi69OOvObhen71aD O8UlOGTLddFpfp0/on+yTjWCb2MCoIPYITL1XOis+z7XJuPQE1hffDraa 25+aROxXdZz8WBWWctZs4Dk22zKPGDw2EJ3wgX7d+3GwX3bNwmtkgLPQd X1H4wRSWD1YSKTl31UUF2OGQkd9cbWPDFnt06/MeDf+ecjyrcgZ5YPcyn yZzCKzWBxEk0snjIv/10qUP8whBgbuHMu5wE/HX/PoZH+L7o6beh9w1fG g==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="131490898" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="131490898" Received: from unknown (HELO yto-r2.gw.nic.fujitsu.com) ([218.44.52.218]) by esa7.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:24 +0900 Received: from yto-m4.gw.nic.fujitsu.com (yto-nat-yto-m4.gw.nic.fujitsu.com [192.168.83.67]) by yto-r2.gw.nic.fujitsu.com (Postfix) with ESMTP id 39084C6814; Tue, 19 Mar 2024 15:32:22 +0900 (JST) Received: from kws-ab4.gw.nic.fujitsu.com (kws-ab4.gw.nic.fujitsu.com [192.51.206.22]) by yto-m4.gw.nic.fujitsu.com (Postfix) with ESMTP id 75891D7B8E; Tue, 19 Mar 2024 15:32:21 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab4.gw.nic.fujitsu.com (Postfix) with ESMTP id 0E5C7228824; Tue, 19 Mar 2024 15:32:21 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id 917DA1A006E; Tue, 19 Mar 2024 14:32:20 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org Subject: [PATCH v2 03/25] scsi: arcmsr: Convert sprintf() family to sysfs_emit() family Date: Tue, 19 Mar 2024 14:31:10 +0800 Message-Id: <20240319063132.1588443-3-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--11.184600-10.000000 X-TMASE-MatchedRID: yLHOPqhdQyUbO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/iwxLjNbuPBWO0yVK/5LmcQiM ingSlKoKMx5HzfQifbPE41045MrHXFDCN/1eC4ASdVNZaI2n6/8E5XPQnBzGXq8KsbROd9VSD3F 7iC1Qm2iWQSYYFGzuMEi2pD9yuITpE/E3DK2t5CrNE9DxPih7lWQ3R4k5PTnAN76LiU8zntm9FC Qm2VpcRrmwoem/bBUiEVUa6bapFqJH0YXYnbGozFEUknJ/kEl7dB/CxWTRRu25FeHtsUoHuUoKW kqZNnE74Q9Cm69pQ6j+lD9KVs8ryIfUnPwjOTEo2RRIMOrvjaQ== X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/arcmsr/arcmsr_attr.c | 40 ++++++++----------------------- 1 file changed, 10 insertions(+), 30 deletions(-) diff --git a/drivers/scsi/arcmsr/arcmsr_attr.c b/drivers/scsi/arcmsr/arcmsr_attr.c index baeb5e795690..3dfbe771e8b9 100644 --- a/drivers/scsi/arcmsr/arcmsr_attr.c +++ b/drivers/scsi/arcmsr/arcmsr_attr.c @@ -258,9 +258,7 @@ static ssize_t arcmsr_attr_host_driver_version(struct device *dev, struct device_attribute *attr, char *buf) { - return snprintf(buf, PAGE_SIZE, - "%s\n", - ARCMSR_DRIVER_VERSION); + return sysfs_emit(buf, "%s\n", ARCMSR_DRIVER_VERSION); } static ssize_t @@ -270,9 +268,7 @@ arcmsr_attr_host_driver_posted_cmd(struct device *dev, struct Scsi_Host *host = class_to_shost(dev); struct AdapterControlBlock *acb = (struct AdapterControlBlock *) host->hostdata; - return snprintf(buf, PAGE_SIZE, - "%4d\n", - atomic_read(&acb->ccboutstandingcount)); + return sysfs_emit(buf, "%4d\n", atomic_read(&acb->ccboutstandingcount)); } static ssize_t @@ -282,9 +278,7 @@ arcmsr_attr_host_driver_reset(struct device *dev, struct Scsi_Host *host = class_to_shost(dev); struct AdapterControlBlock *acb = (struct AdapterControlBlock *) host->hostdata; - return snprintf(buf, PAGE_SIZE, - "%4d\n", - acb->num_resets); + return sysfs_emit(buf, "%4d\n", acb->num_resets); } static ssize_t @@ -294,9 +288,7 @@ arcmsr_attr_host_driver_abort(struct device *dev, struct Scsi_Host *host = class_to_shost(dev); struct AdapterControlBlock *acb = (struct AdapterControlBlock *) host->hostdata; - return snprintf(buf, PAGE_SIZE, - "%4d\n", - acb->num_aborts); + return sysfs_emit(buf, "%4d\n", acb->num_aborts); } static ssize_t @@ -306,9 +298,7 @@ arcmsr_attr_host_fw_model(struct device *dev, struct device_attribute *attr, struct Scsi_Host *host = class_to_shost(dev); struct AdapterControlBlock *acb = (struct AdapterControlBlock *) host->hostdata; - return snprintf(buf, PAGE_SIZE, - "%s\n", - acb->firm_model); + return sysfs_emit(buf, "%s\n", acb->firm_model); } static ssize_t @@ -319,9 +309,7 @@ arcmsr_attr_host_fw_version(struct device *dev, struct AdapterControlBlock *acb = (struct AdapterControlBlock *) host->hostdata; - return snprintf(buf, PAGE_SIZE, - "%s\n", - acb->firm_version); + return sysfs_emit(buf, "%s\n", acb->firm_version); } static ssize_t @@ -332,9 +320,7 @@ arcmsr_attr_host_fw_request_len(struct device *dev, struct AdapterControlBlock *acb = (struct AdapterControlBlock *) host->hostdata; - return snprintf(buf, PAGE_SIZE, - "%4d\n", - acb->firm_request_len); + return sysfs_emit(buf, "%4d\n", acb->firm_request_len); } static ssize_t @@ -345,9 +331,7 @@ arcmsr_attr_host_fw_numbers_queue(struct device *dev, struct AdapterControlBlock *acb = (struct AdapterControlBlock *) host->hostdata; - return snprintf(buf, PAGE_SIZE, - "%4d\n", - acb->firm_numbers_queue); + return sysfs_emit(buf, "%4d\n", acb->firm_numbers_queue); } static ssize_t @@ -358,9 +342,7 @@ arcmsr_attr_host_fw_sdram_size(struct device *dev, struct AdapterControlBlock *acb = (struct AdapterControlBlock *) host->hostdata; - return snprintf(buf, PAGE_SIZE, - "%4d\n", - acb->firm_sdram_size); + return sysfs_emit(buf, "%4d\n", acb->firm_sdram_size); } static ssize_t @@ -371,9 +353,7 @@ arcmsr_attr_host_fw_hd_channels(struct device *dev, struct AdapterControlBlock *acb = (struct AdapterControlBlock *) host->hostdata; - return snprintf(buf, PAGE_SIZE, - "%4d\n", - acb->firm_hd_channels); + return sysfs_emit(buf, "%4d\n", acb->firm_hd_channels); } static DEVICE_ATTR(host_driver_version, S_IRUGO, arcmsr_attr_host_driver_version, NULL); From patchwork Tue Mar 19 06:31:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781302 Received: from esa2.hc1455-7.c3s2.iphmx.com (esa2.hc1455-7.c3s2.iphmx.com [207.54.90.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C2AA62CAB; Tue, 19 Mar 2024 06:32:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=207.54.90.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829950; cv=none; b=ZzUvhRxEpB5hoADS8RoSEQtOSD8vnRJHxo5jtembuZe6xOolT7fsmzZUamHc3yCeblYOStzpsSIPhz+Q/blfO3R1pRhexf2pxzZa+HpSFR7ZXwyyDAVxdAfccs5/NC4V+7t9gwzyaSFbcCMLZQlUlFc5wc7F3iZRvtC3+2CsKoM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829950; c=relaxed/simple; bh=qEfLqdJeT2Gpt9qf+K4ddERyTTfpjjSSEO6EwWF7Fl4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=gZHi4wskOOLCFIuOYNpA/TfJoDN6NcFhPQdlobRogSKc6PvDRUuijPVvM1Rf1UgUSS79T0hept73P/OaRdHNnDeJkFcYfhqPsjf3zhAxjxAcDk6sUcc0YU/wVpfExvLmoFcQtGSduQ0cr/IzOh4Y5amNJLFWXUS3DudnvAXmnJE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=scOO9/Fb; arc=none smtp.client-ip=207.54.90.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="scOO9/Fb" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829949; x=1742365949; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=qEfLqdJeT2Gpt9qf+K4ddERyTTfpjjSSEO6EwWF7Fl4=; b=scOO9/FbVC+jGdaJO0E9jtMCl5NvVobZw60pAxENZgdCjNvwsD6w9rez ygyVIxOYqSwtB3h9Y6xwwWenE4hEStDebwvdubvasC5BmcMC60qitrIjR r/m3JxjTW1oV5iVhC7yAObev5etPxCGgXoEK4XurBiMcrrAFu4R7aEydg 3ovwvvir83GXmWXIHX7LvcdYi0z+6hH0FGPOTomRc6nIr121Sn80yxj3t yem7DPX5yYZTBQAXKe6J7Z3sspJaEzkVqpuo+H+5yFdzfhLGeI7+1iu/p yFl9rPkYSMOMhsliIVl/36FNKqsn1u6ZAepNEuh5X7H619lH+xPZ0lHQ3 A==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="152728470" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="152728470" Received: from unknown (HELO oym-r3.gw.nic.fujitsu.com) ([210.162.30.91]) by esa2.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:25 +0900 Received: from oym-m2.gw.nic.fujitsu.com (oym-nat-oym-m2.gw.nic.fujitsu.com [192.168.87.59]) by oym-r3.gw.nic.fujitsu.com (Postfix) with ESMTP id A6467C21AA; Tue, 19 Mar 2024 15:32:22 +0900 (JST) Received: from kws-ab4.gw.nic.fujitsu.com (kws-ab4.gw.nic.fujitsu.com [192.51.206.22]) by oym-m2.gw.nic.fujitsu.com (Postfix) with ESMTP id D457BBF4B8; Tue, 19 Mar 2024 15:32:21 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab4.gw.nic.fujitsu.com (Postfix) with ESMTP id 6B970227ABA; Tue, 19 Mar 2024 15:32:21 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id D73171A006B; Tue, 19 Mar 2024 14:32:20 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , Ketan Mukadam , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org Subject: [PATCH v2 04/25] scsi: be2iscsi: Convert sprintf() family to sysfs_emit() family Date: Tue, 19 Mar 2024 14:31:11 +0800 Message-Id: <20240319063132.1588443-4-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--13.790600-10.000000 X-TMASE-MatchedRID: IVNJzyZeXh4bO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/iwxLjNbuPBWO0yVK/5LmcQiM ingSlKoKMx5HzfQifbPE41045MrHXFDCN/1eC4ASdVNZaI2n6/8E5XPQnBzGXq8KsbROd9VSArq oIZrVn15fzUkBpc072yMN2dG5I164tNVV5XI3AlKrxFQMz0ixcnGHnXg+7RhleGZa58oEXZMDDF OyfVeOuNEF4KUzfJuJtF7TiMxHpjVR40HmL/vatdo0n+JPFcJp9LQinZ4QefJOK2Na/r7MIF70J Bot7Y8+OhzOa6g8KrT3S35z9KvuQfgg1QRAVfi7hmLgtHa1C3yNbJDfyNQDOblWKG7Tq1kw= X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: Ketan Mukadam CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/be2iscsi/be_mgmt.c | 36 ++++++++++++++++----------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/drivers/scsi/be2iscsi/be_mgmt.c b/drivers/scsi/be2iscsi/be_mgmt.c index 4e899ec1477d..4174e71932a6 100644 --- a/drivers/scsi/be2iscsi/be_mgmt.c +++ b/drivers/scsi/be2iscsi/be_mgmt.c @@ -1142,7 +1142,7 @@ ssize_t beiscsi_drvr_ver_disp(struct device *dev, struct device_attribute *attr, char *buf) { - return snprintf(buf, PAGE_SIZE, BE_NAME "\n"); + return sysfs_emit(buf, BE_NAME "\n"); } /** @@ -1161,7 +1161,7 @@ beiscsi_fw_ver_disp(struct device *dev, struct device_attribute *attr, struct Scsi_Host *shost = class_to_shost(dev); struct beiscsi_hba *phba = iscsi_host_priv(shost); - return snprintf(buf, PAGE_SIZE, "%s\n", phba->fw_ver_str); + return sysfs_emit(buf, "%s\n", phba->fw_ver_str); } /** @@ -1185,12 +1185,11 @@ beiscsi_active_session_disp(struct device *dev, struct device_attribute *attr, if (test_bit(ulp_num, (void *)&phba->fw_config.ulp_supported)) { avlbl_cids = BEISCSI_ULP_AVLBL_CID(phba, ulp_num); total_cids = BEISCSI_GET_CID_COUNT(phba, ulp_num); - len += scnprintf(buf+len, PAGE_SIZE - len, - "ULP%d : %d\n", ulp_num, - (total_cids - avlbl_cids)); + len += sysfs_emit_at(buf, len, "ULP%d : %d\n", ulp_num, + (total_cids - avlbl_cids)); } else - len += scnprintf(buf+len, PAGE_SIZE - len, - "ULP%d : %d\n", ulp_num, 0); + len += sysfs_emit_at(buf, len, "ULP%d : %d\n", ulp_num, + 0); } return len; @@ -1215,12 +1214,11 @@ beiscsi_free_session_disp(struct device *dev, struct device_attribute *attr, for (ulp_num = 0; ulp_num < BEISCSI_ULP_COUNT; ulp_num++) { if (test_bit(ulp_num, (void *)&phba->fw_config.ulp_supported)) - len += scnprintf(buf+len, PAGE_SIZE - len, - "ULP%d : %d\n", ulp_num, + len += sysfs_emit_at(buf, len, "ULP%d : %d\n", ulp_num, BEISCSI_ULP_AVLBL_CID(phba, ulp_num)); else - len += scnprintf(buf+len, PAGE_SIZE - len, - "ULP%d : %d\n", ulp_num, 0); + len += sysfs_emit_at(buf, len, "ULP%d : %d\n", ulp_num, + 0); } return len; @@ -1248,16 +1246,16 @@ beiscsi_adap_family_disp(struct device *dev, struct device_attribute *attr, case BE_DEVICE_ID1: case OC_DEVICE_ID1: case OC_DEVICE_ID2: - return snprintf(buf, PAGE_SIZE, - "Obsolete/Unsupported BE2 Adapter Family\n"); + return sysfs_emit(buf, + "Obsolete/Unsupported BE2 Adapter Family\n"); case BE_DEVICE_ID2: case OC_DEVICE_ID3: - return snprintf(buf, PAGE_SIZE, "BE3-R Adapter Family\n"); + return sysfs_emit(buf, "BE3-R Adapter Family\n"); case OC_SKH_ID1: - return snprintf(buf, PAGE_SIZE, "Skyhawk-R Adapter Family\n"); + return sysfs_emit(buf, "Skyhawk-R Adapter Family\n"); default: - return snprintf(buf, PAGE_SIZE, - "Unknown Adapter Family: 0x%x\n", dev_id); + return sysfs_emit(buf, "Unknown Adapter Family: 0x%x\n", + dev_id); } } @@ -1277,8 +1275,8 @@ beiscsi_phys_port_disp(struct device *dev, struct device_attribute *attr, struct Scsi_Host *shost = class_to_shost(dev); struct beiscsi_hba *phba = iscsi_host_priv(shost); - return snprintf(buf, PAGE_SIZE, "Port Identifier : %u\n", - phba->fw_config.phys_port); + return sysfs_emit(buf, "Port Identifier : %u\n", + phba->fw_config.phys_port); } void beiscsi_offload_cxn_v0(struct beiscsi_offload_params *params, From patchwork Tue Mar 19 06:31:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781479 Received: from esa10.hc1455-7.c3s2.iphmx.com (esa10.hc1455-7.c3s2.iphmx.com [139.138.36.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A05861F170; Tue, 19 Mar 2024 06:32:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=139.138.36.225 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829951; cv=none; b=CGYygn46Sm9yPEJkc+b/FfB4S+s0zqetNHe/eb2PlZoXPWaJ1KwqaGJCnIlQb0TKCKBjsB94aKLe71ZpO3yqTXolS7cdt6RTdSmEp/qDm961lQpDXunVKHDXmlXuDyl8Q1slztb4eOTzH4THRwGUeHmqcxDTuXPvPa3LzZi8bbs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829951; c=relaxed/simple; bh=cXgjOpRTH/Gf/wlA+buzu3DapYAx2JRRGvALX/7RB0k=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=A4oYwLtckqEf2Lw1TYpcDSD/+KqJorWFOm+MCBxVTrN1AVhmmjFe+W5o5MIoqQ2UaYZtG6TATBnid25z3gs+7Zt4G59nBH+JhubHVQ82pMWrXwLURb6zBZpRwmpGtDUVQ4qAuCPpdGRGjAUrrAYOpTle/tfZt8E9im6gbZEdVpo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=gmxL1uYd; arc=none smtp.client-ip=139.138.36.225 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="gmxL1uYd" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829948; x=1742365948; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=cXgjOpRTH/Gf/wlA+buzu3DapYAx2JRRGvALX/7RB0k=; b=gmxL1uYd+/oA2mcJ77q0Cek3fWUDbmi6EA+ERw6+p+C/rHMjb7Bf/Yx2 3PfNaSOWMbAQSjZafJDq4HFmlqUF4bndVm5A8v3nUVHmiSKeWu9zMxexl QF6HS8sc1/sIXb/JjEjqCeyX6YKQpRFjF9fbyxOEjOAciBajsnISlaT0F y48x2MV/XsJw+aDlrABtXHnmLODB5ZtfZfbe10/i5IIdO5K4NBljGbUOq hlzo8hys2Glr6QRaj4q32Qs900c9MVs2n3IFYQfD2IAAMwYzGd6Yxz4EY XKn/5r0PbcLAGSC4Ig3W2XIjEswv1GaoyRQ7CdP84gYL4m/peafxuKFZw A==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="140310354" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="140310354" Received: from unknown (HELO oym-r2.gw.nic.fujitsu.com) ([210.162.30.90]) by esa10.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:25 +0900 Received: from oym-m1.gw.nic.fujitsu.com (oym-nat-oym-m1.gw.nic.fujitsu.com [192.168.87.58]) by oym-r2.gw.nic.fujitsu.com (Postfix) with ESMTP id 170AF74406; Tue, 19 Mar 2024 15:32:23 +0900 (JST) Received: from kws-ab4.gw.nic.fujitsu.com (kws-ab4.gw.nic.fujitsu.com [192.51.206.22]) by oym-m1.gw.nic.fujitsu.com (Postfix) with ESMTP id 38FF2FD7B4; Tue, 19 Mar 2024 15:32:22 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab4.gw.nic.fujitsu.com (Postfix) with ESMTP id C8551228901; Tue, 19 Mar 2024 15:32:21 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id 40D991A006D; Tue, 19 Mar 2024 14:32:21 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , Hannes Reinecke , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org Subject: [PATCH v2 05/25] scsi: fcoe: Convert sprintf() family to sysfs_emit() family (part 1) Date: Tue, 19 Mar 2024 14:31:12 +0800 Message-Id: <20240319063132.1588443-5-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--9.666600-10.000000 X-TMASE-MatchedRID: LFhZ4D3QpawbO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/iwxLjNbuPBWO0yVK/5LmcQiM ingSlKoKMx5HzfQifbPE41045MrHXFDCN/1eC4ASdVNZaI2n6/8E5XPQnBzGXq8KsbROd9VTZ3y a1EhGxQ6/vNCEa2eMJuuSjDL80UMtMGF0Ua9spp3nlGDzIJIlrrzl8sNiWClKbKItl61J/yZ+in TK0bC9eKrauXd3MZDVENTKcqcJOav1crJUg+575oSFJUbkv+osNACfYu+hJ0JM3m/fUGS6q X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: Hannes Reinecke CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/fcoe/fcoe_sysfs.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/drivers/scsi/fcoe/fcoe_sysfs.c b/drivers/scsi/fcoe/fcoe_sysfs.c index 453665ac6020..46a2f7f0669f 100644 --- a/drivers/scsi/fcoe/fcoe_sysfs.c +++ b/drivers/scsi/fcoe/fcoe_sysfs.c @@ -228,7 +228,6 @@ static char *fcf_state_names[] = { [ FCOE_FCF_STATE_CONNECTED ] = "Connected", }; fcoe_enum_name_search(fcf_state, fcf_state, fcf_state_names) -#define FCOE_FCF_STATE_MAX_NAMELEN 50 static ssize_t show_fcf_state(struct device *dev, struct device_attribute *attr, @@ -239,7 +238,7 @@ static ssize_t show_fcf_state(struct device *dev, name = get_fcoe_fcf_state_name(fcf->state); if (!name) return -EINVAL; - return snprintf(buf, FCOE_FCF_STATE_MAX_NAMELEN, "%s\n", name); + return sysfs_emit(buf, "%s\n", name); } static FCOE_DEVICE_ATTR(fcf, state, S_IRUGO, show_fcf_state, NULL); @@ -254,8 +253,7 @@ static ssize_t show_ctlr_mode(struct device *dev, name = get_fcoe_ctlr_mode_name(ctlr->mode); if (!name) return -EINVAL; - return snprintf(buf, FCOE_MAX_MODENAME_LEN, - "%s\n", name); + return sysfs_emit(buf, "%s\n", name); } static ssize_t store_ctlr_mode(struct device *dev, @@ -345,7 +343,6 @@ static char *ctlr_enabled_state_names[] = { }; fcoe_enum_name_search(ctlr_enabled_state, ctlr_enabled_state, ctlr_enabled_state_names) -#define FCOE_CTLR_ENABLED_MAX_NAMELEN 50 static ssize_t show_ctlr_enabled_state(struct device *dev, struct device_attribute *attr, @@ -357,8 +354,7 @@ static ssize_t show_ctlr_enabled_state(struct device *dev, name = get_fcoe_ctlr_enabled_state_name(ctlr->enabled); if (!name) return -EINVAL; - return snprintf(buf, FCOE_CTLR_ENABLED_MAX_NAMELEN, - "%s\n", name); + return sysfs_emit(buf, "%s\n", name); } static FCOE_DEVICE_ATTR(ctlr, enabled, S_IRUGO | S_IWUSR, @@ -396,7 +392,7 @@ static ssize_t show_ctlr_fip_resp(struct device *dev, struct fcoe_ctlr_device *ctlr = dev_to_ctlr(dev); struct fcoe_ctlr *fip = fcoe_ctlr_device_priv(ctlr); - return sprintf(buf, "%d\n", fip->fip_resp ? 1 : 0); + return sysfs_emit(buf, "%d\n", fip->fip_resp ? 1 : 0); } static FCOE_DEVICE_ATTR(ctlr, fip_vlan_responder, S_IRUGO | S_IWUSR, @@ -439,7 +435,7 @@ static ssize_t show_ctlr_r_a_tov(struct device *dev, struct fcoe_ctlr_device *ctlr_dev = dev_to_ctlr(dev); struct fcoe_ctlr *ctlr = fcoe_ctlr_device_priv(ctlr_dev); - return sprintf(buf, "%d\n", ctlr->lp->r_a_tov); + return sysfs_emit(buf, "%d\n", ctlr->lp->r_a_tov); } static FCOE_DEVICE_ATTR(ctlr, r_a_tov, S_IRUGO | S_IWUSR, @@ -466,7 +462,7 @@ static ssize_t show_ctlr_e_d_tov(struct device *dev, struct fcoe_ctlr_device *ctlr_dev = dev_to_ctlr(dev); struct fcoe_ctlr *ctlr = fcoe_ctlr_device_priv(ctlr_dev); - return sprintf(buf, "%d\n", ctlr->lp->e_d_tov); + return sysfs_emit(buf, "%d\n", ctlr->lp->e_d_tov); } static FCOE_DEVICE_ATTR(ctlr, e_d_tov, S_IRUGO | S_IWUSR, From patchwork Tue Mar 19 06:31:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781471 Received: from esa4.hc1455-7.c3s2.iphmx.com (esa4.hc1455-7.c3s2.iphmx.com [68.232.139.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 176447CF39; Tue, 19 Mar 2024 06:32:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=68.232.139.117 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829959; cv=none; b=XFJW+JSJWrjpjlt1rjGZtsAKv0DzGXk0EEqZHXpeUDOMHuBBex7bk/PEKljXDBAdIWSQOrv5fPYLy6OQNpbY4zs45c6vEWq94y1/XrFub4en7PGotIBS+rlI2EmQP8cjVhUCEcqHo1apdPEsObp979EIc+Vxc6ldWpQ1sbnKVNA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829959; c=relaxed/simple; bh=IbSVMgZx41kP9mucdGRkZ+TwMkWR19uh07az1NIR6E0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=AZNWG1PX2PX/BInT4pxm6vAi28NYaRtohglxDhFccnEHwLO3bQvvcdPj0MIh+nPTTKC2gxlJh+8GBHw0xR2rQuOTW6Y00EfcM08aI0VW/mz4sM1TDn+nBMqQB9ofIl0k6lCagoLx5cxDkVokOwJJoZ67nj6QnGDERoX6Sn2NNRY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=kgMSsekE; arc=none smtp.client-ip=68.232.139.117 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="kgMSsekE" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829957; x=1742365957; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=IbSVMgZx41kP9mucdGRkZ+TwMkWR19uh07az1NIR6E0=; b=kgMSsekE9Mz8JC8Q8PDCaCpy+eTdYdtNNneBPMrSxBwhMVfw8d2BF74F A/0COCh9uZaeAlrZZNzIYyw9hNlsznVgspUrMoOWZAgt/z9IN6tSAYTsZ LwWjRMw+ruTYPH9FS9LG5P2xwMyRvR7pbdklRi7RTRmGCbgFxr5T1nyMl YOhRR4uC8SmyaEuhljlqss1TfkBquHv8fcB3KsyBeEzsdYzesEEjBBn5I FYuKUu/FS9UylxDiIJMouexLEun/NJ2ehzfVyyt5yM0wHnVWu+tdmm31Y V9nu+zlaXO/9viHDA7vuWH0fFXjGAx0F4WV6dPHQcvBJtQfZ+LWUo+n2n A==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="152971383" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="152971383" Received: from unknown (HELO oym-r1.gw.nic.fujitsu.com) ([210.162.30.89]) by esa4.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:25 +0900 Received: from oym-m2.gw.nic.fujitsu.com (oym-nat-oym-m2.gw.nic.fujitsu.com [192.168.87.59]) by oym-r1.gw.nic.fujitsu.com (Postfix) with ESMTP id 64992D4800; Tue, 19 Mar 2024 15:32:23 +0900 (JST) Received: from kws-ab4.gw.nic.fujitsu.com (kws-ab4.gw.nic.fujitsu.com [192.51.206.22]) by oym-m2.gw.nic.fujitsu.com (Postfix) with ESMTP id 84366BF4B8; Tue, 19 Mar 2024 15:32:22 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab4.gw.nic.fujitsu.com (Postfix) with ESMTP id 156AC2288DF; Tue, 19 Mar 2024 15:32:22 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id 9FEB21A006E; Tue, 19 Mar 2024 14:32:21 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org Subject: [PATCH v2 06/25] scsi: fcoe: Convert sprintf() family to sysfs_emit() family (part 2) Date: Tue, 19 Mar 2024 14:31:13 +0800 Message-Id: <20240319063132.1588443-6-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--9.144400-10.000000 X-TMASE-MatchedRID: pfKaEBrCt3IbO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/iwxLjNbuPBWO0yVK/5LmcQiM ingSlKoKMx5HzfQifbPE41045MrHXFDCN/1eC4ASdVNZaI2n6/8E5XPQnBzGXq8KsbROd9VSArq oIZrVn10Bh0sVevfs+KARHumklBHdgNUdcYnHhO869emDs42ddJ1hCPLkD1Z0elQy/uI/kRRhBv WgZlX+84vM1YF6AJbbCCfuIMF6xLSAHAopEd76vDgB4GwJOR3Dpx/3g93ShNJLNK9Jps9Vaf+w/ hpgGsH/X1yytYt1jVw== X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 This focuses on abused cases in macros 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/fcoe/fcoe_sysfs.c | 82 +++++++++++++++++----------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/drivers/scsi/fcoe/fcoe_sysfs.c b/drivers/scsi/fcoe/fcoe_sysfs.c index 46a2f7f0669f..2baa1d6456fc 100644 --- a/drivers/scsi/fcoe/fcoe_sysfs.c +++ b/drivers/scsi/fcoe/fcoe_sysfs.c @@ -134,7 +134,7 @@ static int fcoe_fcf_set_dev_loss_tmo(struct fcoe_fcf_device *fcf, struct device_attribute device_attr_fcoe_##_prefix##_##_name = \ __ATTR(_name, _mode, _show, _store) -#define fcoe_ctlr_show_function(field, format_string, sz, cast) \ +#define fcoe_ctlr_show_function(field, format_string, cast) \ static ssize_t show_fcoe_ctlr_device_##field(struct device *dev, \ struct device_attribute *attr, \ char *buf) \ @@ -142,11 +142,11 @@ static ssize_t show_fcoe_ctlr_device_##field(struct device *dev, \ struct fcoe_ctlr_device *ctlr = dev_to_ctlr(dev); \ if (ctlr->f->get_fcoe_ctlr_##field) \ ctlr->f->get_fcoe_ctlr_##field(ctlr); \ - return snprintf(buf, sz, format_string, \ - cast fcoe_ctlr_##field(ctlr)); \ + return sysfs_emit(buf, format_string, \ + cast fcoe_ctlr_##field(ctlr)); \ } -#define fcoe_fcf_show_function(field, format_string, sz, cast) \ +#define fcoe_fcf_show_function(field, format_string, cast) \ static ssize_t show_fcoe_fcf_device_##field(struct device *dev, \ struct device_attribute *attr, \ char *buf) \ @@ -155,55 +155,55 @@ static ssize_t show_fcoe_fcf_device_##field(struct device *dev, \ struct fcoe_ctlr_device *ctlr = fcoe_fcf_dev_to_ctlr_dev(fcf); \ if (ctlr->f->get_fcoe_fcf_##field) \ ctlr->f->get_fcoe_fcf_##field(fcf); \ - return snprintf(buf, sz, format_string, \ - cast fcoe_fcf_##field(fcf)); \ + return sysfs_emit(buf, format_string, \ + cast fcoe_fcf_##field(fcf)); \ } -#define fcoe_ctlr_private_show_function(field, format_string, sz, cast) \ +#define fcoe_ctlr_private_show_function(field, format_string, cast) \ static ssize_t show_fcoe_ctlr_device_##field(struct device *dev, \ struct device_attribute *attr, \ char *buf) \ { \ struct fcoe_ctlr_device *ctlr = dev_to_ctlr(dev); \ - return snprintf(buf, sz, format_string, cast fcoe_ctlr_##field(ctlr)); \ + return sysfs_emit(buf, format_string, cast fcoe_ctlr_##field(ctlr)); \ } -#define fcoe_fcf_private_show_function(field, format_string, sz, cast) \ +#define fcoe_fcf_private_show_function(field, format_string, cast) \ static ssize_t show_fcoe_fcf_device_##field(struct device *dev, \ struct device_attribute *attr, \ char *buf) \ { \ struct fcoe_fcf_device *fcf = dev_to_fcf(dev); \ - return snprintf(buf, sz, format_string, cast fcoe_fcf_##field(fcf)); \ + return sysfs_emit(buf, format_string, cast fcoe_fcf_##field(fcf)); \ } -#define fcoe_ctlr_private_rd_attr(field, format_string, sz) \ - fcoe_ctlr_private_show_function(field, format_string, sz, ) \ +#define fcoe_ctlr_private_rd_attr(field, format_string) \ + fcoe_ctlr_private_show_function(field, format_string, ) \ static FCOE_DEVICE_ATTR(ctlr, field, S_IRUGO, \ show_fcoe_ctlr_device_##field, NULL) -#define fcoe_ctlr_rd_attr(field, format_string, sz) \ - fcoe_ctlr_show_function(field, format_string, sz, ) \ +#define fcoe_ctlr_rd_attr(field, format_string) \ + fcoe_ctlr_show_function(field, format_string, ) \ static FCOE_DEVICE_ATTR(ctlr, field, S_IRUGO, \ show_fcoe_ctlr_device_##field, NULL) -#define fcoe_fcf_rd_attr(field, format_string, sz) \ - fcoe_fcf_show_function(field, format_string, sz, ) \ +#define fcoe_fcf_rd_attr(field, format_string) \ + fcoe_fcf_show_function(field, format_string, ) \ static FCOE_DEVICE_ATTR(fcf, field, S_IRUGO, \ show_fcoe_fcf_device_##field, NULL) -#define fcoe_fcf_private_rd_attr(field, format_string, sz) \ - fcoe_fcf_private_show_function(field, format_string, sz, ) \ +#define fcoe_fcf_private_rd_attr(field, format_string) \ + fcoe_fcf_private_show_function(field, format_string, ) \ static FCOE_DEVICE_ATTR(fcf, field, S_IRUGO, \ show_fcoe_fcf_device_##field, NULL) -#define fcoe_ctlr_private_rd_attr_cast(field, format_string, sz, cast) \ - fcoe_ctlr_private_show_function(field, format_string, sz, (cast)) \ +#define fcoe_ctlr_private_rd_attr_cast(field, format_string, cast) \ + fcoe_ctlr_private_show_function(field, format_string, (cast)) \ static FCOE_DEVICE_ATTR(ctlr, field, S_IRUGO, \ show_fcoe_ctlr_device_##field, NULL) -#define fcoe_fcf_private_rd_attr_cast(field, format_string, sz, cast) \ - fcoe_fcf_private_show_function(field, format_string, sz, (cast)) \ +#define fcoe_fcf_private_rd_attr_cast(field, format_string, cast) \ + fcoe_fcf_private_show_function(field, format_string, (cast)) \ static FCOE_DEVICE_ATTR(fcf, field, S_IRUGO, \ show_fcoe_fcf_device_##field, NULL) @@ -489,30 +489,30 @@ store_private_fcoe_ctlr_fcf_dev_loss_tmo(struct device *dev, mutex_unlock(&ctlr->lock); return count; } -fcoe_ctlr_private_show_function(fcf_dev_loss_tmo, "%d\n", 20, ); +fcoe_ctlr_private_show_function(fcf_dev_loss_tmo, "%d\n", ); static FCOE_DEVICE_ATTR(ctlr, fcf_dev_loss_tmo, S_IRUGO | S_IWUSR, show_fcoe_ctlr_device_fcf_dev_loss_tmo, store_private_fcoe_ctlr_fcf_dev_loss_tmo); /* Link Error Status Block (LESB) */ -fcoe_ctlr_rd_attr(link_fail, "%u\n", 20); -fcoe_ctlr_rd_attr(vlink_fail, "%u\n", 20); -fcoe_ctlr_rd_attr(miss_fka, "%u\n", 20); -fcoe_ctlr_rd_attr(symb_err, "%u\n", 20); -fcoe_ctlr_rd_attr(err_block, "%u\n", 20); -fcoe_ctlr_rd_attr(fcs_error, "%u\n", 20); - -fcoe_fcf_private_rd_attr_cast(fabric_name, "0x%llx\n", 20, unsigned long long); -fcoe_fcf_private_rd_attr_cast(switch_name, "0x%llx\n", 20, unsigned long long); -fcoe_fcf_private_rd_attr(priority, "%u\n", 20); -fcoe_fcf_private_rd_attr(fc_map, "0x%x\n", 20); -fcoe_fcf_private_rd_attr(vfid, "%u\n", 20); -fcoe_fcf_private_rd_attr(mac, "%pM\n", 20); -fcoe_fcf_private_rd_attr(fka_period, "%u\n", 20); -fcoe_fcf_rd_attr(selected, "%u\n", 20); -fcoe_fcf_rd_attr(vlan_id, "%u\n", 20); - -fcoe_fcf_private_show_function(dev_loss_tmo, "%d\n", 20, ) +fcoe_ctlr_rd_attr(link_fail, "%u\n"); +fcoe_ctlr_rd_attr(vlink_fail, "%u\n"); +fcoe_ctlr_rd_attr(miss_fka, "%u\n"); +fcoe_ctlr_rd_attr(symb_err, "%u\n"); +fcoe_ctlr_rd_attr(err_block, "%u\n"); +fcoe_ctlr_rd_attr(fcs_error, "%u\n"); + +fcoe_fcf_private_rd_attr_cast(fabric_name, "0x%llx\n", unsigned long long); +fcoe_fcf_private_rd_attr_cast(switch_name, "0x%llx\n", unsigned long long); +fcoe_fcf_private_rd_attr(priority, "%u\n"); +fcoe_fcf_private_rd_attr(fc_map, "0x%x\n"); +fcoe_fcf_private_rd_attr(vfid, "%u\n"); +fcoe_fcf_private_rd_attr(mac, "%pM\n"); +fcoe_fcf_private_rd_attr(fka_period, "%u\n"); +fcoe_fcf_rd_attr(selected, "%u\n"); +fcoe_fcf_rd_attr(vlan_id, "%u\n"); + +fcoe_fcf_private_show_function(dev_loss_tmo, "%d\n", ) static ssize_t store_fcoe_fcf_dev_loss_tmo(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) From patchwork Tue Mar 19 06:31:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781301 Received: from esa11.hc1455-7.c3s2.iphmx.com (esa11.hc1455-7.c3s2.iphmx.com [207.54.90.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ABC9C208DA; Tue, 19 Mar 2024 06:32:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=207.54.90.137 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829951; cv=none; b=FGX12lelE3+3DiRMRgcZUomROG5H76r520H+5diz4Fe26c7TpJvvyRlTOFxU2Igp59jKNFuqVLr6h+zh8v4FuJosnAEZj55RPHm44jTnr6HYhM3fu4AINxPf1j0uF/lzfwVSV9XdpnOobtWyWxHg+2OWDBPsgVnM4RgOIdYoADk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829951; c=relaxed/simple; bh=V4maAJaq34YaWmfmxUxtcXRMFcNFk9d5IOBVN/enRVk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=BgPQ9nyB80TQfvxA9X1BO6rXXIhXOVFE5ocrqptJXFJ7gjxN/w15Ys8lualUS2sjA/TnVojJ6TvR8ulIMFf+b4uzRKlGjZiylLjov3pqaEITYxHI12K7aQuTZAoxFncsfpTTx2+8RnY+ozV9hhgGJ+CgtDAEae9K4aZSdFVtEX4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=nzU/xCkt; arc=none smtp.client-ip=207.54.90.137 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="nzU/xCkt" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829949; x=1742365949; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=V4maAJaq34YaWmfmxUxtcXRMFcNFk9d5IOBVN/enRVk=; b=nzU/xCktZfGXGhoOgKjlcpxMhaIS12gfZd5wH5wQivTbOqLOZJL17JT5 etOsceP+3ZOqEGDBDgvCfYFSvzT0m5xCStkFFau6hoWbwpJrPO/AzZHRM M2KNbm0wZlPEj2aOQh17sHvoWsXRpbtYs8nK7uYa9v3zmjkCTgOCQNvSP c+evthb1uD2CZUKzieBlz+9yPJk1/6+Ue6mGu+gGjuTw5akhRcslKA+oE mq4iKivPMvHj6IG8VLK189j1iAmTXG3p7ZuJYKlr8GFznXdyo/mQT++4H Y2M7tJc+ZBZVXMoIvq8GRDwMg+oLS62Dx7t3znhjyNFdgiHpqHd26IGVS Q==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="132064677" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="132064677" Received: from unknown (HELO oym-r4.gw.nic.fujitsu.com) ([210.162.30.92]) by esa11.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:26 +0900 Received: from oym-m1.gw.nic.fujitsu.com (oym-nat-oym-m1.gw.nic.fujitsu.com [192.168.87.58]) by oym-r4.gw.nic.fujitsu.com (Postfix) with ESMTP id C64A6141203; Tue, 19 Mar 2024 15:32:23 +0900 (JST) Received: from kws-ab3.gw.nic.fujitsu.com (kws-ab3.gw.nic.fujitsu.com [192.51.206.21]) by oym-m1.gw.nic.fujitsu.com (Postfix) with ESMTP id E6EB9C5205; Tue, 19 Mar 2024 15:32:22 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab3.gw.nic.fujitsu.com (Postfix) with ESMTP id 7EF1020099077; Tue, 19 Mar 2024 15:32:22 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id E32C31A006B; Tue, 19 Mar 2024 14:32:21 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , Kashyap Desai , Sumit Saxena , Shivasharan S , Chandrakanth patil , "James E.J. Bottomley" , "Martin K. Petersen" , megaraidlinux.pdl@broadcom.com, linux-scsi@vger.kernel.org Subject: [PATCH v2 07/25] scsi: megaraid: Convert sprintf() family to sysfs_emit() family Date: Tue, 19 Mar 2024 14:31:14 +0800 Message-Id: <20240319063132.1588443-7-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--11.401400-10.000000 X-TMASE-MatchedRID: pfKaEBrCt3IbO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/iwxLjNbuPBWO0yVK/5LmcQiM ingSlKoKMx5HzfQifbPE41045MrHXFDCN/1eC4ASdVNZaI2n6/wK0ZgbTOeKUwLkNMQzGl5B+Kr WCPbERP80Age9hS2jaorLpu20+QH7QVDF+NEc7OLNE9DxPih7lWQ3R4k5PTnCm04TWLzKiuBhBv WgZlX+84vM1YF6AJbbCCfuIMF6xLSAHAopEd76vlJCE5xaQ34yOfAg8k/613mIZPVAHECUgnLiz jkg33w6g3hSkeF22Zw== X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: Kashyap Desai CC: Sumit Saxena CC: Shivasharan S CC: Chandrakanth patil CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: megaraidlinux.pdl@broadcom.com CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/megaraid/megaraid_sas_base.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c index 3d4f13da1ae8..07df615f43af 100644 --- a/drivers/scsi/megaraid/megaraid_sas_base.c +++ b/drivers/scsi/megaraid/megaraid_sas_base.c @@ -3333,8 +3333,8 @@ fw_crash_buffer_size_show(struct device *cdev, struct megasas_instance *instance = (struct megasas_instance *) shost->hostdata; - return snprintf(buf, PAGE_SIZE, "%ld\n", (unsigned long) - ((instance->fw_crash_buffer_size) * 1024 * 1024)/PAGE_SIZE); + return sysfs_emit(buf, "%ld\n", (unsigned long) + ((instance->fw_crash_buffer_size) * 1024 * 1024) / PAGE_SIZE); } static ssize_t @@ -3379,14 +3379,14 @@ fw_crash_state_show(struct device *cdev, struct megasas_instance *instance = (struct megasas_instance *) shost->hostdata; - return snprintf(buf, PAGE_SIZE, "%d\n", instance->fw_crash_state); + return sysfs_emit(buf, "%d\n", instance->fw_crash_state); } static ssize_t page_size_show(struct device *cdev, struct device_attribute *attr, char *buf) { - return snprintf(buf, PAGE_SIZE, "%ld\n", (unsigned long)PAGE_SIZE - 1); + return sysfs_emit(buf, "%ld\n", (unsigned long)PAGE_SIZE - 1); } static ssize_t @@ -3396,7 +3396,8 @@ ldio_outstanding_show(struct device *cdev, struct device_attribute *attr, struct Scsi_Host *shost = class_to_shost(cdev); struct megasas_instance *instance = (struct megasas_instance *)shost->hostdata; - return snprintf(buf, PAGE_SIZE, "%d\n", atomic_read(&instance->ldio_outstanding)); + return sysfs_emit(buf, "%d\n", + atomic_read(&instance->ldio_outstanding)); } static ssize_t @@ -3406,7 +3407,7 @@ fw_cmds_outstanding_show(struct device *cdev, struct Scsi_Host *shost = class_to_shost(cdev); struct megasas_instance *instance = (struct megasas_instance *)shost->hostdata; - return snprintf(buf, PAGE_SIZE, "%d\n", atomic_read(&instance->fw_outstanding)); + return sysfs_emit(buf, "%d\n", atomic_read(&instance->fw_outstanding)); } static ssize_t @@ -3416,7 +3417,7 @@ enable_sdev_max_qd_show(struct device *cdev, struct Scsi_Host *shost = class_to_shost(cdev); struct megasas_instance *instance = (struct megasas_instance *)shost->hostdata; - return snprintf(buf, PAGE_SIZE, "%d\n", instance->enable_sdev_max_qd); + return sysfs_emit(buf, "%d\n", instance->enable_sdev_max_qd); } static ssize_t @@ -3470,8 +3471,7 @@ raid_map_id_show(struct device *cdev, struct device_attribute *attr, struct megasas_instance *instance = (struct megasas_instance *)shost->hostdata; - return snprintf(buf, PAGE_SIZE, "%ld\n", - (unsigned long)instance->map_id); + return sysfs_emit(buf, "%ld\n", (unsigned long)instance->map_id); } static DEVICE_ATTR_RW(fw_crash_buffer); From patchwork Tue Mar 19 06:31:15 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781298 Received: from esa10.hc1455-7.c3s2.iphmx.com (esa10.hc1455-7.c3s2.iphmx.com [139.138.36.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 784DF50279; Tue, 19 Mar 2024 06:32:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=139.138.36.225 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829954; cv=none; b=RW2zY87YnnBpjBlll2wwx4fwALLAbOvGois4SwrgAc4P/eYmN3JCVSRnEAX01Yb9UTaqxDBUXarD98Ei4RfrbI9+xIlJIQQmH+sReXnKamGn0sd2kWoDzt6jS++/rjFcXTUs7YSp2zZiTxHetrawYVc5qPYejf9KlJkQbxuSZek= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829954; c=relaxed/simple; bh=xhFm5S9bv8PdsQiVkORsEXJrFQSOjWeefwiAd+XLuJk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=scPfZbdX1mHvzt053zd56z+kJf6pmGZPpyAs2qexp9gMBEXdFpbgCYEO8knoBeDOmiz6rfceUGVEyNxwrEAkUgmUCC4Fp4bK9Izu5eTwv2+5kbe2bIIVE/gKjkxbVdCNaY/e6jb1mFLynjztr8CKmQoUCem2Ys9tbZETJwryZMk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=Wyze/PQ7; arc=none smtp.client-ip=139.138.36.225 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="Wyze/PQ7" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829951; x=1742365951; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=xhFm5S9bv8PdsQiVkORsEXJrFQSOjWeefwiAd+XLuJk=; b=Wyze/PQ713Cjj3IKztgqxY3TAWspGnNZZwyiEfzZ5zmmTJiMipHa9JFQ Y9bhVquOwvhPcnrbwnOuahhlHda221yrPknE2T+VQr0D4dHSIRxpHfxyJ MRlENqv8iVFZVkcsgqGbj88brYJMl1pvTDDsmhlOktVJ2JZR2YXWqnAwV uxnCT3o9EvyCBl7YneKfNwjwOCbsHAkwYnISrBgmY/Uv4CAU6JH0UAUuy iHIirbzqrce1qeFjUilX8u7NBomyfkiPUpUzY8dihQyvFmfFw15R4QUu3 6TBjoDWy0DNA5bB4TxQIwkMHZClfOFNWg3n++uLXh7LT5J3QAtB5fu+Ps g==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="140310356" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="140310356" Received: from unknown (HELO yto-r2.gw.nic.fujitsu.com) ([218.44.52.218]) by esa10.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:26 +0900 Received: from yto-m3.gw.nic.fujitsu.com (yto-nat-yto-m3.gw.nic.fujitsu.com [192.168.83.66]) by yto-r2.gw.nic.fujitsu.com (Postfix) with ESMTP id 3B5A62A0E05; Tue, 19 Mar 2024 15:32:24 +0900 (JST) Received: from kws-ab3.gw.nic.fujitsu.com (kws-ab3.gw.nic.fujitsu.com [192.51.206.21]) by yto-m3.gw.nic.fujitsu.com (Postfix) with ESMTP id 6252FF933; Tue, 19 Mar 2024 15:32:23 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab3.gw.nic.fujitsu.com (Postfix) with ESMTP id E3EF520097CC5; Tue, 19 Mar 2024 15:32:22 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id 5941E1A006D; Tue, 19 Mar 2024 14:32:22 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , Sathya Prakash , Sreekanth Reddy , Suganath Prabu Subramani , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org, MPT-FusionLinux.pdl@broadcom.com Subject: [PATCH v2 08/25] scsi: mpt3sas: Convert sprintf() family to sysfs_emit() family Date: Tue, 19 Mar 2024 14:31:15 +0800 Message-Id: <20240319063132.1588443-8-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--16.997600-10.000000 X-TMASE-MatchedRID: QKiaQG5nP+EbO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/iwxLjNbuPBWO0yVK/5LmcQiM ingSlKoKMx5HzfQifbPE41045MrHXFDCN/1eC4ASdVNZaI2n6/8E5XPQnBzGXq8KsbROd9VSD3F 7iC1Qm2m0i/QDeFI5bplCaRSPAyU1p7HSuASUA2oDCiwMF64/BFmTypof4a70qqPvLKmtzi3eAH GnweZvi7XjA6blEVJXGa+8lifC91ft1xYHpY/PCRcGHEV0WBxCYasbATu5ay2fIvzHS0qU7WQhP PzYpzgDAAzSPOLl0BJ2oLZ8u2T3EHxPMjOKY7A8LbigRnpKlKT4yqD4LKu3A X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: Sathya Prakash CC: Sreekanth Reddy CC: Suganath Prabu Subramani CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org CC: MPT-FusionLinux.pdl@broadcom.com Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/mpt3sas/mpt3sas_ctl.c | 85 +++++++++++++++--------------- 1 file changed, 43 insertions(+), 42 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_ctl.c b/drivers/scsi/mpt3sas/mpt3sas_ctl.c index 1c9fd26195b8..4ac3b13f7025 100644 --- a/drivers/scsi/mpt3sas/mpt3sas_ctl.c +++ b/drivers/scsi/mpt3sas/mpt3sas_ctl.c @@ -2876,11 +2876,11 @@ version_fw_show(struct device *cdev, struct device_attribute *attr, struct Scsi_Host *shost = class_to_shost(cdev); struct MPT3SAS_ADAPTER *ioc = shost_priv(shost); - return snprintf(buf, PAGE_SIZE, "%02d.%02d.%02d.%02d\n", - (ioc->facts.FWVersion.Word & 0xFF000000) >> 24, - (ioc->facts.FWVersion.Word & 0x00FF0000) >> 16, - (ioc->facts.FWVersion.Word & 0x0000FF00) >> 8, - ioc->facts.FWVersion.Word & 0x000000FF); + return sysfs_emit(buf, "%02d.%02d.%02d.%02d\n", + (ioc->facts.FWVersion.Word & 0xFF000000) >> 24, + (ioc->facts.FWVersion.Word & 0x00FF0000) >> 16, + (ioc->facts.FWVersion.Word & 0x0000FF00) >> 8, + ioc->facts.FWVersion.Word & 0x000000FF); } static DEVICE_ATTR_RO(version_fw); @@ -2901,11 +2901,11 @@ version_bios_show(struct device *cdev, struct device_attribute *attr, u32 version = le32_to_cpu(ioc->bios_pg3.BiosVersion); - return snprintf(buf, PAGE_SIZE, "%02d.%02d.%02d.%02d\n", - (version & 0xFF000000) >> 24, - (version & 0x00FF0000) >> 16, - (version & 0x0000FF00) >> 8, - version & 0x000000FF); + return sysfs_emit(buf, "%02d.%02d.%02d.%02d\n", + (version & 0xFF000000) >> 24, + (version & 0x00FF0000) >> 16, + (version & 0x0000FF00) >> 8, + version & 0x000000FF); } static DEVICE_ATTR_RO(version_bios); @@ -2924,8 +2924,9 @@ version_mpi_show(struct device *cdev, struct device_attribute *attr, struct Scsi_Host *shost = class_to_shost(cdev); struct MPT3SAS_ADAPTER *ioc = shost_priv(shost); - return snprintf(buf, PAGE_SIZE, "%03x.%02x\n", - ioc->facts.MsgVersion, ioc->facts.HeaderVersion >> 8); + return sysfs_emit(buf, "%03x.%02x\n", + ioc->facts.MsgVersion, + ioc->facts.HeaderVersion >> 8); } static DEVICE_ATTR_RO(version_mpi); @@ -2944,7 +2945,7 @@ version_product_show(struct device *cdev, struct device_attribute *attr, struct Scsi_Host *shost = class_to_shost(cdev); struct MPT3SAS_ADAPTER *ioc = shost_priv(shost); - return snprintf(buf, 16, "%s\n", ioc->manu_pg0.ChipName); + return sysfs_emit(buf, "%s\n", ioc->manu_pg0.ChipName); } static DEVICE_ATTR_RO(version_product); @@ -2963,8 +2964,8 @@ version_nvdata_persistent_show(struct device *cdev, struct Scsi_Host *shost = class_to_shost(cdev); struct MPT3SAS_ADAPTER *ioc = shost_priv(shost); - return snprintf(buf, PAGE_SIZE, "%08xh\n", - le32_to_cpu(ioc->iounit_pg0.NvdataVersionPersistent.Word)); + return sysfs_emit(buf, "%08xh\n", + le32_to_cpu(ioc->iounit_pg0.NvdataVersionPersistent.Word)); } static DEVICE_ATTR_RO(version_nvdata_persistent); @@ -2983,8 +2984,8 @@ version_nvdata_default_show(struct device *cdev, struct device_attribute struct Scsi_Host *shost = class_to_shost(cdev); struct MPT3SAS_ADAPTER *ioc = shost_priv(shost); - return snprintf(buf, PAGE_SIZE, "%08xh\n", - le32_to_cpu(ioc->iounit_pg0.NvdataVersionDefault.Word)); + return sysfs_emit(buf, "%08xh\n", + le32_to_cpu(ioc->iounit_pg0.NvdataVersionDefault.Word)); } static DEVICE_ATTR_RO(version_nvdata_default); @@ -3003,7 +3004,7 @@ board_name_show(struct device *cdev, struct device_attribute *attr, struct Scsi_Host *shost = class_to_shost(cdev); struct MPT3SAS_ADAPTER *ioc = shost_priv(shost); - return snprintf(buf, 16, "%s\n", ioc->manu_pg0.BoardName); + return sysfs_emit(buf, "%s\n", ioc->manu_pg0.BoardName); } static DEVICE_ATTR_RO(board_name); @@ -3022,7 +3023,7 @@ board_assembly_show(struct device *cdev, struct device_attribute *attr, struct Scsi_Host *shost = class_to_shost(cdev); struct MPT3SAS_ADAPTER *ioc = shost_priv(shost); - return snprintf(buf, 16, "%s\n", ioc->manu_pg0.BoardAssembly); + return sysfs_emit(buf, "%s\n", ioc->manu_pg0.BoardAssembly); } static DEVICE_ATTR_RO(board_assembly); @@ -3041,7 +3042,7 @@ board_tracer_show(struct device *cdev, struct device_attribute *attr, struct Scsi_Host *shost = class_to_shost(cdev); struct MPT3SAS_ADAPTER *ioc = shost_priv(shost); - return snprintf(buf, 16, "%s\n", ioc->manu_pg0.BoardTracerNumber); + return sysfs_emit(buf, "%s\n", ioc->manu_pg0.BoardTracerNumber); } static DEVICE_ATTR_RO(board_tracer); @@ -3063,7 +3064,7 @@ io_delay_show(struct device *cdev, struct device_attribute *attr, struct Scsi_Host *shost = class_to_shost(cdev); struct MPT3SAS_ADAPTER *ioc = shost_priv(shost); - return snprintf(buf, PAGE_SIZE, "%02d\n", ioc->io_missing_delay); + return sysfs_emit(buf, "%02d\n", ioc->io_missing_delay); } static DEVICE_ATTR_RO(io_delay); @@ -3085,7 +3086,7 @@ device_delay_show(struct device *cdev, struct device_attribute *attr, struct Scsi_Host *shost = class_to_shost(cdev); struct MPT3SAS_ADAPTER *ioc = shost_priv(shost); - return snprintf(buf, PAGE_SIZE, "%02d\n", ioc->device_missing_delay); + return sysfs_emit(buf, "%02d\n", ioc->device_missing_delay); } static DEVICE_ATTR_RO(device_delay); @@ -3106,7 +3107,7 @@ fw_queue_depth_show(struct device *cdev, struct device_attribute *attr, struct Scsi_Host *shost = class_to_shost(cdev); struct MPT3SAS_ADAPTER *ioc = shost_priv(shost); - return snprintf(buf, PAGE_SIZE, "%02d\n", ioc->facts.RequestCredit); + return sysfs_emit(buf, "%02d\n", ioc->facts.RequestCredit); } static DEVICE_ATTR_RO(fw_queue_depth); @@ -3128,8 +3129,8 @@ host_sas_address_show(struct device *cdev, struct device_attribute *attr, struct Scsi_Host *shost = class_to_shost(cdev); struct MPT3SAS_ADAPTER *ioc = shost_priv(shost); - return snprintf(buf, PAGE_SIZE, "0x%016llx\n", - (unsigned long long)ioc->sas_hba.sas_address); + return sysfs_emit(buf, "0x%016llx\n", + (unsigned long long)ioc->sas_hba.sas_address); } static DEVICE_ATTR_RO(host_sas_address); @@ -3148,7 +3149,7 @@ logging_level_show(struct device *cdev, struct device_attribute *attr, struct Scsi_Host *shost = class_to_shost(cdev); struct MPT3SAS_ADAPTER *ioc = shost_priv(shost); - return snprintf(buf, PAGE_SIZE, "%08xh\n", ioc->logging_level); + return sysfs_emit(buf, "%08xh\n", ioc->logging_level); } static ssize_t logging_level_store(struct device *cdev, struct device_attribute *attr, @@ -3184,7 +3185,7 @@ fwfault_debug_show(struct device *cdev, struct device_attribute *attr, struct Scsi_Host *shost = class_to_shost(cdev); struct MPT3SAS_ADAPTER *ioc = shost_priv(shost); - return snprintf(buf, PAGE_SIZE, "%d\n", ioc->fwfault_debug); + return sysfs_emit(buf, "%d\n", ioc->fwfault_debug); } static ssize_t fwfault_debug_store(struct device *cdev, struct device_attribute *attr, @@ -3221,7 +3222,7 @@ ioc_reset_count_show(struct device *cdev, struct device_attribute *attr, struct Scsi_Host *shost = class_to_shost(cdev); struct MPT3SAS_ADAPTER *ioc = shost_priv(shost); - return snprintf(buf, PAGE_SIZE, "%d\n", ioc->ioc_reset_count); + return sysfs_emit(buf, "%d\n", ioc->ioc_reset_count); } static DEVICE_ATTR_RO(ioc_reset_count); @@ -3249,7 +3250,7 @@ reply_queue_count_show(struct device *cdev, else reply_queue_count = 1; - return snprintf(buf, PAGE_SIZE, "%d\n", reply_queue_count); + return sysfs_emit(buf, "%d\n", reply_queue_count); } static DEVICE_ATTR_RO(reply_queue_count); @@ -3314,7 +3315,7 @@ BRM_status_show(struct device *cdev, struct device_attribute *attr, /* BRM status is in bit zero of GPIOVal[24] */ backup_rail_monitor_status = le16_to_cpu(io_unit_pg3.GPIOVal[24]); - rc = snprintf(buf, PAGE_SIZE, "%d\n", (backup_rail_monitor_status & 1)); + rc = sysfs_emit(buf, "%d\n", (backup_rail_monitor_status & 1)); out: mutex_unlock(&ioc->pci_access_mutex); @@ -3371,7 +3372,7 @@ host_trace_buffer_size_show(struct device *cdev, size = le32_to_cpu(request_data->Size); ioc->ring_buffer_sz = size; - return snprintf(buf, PAGE_SIZE, "%d\n", size); + return sysfs_emit(buf, "%d\n", size); } static DEVICE_ATTR_RO(host_trace_buffer_size); @@ -3458,12 +3459,12 @@ host_trace_buffer_enable_show(struct device *cdev, if ((!ioc->diag_buffer[MPI2_DIAG_BUF_TYPE_TRACE]) || ((ioc->diag_buffer_status[MPI2_DIAG_BUF_TYPE_TRACE] & MPT3_DIAG_BUFFER_IS_REGISTERED) == 0)) - return snprintf(buf, PAGE_SIZE, "off\n"); + return sysfs_emit(buf, "off\n"); else if ((ioc->diag_buffer_status[MPI2_DIAG_BUF_TYPE_TRACE] & MPT3_DIAG_BUFFER_IS_RELEASED)) - return snprintf(buf, PAGE_SIZE, "release\n"); + return sysfs_emit(buf, "release\n"); else - return snprintf(buf, PAGE_SIZE, "post\n"); + return sysfs_emit(buf, "post\n"); } static ssize_t @@ -3879,7 +3880,7 @@ drv_support_bitmap_show(struct device *cdev, struct Scsi_Host *shost = class_to_shost(cdev); struct MPT3SAS_ADAPTER *ioc = shost_priv(shost); - return snprintf(buf, PAGE_SIZE, "0x%08x\n", ioc->drv_support_bitmap); + return sysfs_emit(buf, "0x%08x\n", ioc->drv_support_bitmap); } static DEVICE_ATTR_RO(drv_support_bitmap); @@ -3899,7 +3900,7 @@ enable_sdev_max_qd_show(struct device *cdev, struct Scsi_Host *shost = class_to_shost(cdev); struct MPT3SAS_ADAPTER *ioc = shost_priv(shost); - return snprintf(buf, PAGE_SIZE, "%d\n", ioc->enable_sdev_max_qd); + return sysfs_emit(buf, "%d\n", ioc->enable_sdev_max_qd); } /** @@ -4047,8 +4048,8 @@ sas_address_show(struct device *dev, struct device_attribute *attr, struct scsi_device *sdev = to_scsi_device(dev); struct MPT3SAS_DEVICE *sas_device_priv_data = sdev->hostdata; - return snprintf(buf, PAGE_SIZE, "0x%016llx\n", - (unsigned long long)sas_device_priv_data->sas_target->sas_address); + return sysfs_emit(buf, "0x%016llx\n", (unsigned long long) + sas_device_priv_data->sas_target->sas_address); } static DEVICE_ATTR_RO(sas_address); @@ -4069,8 +4070,8 @@ sas_device_handle_show(struct device *dev, struct device_attribute *attr, struct scsi_device *sdev = to_scsi_device(dev); struct MPT3SAS_DEVICE *sas_device_priv_data = sdev->hostdata; - return snprintf(buf, PAGE_SIZE, "0x%04x\n", - sas_device_priv_data->sas_target->handle); + return sysfs_emit(buf, "0x%04x\n", + sas_device_priv_data->sas_target->handle); } static DEVICE_ATTR_RO(sas_device_handle); @@ -4107,8 +4108,8 @@ sas_ncq_prio_enable_show(struct device *dev, struct scsi_device *sdev = to_scsi_device(dev); struct MPT3SAS_DEVICE *sas_device_priv_data = sdev->hostdata; - return snprintf(buf, PAGE_SIZE, "%d\n", - sas_device_priv_data->ncq_prio_enable); + return sysfs_emit(buf, "%d\n", + sas_device_priv_data->ncq_prio_enable); } static ssize_t From patchwork Tue Mar 19 06:31:16 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781478 Received: from esa6.hc1455-7.c3s2.iphmx.com (esa6.hc1455-7.c3s2.iphmx.com [68.232.139.139]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CF2CC2628C; Tue, 19 Mar 2024 06:32:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=68.232.139.139 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829952; cv=none; b=KlKTyl6oq8XbRzRCeXsJW5l7lJc+WrKtqU8smVrU8DtmKBcnOcMRJ8+J5WnXF4FqGt9gIxQfFeJB3Tur7gt1XcufmMlpL/Iberk45N2/owPYxpVRtFCMcHv6H/7H5PtlPeKy45K9PGhb/PPFmc9jHlgMioXqqv6szAvCzAsjSrg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829952; c=relaxed/simple; bh=K2Yido6l2Harc2sExVjNgO4huCImJneSbabgn0YyLvY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=qJ6itSPQO+nM7GQkNLe5NG2fSWA8xP+pCz6aCHoYufbmOel2oTu0BWfEejHsO+oWNbFQgYAC7Nl0vMQUCLK7AwKNmRbcm6STxT9oxrfspKP2X2MqQ5Oj1KeRkt2gBHxkHFAFps5eqkvyHGKHZt8hE96XwJJRMfhdrmoSpMtvIZA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=LY94AJaA; arc=none smtp.client-ip=68.232.139.139 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="LY94AJaA" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829950; x=1742365950; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=K2Yido6l2Harc2sExVjNgO4huCImJneSbabgn0YyLvY=; b=LY94AJaA0upSeQmjq9iIlFTV3pGrjgjyvpvgQJ+a/0umtF5IFmPs3GE6 wrjo4f2F/6hZet+R/S/8jBWYOCm3vwe+wM87udasHoHp5lNhgFlgAzFGr 7DhAdSCiOMCgqzDnNcdvgQI1i1MnvSjpe+emY2NgtA1dbkyh0fX1sMz5k NAtvahHf03OGvQbi4qwCgncqLhSFRe4+objMjQSjsUB11B7aWWcEGCapu JazAV5w1kAgmnJqDvrMSR/SSJXL+Xv+439z1UFfqNsbPxjvIQPhaltRtL sqiB/2WL7diB008eG4wScDnXZ19o7IYjVuT2TGfxPu40JeKLM3cIRqcBx g==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="154551200" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="154551200" Received: from unknown (HELO yto-r4.gw.nic.fujitsu.com) ([218.44.52.220]) by esa6.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:26 +0900 Received: from yto-m4.gw.nic.fujitsu.com (yto-nat-yto-m4.gw.nic.fujitsu.com [192.168.83.67]) by yto-r4.gw.nic.fujitsu.com (Postfix) with ESMTP id 69CBAD9F04; Tue, 19 Mar 2024 15:32:24 +0900 (JST) Received: from kws-ab3.gw.nic.fujitsu.com (kws-ab3.gw.nic.fujitsu.com [192.51.206.21]) by yto-m4.gw.nic.fujitsu.com (Postfix) with ESMTP id A77D7D7B90; Tue, 19 Mar 2024 15:32:23 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab3.gw.nic.fujitsu.com (Postfix) with ESMTP id 3723C200932DF; Tue, 19 Mar 2024 15:32:23 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id BC6771A006B; Tue, 19 Mar 2024 14:32:22 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org Subject: [PATCH v2 09/25] scsi: pcmcia: Convert sprintf() family to sysfs_emit() family Date: Tue, 19 Mar 2024 14:31:16 +0800 Message-Id: <20240319063132.1588443-9-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--3.342400-10.000000 X-TMASE-MatchedRID: xt1fvVgCaAwbO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/iwxLjNbuPBWO0yVK/5LmcQiM ingSlKoKMx5HzfQifbPE41045MrHXFDCN/1eC4ASdVNZaI2n6/8E5XPQnBzGXq8KsbROd9VSArq oIZrVn10Bh0sVevfs+bG2wDyGdkFGR9GF2J2xqMxRFJJyf5BJeZVXUb4KTaXv6C0ePs7A07Z5Vb 9l0vnaP6BiQH5RE9GykJuPIM8bumHugYxnMUtnsUnf7Nq2zVouDOCaAfFRgnXgv4L5We1m0Rj9j 9K5jZHac80ZtDh/a4d4qZkKihSdfhpPsVGqnTA8BxCsB8GHr28FEsV4fo4lIJMMP4MGO4TA= X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/pcmcia/sym53c500_cs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/pcmcia/sym53c500_cs.c b/drivers/scsi/pcmcia/sym53c500_cs.c index 278c78d066c4..264eeb24b811 100644 --- a/drivers/scsi/pcmcia/sym53c500_cs.c +++ b/drivers/scsi/pcmcia/sym53c500_cs.c @@ -624,7 +624,7 @@ SYM53C500_show_pio(struct device *dev, struct device_attribute *attr, struct sym53c500_data *data = (struct sym53c500_data *)SHp->hostdata; - return snprintf(buf, 4, "%d\n", data->fast_pio); + return sysfs_emit(buf, "%d\n", data->fast_pio); } static ssize_t From patchwork Tue Mar 19 06:31:17 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781476 Received: from esa6.hc1455-7.c3s2.iphmx.com (esa6.hc1455-7.c3s2.iphmx.com [68.232.139.139]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C8A2C50A6B; Tue, 19 Mar 2024 06:32:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=68.232.139.139 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829954; cv=none; b=HoGGdzrFVwSR0/MwgnajxFinrsBmwC2ko4bxdqzTxam0CU7D3RUbi6kgCKBddxpz+kTIkK3QkqhUmybaCuvexJ60m+gFinusAgERKSXHQq2M0XH+g+rbj2ITBmICWCouRw2wGHRxI6CT87sZdrVgN6Dj0xOWwRY4e3ksfGcmpHg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829954; c=relaxed/simple; bh=0b2qgSBqgSzkHwDXgqHElPgOfM/2DWLifKS11fB9qg0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Say6MmiYQsGli29FfVWn7j5jORKNdMYTymbG/7OrGZ14dnUWAU3sLFqeNCf65WnmG0Y9IZMQG1rNb2kH0Vde7GNCmTbuzj1BBITjTsL9qoq1WuvincFz1Gn5rVUbm/Ybw5Cw4jbqxoe2ENZ51BIjsXMIihjmTLcutQHL4+VlJHc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=UUQRcH8v; arc=none smtp.client-ip=68.232.139.139 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="UUQRcH8v" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829952; x=1742365952; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=0b2qgSBqgSzkHwDXgqHElPgOfM/2DWLifKS11fB9qg0=; b=UUQRcH8vUzzAvoXcLgQ/jrYKghLKtRpDZaEamKpko5G04cZExMhouqSj Yd4ccoS0xwdyxRJllqm9wRbsF7BPLmGXZXGBI/qwtqYcMIN68j23mM5yS 505tFmDJl0qXTTt19HgkcMwEtwZPOr39e+0utgdvZ10wlLRJOZYNZ1pFk ZD1ku8Bq5RsTt6BhGhUSA3RyI9eASw4hZBcVVoOwwSsrNoZYlBV+Rr6I7 PI8TsSKyP2OTaGbsJAncJCH2PNdHaNfJHFXh3pcR5V2QdTRgkK1zIVxMv WUJ70eqU1Uv7aO09EquujGSqy+afp+raNxuFT+1jIoQq44Aa4GpIhag4k A==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="154551203" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="154551203" Received: from unknown (HELO oym-r1.gw.nic.fujitsu.com) ([210.162.30.89]) by esa6.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:27 +0900 Received: from oym-m1.gw.nic.fujitsu.com (oym-nat-oym-m1.gw.nic.fujitsu.com [192.168.87.58]) by oym-r1.gw.nic.fujitsu.com (Postfix) with ESMTP id EF065D4800; Tue, 19 Mar 2024 15:32:24 +0900 (JST) Received: from kws-ab4.gw.nic.fujitsu.com (kws-ab4.gw.nic.fujitsu.com [192.51.206.22]) by oym-m1.gw.nic.fujitsu.com (Postfix) with ESMTP id 21987C5205; Tue, 19 Mar 2024 15:32:24 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab4.gw.nic.fujitsu.com (Postfix) with ESMTP id A4E9E228818; Tue, 19 Mar 2024 15:32:23 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id 12AB91A006E; Tue, 19 Mar 2024 14:32:23 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , Nilesh Javali , Manish Rangankar , GR-QLogic-Storage-Upstream@marvell.com, "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org Subject: [PATCH v2 10/25] scsi: qla4xxx: Convert sprintf() family to sysfs_emit() family Date: Tue, 19 Mar 2024 14:31:17 +0800 Message-Id: <20240319063132.1588443-10-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--11.994500-10.000000 X-TMASE-MatchedRID: ujgZRN8RQFMbO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/iwxLjNbuPBWO0yVK/5LmcQiM ingSlKoKMx5HzfQifbPE41045MrHXFDCN/1eC4ASdVNZaI2n6/8E5XPQnBzGXq8KsbROd9VSD3F 7iC1Qm2iWQSYYFGzuMXnkq6nWMKnzGt2xdLsY3ZJd30s5W7go90MQw+++ihy+fvSnHBLeDKqcN7 Wy+6vTToO4V4RSl8odH9XJtpa3/0+UWmx8yAzoMdo0n+JPFcJp9LQinZ4QefPcjNeVeWlqY+gtH j7OwNO31Kzk40dEY9ZGcndTn6RXdaOfWGmAu2+yAU4siFHdrrNyHn7HzWfNa X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: Nilesh Javali CC: Manish Rangankar CC: GR-QLogic-Storage-Upstream@marvell.com CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/qla4xxx/ql4_attr.c | 54 +++++++++++++++++---------------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/drivers/scsi/qla4xxx/ql4_attr.c b/drivers/scsi/qla4xxx/ql4_attr.c index abfa6ef60480..f250f13506e7 100644 --- a/drivers/scsi/qla4xxx/ql4_attr.c +++ b/drivers/scsi/qla4xxx/ql4_attr.c @@ -156,13 +156,13 @@ qla4xxx_fw_version_show(struct device *dev, struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev)); if (is_qla80XX(ha)) - return snprintf(buf, PAGE_SIZE, "%d.%02d.%02d (%x)\n", - ha->fw_info.fw_major, ha->fw_info.fw_minor, - ha->fw_info.fw_patch, ha->fw_info.fw_build); + return sysfs_emit(buf, "%d.%02d.%02d (%x)\n", + ha->fw_info.fw_major, ha->fw_info.fw_minor, + ha->fw_info.fw_patch, ha->fw_info.fw_build); else - return snprintf(buf, PAGE_SIZE, "%d.%02d.%02d.%02d\n", - ha->fw_info.fw_major, ha->fw_info.fw_minor, - ha->fw_info.fw_patch, ha->fw_info.fw_build); + return sysfs_emit(buf, "%d.%02d.%02d.%02d\n", + ha->fw_info.fw_major, ha->fw_info.fw_minor, + ha->fw_info.fw_patch, ha->fw_info.fw_build); } static ssize_t @@ -170,7 +170,7 @@ qla4xxx_serial_num_show(struct device *dev, struct device_attribute *attr, char *buf) { struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev)); - return snprintf(buf, PAGE_SIZE, "%s\n", ha->serial_number); + return sysfs_emit(buf, "%s\n", ha->serial_number); } static ssize_t @@ -178,8 +178,8 @@ qla4xxx_iscsi_version_show(struct device *dev, struct device_attribute *attr, char *buf) { struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev)); - return snprintf(buf, PAGE_SIZE, "%d.%02d\n", ha->fw_info.iscsi_major, - ha->fw_info.iscsi_minor); + return sysfs_emit(buf, "%d.%02d\n", ha->fw_info.iscsi_major, + ha->fw_info.iscsi_minor); } static ssize_t @@ -187,9 +187,11 @@ qla4xxx_optrom_version_show(struct device *dev, struct device_attribute *attr, char *buf) { struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev)); - return snprintf(buf, PAGE_SIZE, "%d.%02d.%02d.%02d\n", - ha->fw_info.bootload_major, ha->fw_info.bootload_minor, - ha->fw_info.bootload_patch, ha->fw_info.bootload_build); + return sysfs_emit(buf, "%d.%02d.%02d.%02d\n", + ha->fw_info.bootload_major, + ha->fw_info.bootload_minor, + ha->fw_info.bootload_patch, + ha->fw_info.bootload_build); } static ssize_t @@ -197,7 +199,7 @@ qla4xxx_board_id_show(struct device *dev, struct device_attribute *attr, char *buf) { struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev)); - return snprintf(buf, PAGE_SIZE, "0x%08X\n", ha->board_id); + return sysfs_emit(buf, "0x%08X\n", ha->board_id); } static ssize_t @@ -207,8 +209,8 @@ qla4xxx_fw_state_show(struct device *dev, struct device_attribute *attr, struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev)); qla4xxx_get_firmware_state(ha); - return snprintf(buf, PAGE_SIZE, "0x%08X%8X\n", ha->firmware_state, - ha->addl_fw_state); + return sysfs_emit(buf, "0x%08X%8X\n", ha->firmware_state, + ha->addl_fw_state); } static ssize_t @@ -220,7 +222,7 @@ qla4xxx_phy_port_cnt_show(struct device *dev, struct device_attribute *attr, if (is_qla40XX(ha)) return -ENOSYS; - return snprintf(buf, PAGE_SIZE, "0x%04X\n", ha->phy_port_cnt); + return sysfs_emit(buf, "0x%04X\n", ha->phy_port_cnt); } static ssize_t @@ -232,7 +234,7 @@ qla4xxx_phy_port_num_show(struct device *dev, struct device_attribute *attr, if (is_qla40XX(ha)) return -ENOSYS; - return snprintf(buf, PAGE_SIZE, "0x%04X\n", ha->phy_port_num); + return sysfs_emit(buf, "0x%04X\n", ha->phy_port_num); } static ssize_t @@ -244,7 +246,7 @@ qla4xxx_iscsi_func_cnt_show(struct device *dev, struct device_attribute *attr, if (is_qla40XX(ha)) return -ENOSYS; - return snprintf(buf, PAGE_SIZE, "0x%04X\n", ha->iscsi_pci_func_cnt); + return sysfs_emit(buf, "0x%04X\n", ha->iscsi_pci_func_cnt); } static ssize_t @@ -253,7 +255,7 @@ qla4xxx_hba_model_show(struct device *dev, struct device_attribute *attr, { struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev)); - return snprintf(buf, PAGE_SIZE, "%s\n", ha->model_name); + return sysfs_emit(buf, "%s\n", ha->model_name); } static ssize_t @@ -261,8 +263,8 @@ qla4xxx_fw_timestamp_show(struct device *dev, struct device_attribute *attr, char *buf) { struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev)); - return snprintf(buf, PAGE_SIZE, "%s %s\n", ha->fw_info.fw_build_date, - ha->fw_info.fw_build_time); + return sysfs_emit(buf, "%s %s\n", ha->fw_info.fw_build_date, + ha->fw_info.fw_build_time); } static ssize_t @@ -270,7 +272,7 @@ qla4xxx_fw_build_user_show(struct device *dev, struct device_attribute *attr, char *buf) { struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev)); - return snprintf(buf, PAGE_SIZE, "%s\n", ha->fw_info.fw_build_user); + return sysfs_emit(buf, "%s\n", ha->fw_info.fw_build_user); } static ssize_t @@ -278,7 +280,7 @@ qla4xxx_fw_ext_timestamp_show(struct device *dev, struct device_attribute *attr, char *buf) { struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev)); - return snprintf(buf, PAGE_SIZE, "%s\n", ha->fw_info.extended_timestamp); + return sysfs_emit(buf, "%s\n", ha->fw_info.extended_timestamp); } static ssize_t @@ -300,7 +302,7 @@ qla4xxx_fw_load_src_show(struct device *dev, struct device_attribute *attr, break; } - return snprintf(buf, PAGE_SIZE, "%s\n", load_src); + return sysfs_emit(buf, "%s\n", load_src); } static ssize_t @@ -309,8 +311,8 @@ qla4xxx_fw_uptime_show(struct device *dev, struct device_attribute *attr, { struct scsi_qla_host *ha = to_qla_host(class_to_shost(dev)); qla4xxx_about_firmware(ha); - return snprintf(buf, PAGE_SIZE, "%u.%u secs\n", ha->fw_uptime_secs, - ha->fw_uptime_msecs); + return sysfs_emit(buf, "%u.%u secs\n", ha->fw_uptime_secs, + ha->fw_uptime_msecs); } static DEVICE_ATTR(fw_version, S_IRUGO, qla4xxx_fw_version_show, NULL); From patchwork Tue Mar 19 06:31:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781293 Received: from esa3.hc1455-7.c3s2.iphmx.com (esa3.hc1455-7.c3s2.iphmx.com [207.54.90.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BE3897BB17; Tue, 19 Mar 2024 06:32:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=207.54.90.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829960; cv=none; b=gfh0ThA2AiQs8xujlHbAFfe9ZoXKRQXnm90zVLLwWTcKv/ynTmbnvY240XQnzZ8ns8otEWRv6ulvkoDTeRqGqAgp7dnC+xHWkcVHLm5pVWZVSgA+Q7g5JlfQidDvjY19Npu3K6kTvGExUojMUxwuxvmeTVNawPdNDkQcEw4JhrU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829960; c=relaxed/simple; bh=baI9UKcmqI2c5+P3piF1BFtkbLbgepZbgpJ92ne5WiI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=rOrGfzJHBibIgzmyaT4ZgnRU9HzTi57T+kbZIkm+1wBy4CgCF51ywYfTqzSeBRMBhrkBVz0zWgUhhZiETUEEeBk2aIjOK+rpX6A+wuygpY4/8kIxlEcNhALFx9WawSV3kf/uAJzUlQd7Zj0YhWcGMmHNhrgPTM/Qg+mTNhRb+jk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=kDOOWYCL; arc=none smtp.client-ip=207.54.90.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="kDOOWYCL" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829956; x=1742365956; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=baI9UKcmqI2c5+P3piF1BFtkbLbgepZbgpJ92ne5WiI=; b=kDOOWYCLznZi6ZIvC7vRr490dqE5mo/uf3wQ8ihwxtoEvMjyFCa0shjh ivN5gJVTcuRcsSrQ03unpgdNpiWs5HptgQwqFJelP1Nt5gM7a+uKAzrhv ZWs/ElD2o2ephGvgUgtuhjMz0pyViNPU1jH9dbS7zSDK7Nr9BzuA9ONCF UXWDTjAvI4gdZO4nV2HiTr9u34PL3LQdmvI/imtZvXfjdPtAGDx0WkTPd sJVfk0QbctdhlzgIL89ZXov0QzllbQ64AKSqrmepXY11T0sqX3+FhtXq7 Vb/hO2akxna6TF/RbuP9cgkdmEpkEuQMuyx3ws+lqNWovykIiLvnJseyA g==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="152681222" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="152681222" Received: from unknown (HELO yto-r2.gw.nic.fujitsu.com) ([218.44.52.218]) by esa3.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:28 +0900 Received: from yto-m4.gw.nic.fujitsu.com (yto-nat-yto-m4.gw.nic.fujitsu.com [192.168.83.67]) by yto-r2.gw.nic.fujitsu.com (Postfix) with ESMTP id 4E768C6817; Tue, 19 Mar 2024 15:32:25 +0900 (JST) Received: from kws-ab4.gw.nic.fujitsu.com (kws-ab4.gw.nic.fujitsu.com [192.51.206.22]) by yto-m4.gw.nic.fujitsu.com (Postfix) with ESMTP id 84B9ED7B7E; Tue, 19 Mar 2024 15:32:24 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab4.gw.nic.fujitsu.com (Postfix) with ESMTP id 165E4227A9F; Tue, 19 Mar 2024 15:32:24 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id 7F6421A006B; Tue, 19 Mar 2024 14:32:23 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , Don Brace , "James E.J. Bottomley" , "Martin K. Petersen" , storagedev@microchip.com, linux-scsi@vger.kernel.org Subject: [PATCH v2 11/25] scsi: smartpqi: Convert sprintf() family to sysfs_emit() family Date: Tue, 19 Mar 2024 14:31:18 +0800 Message-Id: <20240319063132.1588443-11-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--18.084400-10.000000 X-TMASE-MatchedRID: 5tAkVIfDYR4bO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/iwxLjNbuPBWO0yVK/5LmcQiM ingSlKoKMx5HzfQifbPE41045MrHXFDCN/1eC4ASdVNZaI2n6/8E5XPQnBzGXq8KsbROd9VSArq oIZrVn188kJuMyiC3lszNrLIKBvFAVnOEgI8O/XG/6CCblACLhmGrGwE7uWstHpEd1UrzmFTTYI mZknXwi90lebHNn76Z+TVY0aF/W6kA71xweao1RtnQidXBUtVMWUg/hm489yJXP+fN7LWAfXVJ6 loCpH42WjpcuRD/SFYRVRrptqkWokfRhdidsajMURSScn+QSXt0H8LFZNFG7JQhrLH5KSJ0= X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: Don Brace CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: storagedev@microchip.com CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/smartpqi/smartpqi_init.c | 86 +++++++++++++-------------- 1 file changed, 41 insertions(+), 45 deletions(-) diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c index 385180c98be4..b4ad519f049e 100644 --- a/drivers/scsi/smartpqi/smartpqi_init.c +++ b/drivers/scsi/smartpqi/smartpqi_init.c @@ -6889,13 +6889,13 @@ static ssize_t pqi_firmware_version_show(struct device *dev, shost = class_to_shost(dev); ctrl_info = shost_to_hba(shost); - return scnprintf(buffer, PAGE_SIZE, "%s\n", ctrl_info->firmware_version); + return sysfs_emit(buffer, "%s\n", ctrl_info->firmware_version); } static ssize_t pqi_driver_version_show(struct device *dev, struct device_attribute *attr, char *buffer) { - return scnprintf(buffer, PAGE_SIZE, "%s\n", DRIVER_VERSION BUILD_TIMESTAMP); + return sysfs_emit(buffer, "%s\n", DRIVER_VERSION BUILD_TIMESTAMP); } static ssize_t pqi_serial_number_show(struct device *dev, @@ -6907,7 +6907,7 @@ static ssize_t pqi_serial_number_show(struct device *dev, shost = class_to_shost(dev); ctrl_info = shost_to_hba(shost); - return scnprintf(buffer, PAGE_SIZE, "%s\n", ctrl_info->serial_number); + return sysfs_emit(buffer, "%s\n", ctrl_info->serial_number); } static ssize_t pqi_model_show(struct device *dev, @@ -6919,7 +6919,7 @@ static ssize_t pqi_model_show(struct device *dev, shost = class_to_shost(dev); ctrl_info = shost_to_hba(shost); - return scnprintf(buffer, PAGE_SIZE, "%s\n", ctrl_info->model); + return sysfs_emit(buffer, "%s\n", ctrl_info->model); } static ssize_t pqi_vendor_show(struct device *dev, @@ -6931,7 +6931,7 @@ static ssize_t pqi_vendor_show(struct device *dev, shost = class_to_shost(dev); ctrl_info = shost_to_hba(shost); - return scnprintf(buffer, PAGE_SIZE, "%s\n", ctrl_info->vendor); + return sysfs_emit(buffer, "%s\n", ctrl_info->vendor); } static ssize_t pqi_host_rescan_store(struct device *dev, @@ -6952,14 +6952,14 @@ static ssize_t pqi_lockup_action_show(struct device *dev, for (i = 0; i < ARRAY_SIZE(pqi_lockup_actions); i++) { if (pqi_lockup_actions[i].action == pqi_lockup_action) - count += scnprintf(buffer + count, PAGE_SIZE - count, + count += sysfs_emit_at(buffer, count, "[%s] ", pqi_lockup_actions[i].name); else - count += scnprintf(buffer + count, PAGE_SIZE - count, + count += sysfs_emit_at(buffer, count, "%s ", pqi_lockup_actions[i].name); } - count += scnprintf(buffer + count, PAGE_SIZE - count, "\n"); + count += sysfs_emit_at(buffer, count, "\n"); return count; } @@ -6990,8 +6990,8 @@ static ssize_t pqi_host_enable_stream_detection_show(struct device *dev, struct Scsi_Host *shost = class_to_shost(dev); struct pqi_ctrl_info *ctrl_info = shost_to_hba(shost); - return scnprintf(buffer, 10, "%x\n", - ctrl_info->enable_stream_detection); + return sysfs_emit(buffer, "%x\n", + ctrl_info->enable_stream_detection); } static ssize_t pqi_host_enable_stream_detection_store(struct device *dev, @@ -7018,7 +7018,7 @@ static ssize_t pqi_host_enable_r5_writes_show(struct device *dev, struct Scsi_Host *shost = class_to_shost(dev); struct pqi_ctrl_info *ctrl_info = shost_to_hba(shost); - return scnprintf(buffer, 10, "%x\n", ctrl_info->enable_r5_writes); + return sysfs_emit(buffer, "%x\n", ctrl_info->enable_r5_writes); } static ssize_t pqi_host_enable_r5_writes_store(struct device *dev, @@ -7045,7 +7045,7 @@ static ssize_t pqi_host_enable_r6_writes_show(struct device *dev, struct Scsi_Host *shost = class_to_shost(dev); struct pqi_ctrl_info *ctrl_info = shost_to_hba(shost); - return scnprintf(buffer, 10, "%x\n", ctrl_info->enable_r6_writes); + return sysfs_emit(buffer, "%x\n", ctrl_info->enable_r6_writes); } static ssize_t pqi_host_enable_r6_writes_store(struct device *dev, @@ -7128,13 +7128,16 @@ static ssize_t pqi_unique_id_show(struct device *dev, spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags); - return scnprintf(buffer, PAGE_SIZE, - "%02X%02X%02X%02X%02X%02X%02X%02X" - "%02X%02X%02X%02X%02X%02X%02X%02X\n", - unique_id[0], unique_id[1], unique_id[2], unique_id[3], - unique_id[4], unique_id[5], unique_id[6], unique_id[7], - unique_id[8], unique_id[9], unique_id[10], unique_id[11], - unique_id[12], unique_id[13], unique_id[14], unique_id[15]); + return sysfs_emit(buffer, "%02X%02X%02X%02X%02X%02X%02X%02X" + "%02X%02X%02X%02X%02X%02X%02X%02X\n", + unique_id[0], unique_id[1], unique_id[2], + unique_id[3], + unique_id[4], unique_id[5], unique_id[6], + unique_id[7], + unique_id[8], unique_id[9], unique_id[10], + unique_id[11], + unique_id[12], unique_id[13], unique_id[14], + unique_id[15]); } static ssize_t pqi_lunid_show(struct device *dev, @@ -7164,7 +7167,7 @@ static ssize_t pqi_lunid_show(struct device *dev, spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags); - return scnprintf(buffer, PAGE_SIZE, "0x%8phN\n", lunid); + return sysfs_emit(buffer, "0x%8phN\n", lunid); } #define MAX_PATHS 8 @@ -7208,13 +7211,12 @@ static ssize_t pqi_path_info_show(struct device *dev, else continue; - output_len += scnprintf(buf + output_len, - PAGE_SIZE - output_len, - "[%d:%d:%d:%d] %20.20s ", - ctrl_info->scsi_host->host_no, - device->bus, device->target, - device->lun, - scsi_device_type(device->devtype)); + output_len += sysfs_emit_at(buf, output_len, + "[%d:%d:%d:%d] %20.20s ", + ctrl_info->scsi_host->host_no, + device->bus, device->target, + device->lun, + scsi_device_type(device->devtype)); if (device->devtype == TYPE_RAID || pqi_is_logical_device(device)) @@ -7227,27 +7229,22 @@ static ssize_t pqi_path_info_show(struct device *dev, if (phys_connector[1] < '0') phys_connector[1] = '0'; - output_len += scnprintf(buf + output_len, - PAGE_SIZE - output_len, - "PORT: %.2s ", phys_connector); + output_len += sysfs_emit_at(buf, output_len, + "PORT: %.2s ", phys_connector); box = device->box[i]; if (box != 0 && box != 0xFF) - output_len += scnprintf(buf + output_len, - PAGE_SIZE - output_len, - "BOX: %hhu ", box); + output_len += sysfs_emit_at(buf, output_len, + "BOX: %hhu ", box); if ((device->devtype == TYPE_DISK || device->devtype == TYPE_ZBC) && pqi_expose_device(device)) - output_len += scnprintf(buf + output_len, - PAGE_SIZE - output_len, - "BAY: %hhu ", bay); + output_len += sysfs_emit_at(buf, output_len, + "BAY: %hhu ", bay); end_buffer: - output_len += scnprintf(buf + output_len, - PAGE_SIZE - output_len, - "%s\n", active); + output_len += sysfs_emit_at(buf, output_len, "%s\n", active); } spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags); @@ -7282,7 +7279,7 @@ static ssize_t pqi_sas_address_show(struct device *dev, spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags); - return scnprintf(buffer, PAGE_SIZE, "0x%016llx\n", sas_address); + return sysfs_emit(buffer, "0x%016llx\n", sas_address); } static ssize_t pqi_ssd_smart_path_enabled_show(struct device *dev, @@ -7346,7 +7343,7 @@ static ssize_t pqi_raid_level_show(struct device *dev, spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags); - return scnprintf(buffer, PAGE_SIZE, "%s\n", raid_level); + return sysfs_emit(buffer, "%s\n", raid_level); } static ssize_t pqi_raid_bypass_cnt_show(struct device *dev, @@ -7376,7 +7373,7 @@ static ssize_t pqi_raid_bypass_cnt_show(struct device *dev, spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags); - return scnprintf(buffer, PAGE_SIZE, "0x%x\n", raid_bypass_cnt); + return sysfs_emit(buffer, "0x%x\n", raid_bypass_cnt); } static ssize_t pqi_sas_ncq_prio_enable_show(struct device *dev, @@ -7402,8 +7399,7 @@ static ssize_t pqi_sas_ncq_prio_enable_show(struct device *dev, return -ENODEV; } - output_len = snprintf(buf, PAGE_SIZE, "%d\n", - device->ncq_prio_enable); + output_len = sysfs_emit(buf, "%d\n", device->ncq_prio_enable); spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags); return output_len; @@ -7455,7 +7451,7 @@ static ssize_t pqi_numa_node_show(struct device *dev, sdev = to_scsi_device(dev); ctrl_info = shost_to_hba(sdev->host); - return scnprintf(buffer, PAGE_SIZE, "%d\n", ctrl_info->numa_node); + return sysfs_emit(buffer, "%d\n", ctrl_info->numa_node); } static DEVICE_ATTR(lunid, 0444, pqi_lunid_show, NULL); From patchwork Tue Mar 19 06:31:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781477 Received: from esa10.hc1455-7.c3s2.iphmx.com (esa10.hc1455-7.c3s2.iphmx.com [139.138.36.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5B6E550263; Tue, 19 Mar 2024 06:32:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=139.138.36.225 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829953; cv=none; b=HWHevLnZqtsMLPC0sYckg9O4K2dlCSr4lrzG3Yh1fWtZFJuv1136UJxE7JXNTSarQkXjpwS0EBjpMw+Lpg6sdxVk4g8sPAYS/SR8T8wnt1sHLaJK6dR1Zl/lgYID1vB5a2f+5iUuLJ5GAxFFqUH+YvzV1x8RpnP2XlCRcYJHNnE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829953; c=relaxed/simple; bh=nZyfZZS2anfXFv69+y8nmBtqiJPKCJ5FHkiZs7WXN60=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Q8akbs6fpP3ngS9Duwr+0YRxm3j+zcR5s+d1ejoy3bTm/sJByFidXjfL7kewtn8oGURDxbEQjpc3SAeHzv0L1lPSkPY18f1B8tUC/IeYGjqiCxF8dPcr0NHvb+Z2KnEBjPg7M0hzSw0u7vBbPXTZkWnwtBxjcRlAINtVtjwmHws= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=iLCdpJC1; arc=none smtp.client-ip=139.138.36.225 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="iLCdpJC1" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829951; x=1742365951; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=nZyfZZS2anfXFv69+y8nmBtqiJPKCJ5FHkiZs7WXN60=; b=iLCdpJC1t8eIUKTsyA6OrAiM4GVv7CgdD/anBWkNXzUQaxop8RRiOo// AfJF1fnKw1wMQRl3Y3eEBG5waa6zftO1uw5Sjv+AIWdOFR4eIorvZwEg4 cHugGf6Q7qmPIdWwDhjBPIpAAoBxpNIi605HpM8WU4QsQkRU1wwsBoGgK AyfcfecwOoeHfObKI+E48u5rBxlpUPlmzFODtzZLY79z7PY4pAB3r/XbW bzZbCbu66eWGLNKUh/F2ppZQ1zTgWe8iJj3SuXzVGjDekYG5ojvwzl8wx rTd8+SxKKOppbEah8SRlRNmK/i6OW6ItqlK/I2U+xVX8Yzk2ZWkWf0uqt g==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="140310358" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="140310358" Received: from unknown (HELO yto-r4.gw.nic.fujitsu.com) ([218.44.52.220]) by esa10.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:27 +0900 Received: from yto-m1.gw.nic.fujitsu.com (yto-nat-yto-m1.gw.nic.fujitsu.com [192.168.83.64]) by yto-r4.gw.nic.fujitsu.com (Postfix) with ESMTP id B4684D9F04; Tue, 19 Mar 2024 15:32:25 +0900 (JST) Received: from kws-ab3.gw.nic.fujitsu.com (kws-ab3.gw.nic.fujitsu.com [192.51.206.21]) by yto-m1.gw.nic.fujitsu.com (Postfix) with ESMTP id EA1BFD4241; Tue, 19 Mar 2024 15:32:24 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab3.gw.nic.fujitsu.com (Postfix) with ESMTP id 7A6E7200A7E3A; Tue, 19 Mar 2024 15:32:24 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id E48201A006D; Tue, 19 Mar 2024 14:32:23 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , Karan Tilak Kumar , Sesidhar Baddela , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org Subject: [PATCH v2 12/25] scsi: snic: Convert sprintf() family to sysfs_emit() family Date: Tue, 19 Mar 2024 14:31:19 +0800 Message-Id: <20240319063132.1588443-12-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--13.604400-10.000000 X-TMASE-MatchedRID: RKkR8WK0E1obO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u+49IoBojnioWluHEj++VqUhQ6 YZNvnIb+Ekt/L8HtAJ785xNkZcrN2ePWEUnWb98FBDn6Fjq77jvioIsi7Sa0gwLkNMQzGl5B+Kr WCPbERPznpYPqS6jzxXnkq6nWMKnzGt2xdLsY3ZHzmmMD/HXF+NGYVVYIZ7j0GWfDd0b0zMaPFj JEFr+olwXCBO/GKkVqOhzOa6g8Krd/ayBsm1u+IQ0FGsEBH1RwTQPdH9Gpv0uXnYQFK4PLxGg6U Cv2vKWA= X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: Karan Tilak Kumar CC: Sesidhar Baddela CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian Reviewed-by: Karan Tilak Kumar --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/snic/snic_attrs.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/scsi/snic/snic_attrs.c b/drivers/scsi/snic/snic_attrs.c index 3ddbdbc3ded1..48bf82d042b4 100644 --- a/drivers/scsi/snic/snic_attrs.c +++ b/drivers/scsi/snic/snic_attrs.c @@ -13,7 +13,7 @@ snic_show_sym_name(struct device *dev, { struct snic *snic = shost_priv(class_to_shost(dev)); - return snprintf(buf, PAGE_SIZE, "%s\n", snic->name); + return sysfs_emit(buf, "%s\n", snic->name); } static ssize_t @@ -23,8 +23,7 @@ snic_show_state(struct device *dev, { struct snic *snic = shost_priv(class_to_shost(dev)); - return snprintf(buf, PAGE_SIZE, "%s\n", - snic_state_str[snic_get_state(snic)]); + return sysfs_emit(buf, "%s\n", snic_state_str[snic_get_state(snic)]); } static ssize_t @@ -32,7 +31,7 @@ snic_show_drv_version(struct device *dev, struct device_attribute *attr, char *buf) { - return snprintf(buf, PAGE_SIZE, "%s\n", SNIC_DRV_VERSION); + return sysfs_emit(buf, "%s\n", SNIC_DRV_VERSION); } static ssize_t @@ -45,8 +44,8 @@ snic_show_link_state(struct device *dev, if (snic->config.xpt_type == SNIC_DAS) snic->link_status = svnic_dev_link_status(snic->vdev); - return snprintf(buf, PAGE_SIZE, "%s\n", - (snic->link_status) ? "Link Up" : "Link Down"); + return sysfs_emit(buf, "%s\n", + (snic->link_status) ? "Link Up" : "Link Down"); } static DEVICE_ATTR(snic_sym_name, S_IRUGO, snic_show_sym_name, NULL); From patchwork Tue Mar 19 06:31:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781300 Received: from esa2.hc1455-7.c3s2.iphmx.com (esa2.hc1455-7.c3s2.iphmx.com [207.54.90.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0A4D54F8A0; Tue, 19 Mar 2024 06:32:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=207.54.90.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829953; cv=none; b=o14wQU7uhiKvPVuEjLB/nBx6FeEX6bF7j7Bd0Qv856su5GnMGIu9e/Z33hyfEv34oBQHr5gyNoDz/aqG6tvB4RmeQpq50c3vu+dh3KssirwsZH4j+Z6puJzY8rdOclDMgW8zBqJZwu8INqI27pTiThyzN07B3jHJhSK2opVnGRU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829953; c=relaxed/simple; bh=tBThCQPjQE/29YQco1ef1zGiklQgfc7gHW6Rwmw4KJs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=t8h3ov7ffUo4gCm5XyR3JslFCMD+vPIr+SD2QfvZCMMsmlT34k2QEbunX7QvDp30bRYVcX9jwRuw3cAxQxn7a9vqlPjbA0jciY63PV7pq2au+Lt2FltdgLUbmAIPMtO3QciA4+DIG28ehaf+eb4bqnx8mKSvtPuV6qRLHD+6WDU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=IEJy0ex/; arc=none smtp.client-ip=207.54.90.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="IEJy0ex/" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829952; x=1742365952; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=tBThCQPjQE/29YQco1ef1zGiklQgfc7gHW6Rwmw4KJs=; b=IEJy0ex/iZzZbOMMsC4+98xBnLxI6GaHOS4hQ9q8yt06ZppupinwxQ4U qbJTTu02w7RnUgfOFQAPv0eslwQdqTwQh7XNORxX3x0Pt01Zwz4HrYv6K Mn7kE+te900tXezkXANUunfD+5dVJlweQhC55JaBuqh1+8Pimvie9aPZg doHc9hcEnVl0iwUWR/uQIiYIR6/xW6petXh8sxIYlaShO+FrZN6ciurvI ceGvtLeV/TH2pqTgj1+FDOWc9Afl1eC13ZxX/v+lUNSYCv7zmCEYacb7W RmJ1brcDTgJ4DmqIFX9251Imm9FRwSWkgWAA1IlmU9M+a1MPS3873R+CK w==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="152728478" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="152728478" Received: from unknown (HELO yto-r2.gw.nic.fujitsu.com) ([218.44.52.218]) by esa2.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:29 +0900 Received: from yto-m4.gw.nic.fujitsu.com (yto-nat-yto-m4.gw.nic.fujitsu.com [192.168.83.67]) by yto-r2.gw.nic.fujitsu.com (Postfix) with ESMTP id 28BDE2A0DFB; Tue, 19 Mar 2024 15:32:26 +0900 (JST) Received: from kws-ab4.gw.nic.fujitsu.com (kws-ab4.gw.nic.fujitsu.com [192.51.206.22]) by yto-m4.gw.nic.fujitsu.com (Postfix) with ESMTP id 63FFAD7B7E; Tue, 19 Mar 2024 15:32:25 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab4.gw.nic.fujitsu.com (Postfix) with ESMTP id CF411227ABA; Tue, 19 Mar 2024 15:32:24 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id 5319E1A006B; Tue, 19 Mar 2024 14:32:24 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , Don Brace , "James E.J. Bottomley" , "Martin K. Petersen" , storagedev@microchip.com, linux-scsi@vger.kernel.org Subject: [PATCH v2 13/25] scsi: hpsa: Convert sprintf() family to sysfs_emit() family Date: Tue, 19 Mar 2024 14:31:20 +0800 Message-Id: <20240319063132.1588443-13-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--4.559400-10.000000 X-TMASE-MatchedRID: GSiycdxM5vsbO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/iwxLjNbuPBWO0yVK/5LmcQiM ingSlKoKMx5HzfQifbPE41045MrHXFDCN/1eC4ASdVNZaI2n6/8E5XPQnBzGXq8KsbROd9VSArq oIZrVn1/U37CXnDNb0YMIDOhn95YjK20n6F2q4vXIXgPJ4AG/7JScvOTX4jHOQc9WQFO7fUxKTG NKPwaynJU6aUX+3vkKsvKI2PiWDPatXt2Ka9+bg5JzEkxvZR/ihHrZE2+S86/3pfg0cr18IIta5 3KBVoI51TUobi0Qhw+/g2JkR9Lgz4mj1E/mjepKeAiCmPx4NwBnUJ0Ek6yhjxEHRux+uk8hxKpv EGAbTDkkshj6jzgHA7FiJ07jWNmIhk4P7jJXT8jzso9K68PwwlLQqrPi+WrvqIdgzy2DY5X5dMA go6+pwap9QDWZQntFsPqi2YChHZ1uMG6V02+QySir3tZId0WN+6klq53W5kJ9Gzq4huQVX X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: Don Brace CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: storagedev@microchip.com CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/hpsa.c | 83 +++++++++++++++++++++------------------------ 1 file changed, 38 insertions(+), 45 deletions(-) diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c index af18d20f3079..8d2c1f84c739 100644 --- a/drivers/scsi/hpsa.c +++ b/drivers/scsi/hpsa.c @@ -445,7 +445,7 @@ static ssize_t host_show_lockup_detected(struct device *dev, h = shost_to_hba(shost); ld = lockup_detected(h); - return sprintf(buf, "ld=%d\n", ld); + return sysfs_emit(buf, "ld=%d\n", ld); } static ssize_t host_store_hp_ssd_smart_path_status(struct device *dev, @@ -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,7 @@ 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 +545,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 +557,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 +641,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[]) @@ -690,7 +689,7 @@ static ssize_t raid_level_show(struct device *dev, /* Is this even a logical drive? */ if (!is_logical_device(hdev)) { spin_unlock_irqrestore(&h->lock, flags); - l = snprintf(buf, PAGE_SIZE, "N/A\n"); + l = sysfs_emit(buf, "N/A\n"); return l; } @@ -698,7 +697,7 @@ static ssize_t raid_level_show(struct device *dev, spin_unlock_irqrestore(&h->lock, flags); if (rlevel > RAID_UNKNOWN) rlevel = RAID_UNKNOWN; - l = snprintf(buf, PAGE_SIZE, "RAID %s\n", raid_label[rlevel]); + l = sysfs_emit(buf, "RAID %s\n", raid_label[rlevel]); return l; } @@ -721,7 +720,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,13 +742,12 @@ 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, - "%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], - sn[4], sn[5], sn[6], sn[7], - sn[8], sn[9], sn[10], sn[11], - sn[12], sn[13], sn[14], sn[15]); + 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], + sn[4], sn[5], sn[6], sn[7], + sn[8], sn[9], sn[10], sn[11], + sn[12], sn[13], sn[14], sn[15]); } static ssize_t sas_address_show(struct device *dev, @@ -772,7 +770,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 +794,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 @@ -837,17 +835,15 @@ static ssize_t path_info_show(struct device *dev, else continue; - output_len += scnprintf(buf + output_len, - PAGE_SIZE - output_len, + output_len += sysfs_emit_at(buf, output_len, "[%d:%d:%d:%d] %20.20s ", h->scsi_host->host_no, hdev->bus, hdev->target, hdev->lun, scsi_device_type(hdev->devtype)); if (hdev->devtype == TYPE_RAID || is_logical_device(hdev)) { - output_len += scnprintf(buf + output_len, - PAGE_SIZE - output_len, - "%s\n", active); + output_len += sysfs_emit_at(buf, output_len, + "%s\n", active); continue; } @@ -858,30 +854,27 @@ static ssize_t path_info_show(struct device *dev, phys_connector[0] = '0'; if (phys_connector[1] < '0') phys_connector[1] = '0'; - output_len += scnprintf(buf + output_len, - PAGE_SIZE - output_len, + output_len += sysfs_emit_at(buf, output_len, "PORT: %.2s ", phys_connector); if ((hdev->devtype == TYPE_DISK || hdev->devtype == TYPE_ZBC) && hdev->expose_device) { if (box == 0 || box == 0xFF) { - output_len += scnprintf(buf + output_len, - PAGE_SIZE - output_len, - "BAY: %hhu %s\n", - bay, active); + output_len += sysfs_emit_at(buf, output_len, + "BAY: %hhu %s\n", + bay, active); } else { - output_len += scnprintf(buf + output_len, - PAGE_SIZE - output_len, + output_len += sysfs_emit_at(buf, output_len, "BOX: %hhu BAY: %hhu %s\n", box, bay, active); } } else if (box != 0 && box != 0xFF) { - output_len += scnprintf(buf + output_len, - PAGE_SIZE - output_len, "BOX: %hhu %s\n", - box, active); + output_len += sysfs_emit_at(buf, output_len, + "BOX: %hhu %s\n", + box, active); } else - output_len += scnprintf(buf + output_len, - PAGE_SIZE - output_len, "%s\n", active); + output_len += sysfs_emit_at(buf, output_len, + "%s\n", active); } spin_unlock_irqrestore(&h->devlock, flags); @@ -895,7 +888,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 +898,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); From patchwork Tue Mar 19 06:31:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781297 Received: from esa6.hc1455-7.c3s2.iphmx.com (esa6.hc1455-7.c3s2.iphmx.com [68.232.139.139]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E7D4851C40; Tue, 19 Mar 2024 06:32:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=68.232.139.139 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829955; cv=none; b=IDlHDfzDk/kL3LNk3vtchrqn2lufyGpTCXtfP4b4oKuRGuDZijHGgM6GJR5Fs3yZv3ndhcidR7dVFXfAKW4uLBex7gg9metdM+nIfk+ppKDfaAvcMRQvOhm4I2Hiwq3UUYG2ph+Uksbk6W9q3MlbD0bjlQEDkGtq09WxRx76ddw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829955; c=relaxed/simple; bh=ZlA6JU7/ehef/vW2jERz/3A3wyjNfKl0XuA2hSGKzPc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=umPxziulaa92yNVrk8pKoo0Wcl1Bat0qYPr0LNOJJFYDODv0jPwVUB58uMhl0DAvyIcfCTpSYsQ7YGrCW4zuDTzh55dJAqR5AqVMjQ2hR5UlExRwZKtXlS9U7v5wTSiMzOj0KIZruVckllVt1LtxXXjFDd9HxBcITrGzcZRUI1U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=WxaJmaGm; arc=none smtp.client-ip=68.232.139.139 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="WxaJmaGm" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829953; x=1742365953; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ZlA6JU7/ehef/vW2jERz/3A3wyjNfKl0XuA2hSGKzPc=; b=WxaJmaGmUCAy0U7ObGi7kM3t7zUP5Pem70LKx8yaxgRt9kJkNb1k2fUw QI+6xEj1F4RMFk8cPgHHvCrO55K9VQWoWvcY1O+FlZZFHNYBST52PEBYt C4yvTnBsPNHWpjjdO3AgiME+y9urdZlcEnpkJ39UBWNzf/kgo3qYeRZE1 KQMeZdEsZzdrYQjv6RL5nBMqoorPasHCt+U8hZmB6tMxS8KTFoEvYe7s2 h70hlUaPTg+4ZsqZksCvZY2G/Dnrm2ucsjqPanR7c1pv2ZZP4txSzzW33 +MjqQZ/whftQrYpkgNJkqbzSin6Y9lHXTxyngVarnrWS6KQw5edkhVVlr A==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="154551207" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="154551207" Received: from unknown (HELO yto-r3.gw.nic.fujitsu.com) ([218.44.52.219]) by esa6.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:28 +0900 Received: from yto-m2.gw.nic.fujitsu.com (yto-nat-yto-m2.gw.nic.fujitsu.com [192.168.83.65]) by yto-r3.gw.nic.fujitsu.com (Postfix) with ESMTP id 7471A10A303; Tue, 19 Mar 2024 15:32:26 +0900 (JST) Received: from kws-ab3.gw.nic.fujitsu.com (kws-ab3.gw.nic.fujitsu.com [192.51.206.21]) by yto-m2.gw.nic.fujitsu.com (Postfix) with ESMTP id ADEB4D5E8B; Tue, 19 Mar 2024 15:32:25 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab3.gw.nic.fujitsu.com (Postfix) with ESMTP id 39A4420099077; Tue, 19 Mar 2024 15:32:25 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id A908D1A006D; Tue, 19 Mar 2024 14:32:24 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , HighPoint Linux Team , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org Subject: [PATCH v2 14/25] scsi: hptiop: Convert sprintf() family to sysfs_emit() family Date: Tue, 19 Mar 2024 14:31:21 +0800 Message-Id: <20240319063132.1588443-14-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--9.668400-10.000000 X-TMASE-MatchedRID: pfKaEBrCt3IbO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u8SyA2F3XSGImluHEj++VqUhQ6 YZNvnIb+Ekt/L8HtAJ785xNkZcrN2ePWEUnWb98FBDn6Fjq77jvioIsi7Sa0gwLkNMQzGl5B+Kr WCPbERPy9hGGyJxSOb+2f2+sX68s9d3YLSL0hj6d9JA2lmQRNUJScvOTX4jHO7DRAx8YqC+RhBv WgZlX+84vM1YF6AJbbCCfuIMF6xLSAHAopEd76vpajbLOEXhRLdRewN0C4wlusoImWqyaA+5zNp VcKo+DLrCT0EGhF/DQ== X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: HighPoint Linux Team CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/hptiop.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/hptiop.c b/drivers/scsi/hptiop.c index f5334ccbf2ca..65426df93270 100644 --- a/drivers/scsi/hptiop.c +++ b/drivers/scsi/hptiop.c @@ -1111,7 +1111,7 @@ static int hptiop_adjust_disk_queue_depth(struct scsi_device *sdev, static ssize_t hptiop_show_version(struct device *dev, struct device_attribute *attr, char *buf) { - return snprintf(buf, PAGE_SIZE, "%s\n", driver_ver); + return sysfs_emit(buf, "%s\n", driver_ver); } static ssize_t hptiop_show_fw_version(struct device *dev, @@ -1120,7 +1120,7 @@ static ssize_t hptiop_show_fw_version(struct device *dev, struct Scsi_Host *host = class_to_shost(dev); struct hptiop_hba *hba = (struct hptiop_hba *)host->hostdata; - return snprintf(buf, PAGE_SIZE, "%d.%d.%d.%d\n", + return sysfs_emit(buf, "%d.%d.%d.%d\n", hba->firmware_version >> 24, (hba->firmware_version >> 16) & 0xff, (hba->firmware_version >> 8) & 0xff, From patchwork Tue Mar 19 06:31:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781470 Received: from esa5.hc1455-7.c3s2.iphmx.com (esa5.hc1455-7.c3s2.iphmx.com [68.232.139.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B11157D3F1; Tue, 19 Mar 2024 06:32:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=68.232.139.130 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829960; cv=none; b=unsKn8k8yGAqhdJA5qI+cvSBJdtTyUTMUVWXIzSdsnI+4bfpzv4JBEiBH2I6cwZ8b+1Rn1iLAQG22vHdJQcKNVdbexHxObUZpxWiESIglHph6f2AZ1p0bi4OH+BaRRpBqEuvbPT29x9rHcDdZzXvF9vhLZq/pin9zbOy211/LEA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829960; c=relaxed/simple; bh=3CQ3zUMY/EjhCuVlZvkqIDd++5xfBApx+Z+AS2rKVvA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=IXbvy64EoioVgjcIZT4TtnJovRGl5lnShRwAV0Jr4QYVfKC4qDMD69LPxKo4IRR1ORGZDhUUOynEpxVJxcZiXNOo1lGnPjsGbEwBGMfL/0khelFpUhXmackQYN3ZzQdrKmNonCRwJ/LZulfTREkc2e+DVk4oNBboPBRZLQNm778= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=tXdSAeV7; arc=none smtp.client-ip=68.232.139.130 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="tXdSAeV7" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829957; x=1742365957; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=3CQ3zUMY/EjhCuVlZvkqIDd++5xfBApx+Z+AS2rKVvA=; b=tXdSAeV7LaNfdy+qI/R+Fvf/ppYoumH6qKELiZFGRuiJUFmmV89Edp5A qY/ByoJda3MSoMJ+mALCVnFt8jDECMFV4O+AJ8P5B2C0VnYKzfWYx7Hk2 Z/SIvlZ075PacdYBe7jBcG+i06S73vZhaY1HoIiCu7bd55A8yC649Izwx zlBnANRkPR1hm0/BYGZAOD/w6czXWzzRJzjp3JoEzPRmPIfogb/d3AfYI 95G6Q62EQjt1fB24kPkyCIR2qgIwQaItyQYlqCMdqPWiWjcEjsUAdJYcr Axn5t1qcOc7PZkxm22uF0KhZvEmIZ6QAB5wqpVbpcXOoPeInIIGet/Ktq g==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="152151609" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="152151609" Received: from unknown (HELO oym-r1.gw.nic.fujitsu.com) ([210.162.30.89]) by esa5.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:28 +0900 Received: from oym-m3.gw.nic.fujitsu.com (oym-nat-oym-m3.gw.nic.fujitsu.com [192.168.87.60]) by oym-r1.gw.nic.fujitsu.com (Postfix) with ESMTP id E3099D4807; Tue, 19 Mar 2024 15:32:26 +0900 (JST) Received: from kws-ab3.gw.nic.fujitsu.com (kws-ab3.gw.nic.fujitsu.com [192.51.206.21]) by oym-m3.gw.nic.fujitsu.com (Postfix) with ESMTP id 11174D5623; Tue, 19 Mar 2024 15:32:26 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab3.gw.nic.fujitsu.com (Postfix) with ESMTP id 95A0C200A7E3A; Tue, 19 Mar 2024 15:32:25 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id 12D601A006B; Tue, 19 Mar 2024 14:32:25 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , Brian King , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org Subject: [PATCH v2 15/25] scsi: ipr: Convert sprintf() family to sysfs_emit() family Date: Tue, 19 Mar 2024 14:31:22 +0800 Message-Id: <20240319063132.1588443-15-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--13.337400-10.000000 X-TMASE-MatchedRID: oOTqEOEfBbsbO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/iwxLjNbuPBWO0yVK/5LmcQiM ingSlKoKMx5HzfQifbPE41045MrHXFDCN/1eC4ASdVNZaI2n6/8E5XPQnBzGXq8KsbROd9VSD3F 7iC1Qm2iWQSYYFGzuMEi2pD9yuITqTiN/on4eNSVhRyidsElYkoR62RNvkvOuH4I6QZJ07kT2Nz jXT2owxoa8IWqgpLBOAMuqetGVetnyef22ep6XYOwBXM346/+wtnuv6GB+jLjrKNar+xKpZLsWI PiJpK7WTMNV/VIEXY/xEIIte65Qd X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: Brian King CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/ipr.c | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c index 3819f7c42788..ad3003a67109 100644 --- a/drivers/scsi/ipr.c +++ b/drivers/scsi/ipr.c @@ -3412,10 +3412,10 @@ static ssize_t ipr_show_fw_version(struct device *dev, int len; spin_lock_irqsave(ioa_cfg->host->host_lock, lock_flags); - len = snprintf(buf, PAGE_SIZE, "%02X%02X%02X%02X\n", - ucode_vpd->major_release, ucode_vpd->card_type, - ucode_vpd->minor_release[0], - ucode_vpd->minor_release[1]); + len = sysfs_emit(buf, "%02X%02X%02X%02X\n", + ucode_vpd->major_release, ucode_vpd->card_type, + ucode_vpd->minor_release[0], + ucode_vpd->minor_release[1]); spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags); return len; } @@ -3446,7 +3446,7 @@ static ssize_t ipr_show_log_level(struct device *dev, int len; spin_lock_irqsave(ioa_cfg->host->host_lock, lock_flags); - len = snprintf(buf, PAGE_SIZE, "%d\n", ioa_cfg->log_level); + len = sysfs_emit(buf, "%d\n", ioa_cfg->log_level); spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags); return len; } @@ -3565,9 +3565,9 @@ static ssize_t ipr_show_adapter_state(struct device *dev, spin_lock_irqsave(ioa_cfg->host->host_lock, lock_flags); if (ioa_cfg->hrrq[IPR_INIT_HRRQ].ioa_is_dead) - len = snprintf(buf, PAGE_SIZE, "offline\n"); + len = sysfs_emit(buf, "offline\n"); else - len = snprintf(buf, PAGE_SIZE, "online\n"); + len = sysfs_emit(buf, "online\n"); spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags); return len; } @@ -3684,7 +3684,7 @@ static ssize_t ipr_show_iopoll_weight(struct device *dev, int len; spin_lock_irqsave(shost->host_lock, lock_flags); - len = snprintf(buf, PAGE_SIZE, "%d\n", ioa_cfg->iopoll_weight); + len = sysfs_emit(buf, "%d\n", ioa_cfg->iopoll_weight); spin_unlock_irqrestore(shost->host_lock, lock_flags); return len; @@ -4073,7 +4073,7 @@ static ssize_t ipr_show_fw_type(struct device *dev, int len; spin_lock_irqsave(ioa_cfg->host->host_lock, lock_flags); - len = snprintf(buf, PAGE_SIZE, "%d\n", ioa_cfg->sis64); + len = sysfs_emit(buf, "%d\n", ioa_cfg->sis64); spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags); return len; } @@ -4432,7 +4432,7 @@ static ssize_t ipr_show_adapter_handle(struct device *dev, struct device_attribu spin_lock_irqsave(ioa_cfg->host->host_lock, lock_flags); res = (struct ipr_resource_entry *)sdev->hostdata; if (res) - len = snprintf(buf, PAGE_SIZE, "%08X\n", res->res_handle); + len = sysfs_emit(buf, "%08X\n", res->res_handle); spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags); return len; } @@ -4467,12 +4467,12 @@ static ssize_t ipr_show_resource_path(struct device *dev, struct device_attribut spin_lock_irqsave(ioa_cfg->host->host_lock, lock_flags); res = (struct ipr_resource_entry *)sdev->hostdata; if (res && ioa_cfg->sis64) - len = snprintf(buf, PAGE_SIZE, "%s\n", - __ipr_format_res_path(res->res_path, buffer, - sizeof(buffer))); + len = sysfs_emit(buf, "%s\n", + __ipr_format_res_path(res->res_path, buffer, + sizeof(buffer))); else if (res) - len = snprintf(buf, PAGE_SIZE, "%d:%d:%d:%d\n", ioa_cfg->host->host_no, - res->bus, res->target, res->lun); + len = sysfs_emit(buf, "%d:%d:%d:%d\n", ioa_cfg->host->host_no, + res->bus, res->target, res->lun); spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags); return len; @@ -4506,9 +4506,9 @@ static ssize_t ipr_show_device_id(struct device *dev, struct device_attribute *a spin_lock_irqsave(ioa_cfg->host->host_lock, lock_flags); res = (struct ipr_resource_entry *)sdev->hostdata; if (res && ioa_cfg->sis64) - len = snprintf(buf, PAGE_SIZE, "0x%llx\n", be64_to_cpu(res->dev_id)); + len = sysfs_emit(buf, "0x%llx\n", be64_to_cpu(res->dev_id)); else if (res) - len = snprintf(buf, PAGE_SIZE, "0x%llx\n", res->lun_wwn); + len = sysfs_emit(buf, "0x%llx\n", res->lun_wwn); spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags); return len; @@ -4543,7 +4543,7 @@ static ssize_t ipr_show_resource_type(struct device *dev, struct device_attribut res = (struct ipr_resource_entry *)sdev->hostdata; if (res) - len = snprintf(buf, PAGE_SIZE, "%x\n", res->type); + len = sysfs_emit(buf, "%x\n", res->type); spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags); return len; @@ -4578,7 +4578,7 @@ static ssize_t ipr_show_raw_mode(struct device *dev, spin_lock_irqsave(ioa_cfg->host->host_lock, lock_flags); res = (struct ipr_resource_entry *)sdev->hostdata; if (res) - len = snprintf(buf, PAGE_SIZE, "%d\n", res->raw_mode); + len = sysfs_emit(buf, "%d\n", res->raw_mode); else len = -ENXIO; spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags); From patchwork Tue Mar 19 06:31:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781299 Received: from esa2.hc1455-7.c3s2.iphmx.com (esa2.hc1455-7.c3s2.iphmx.com [207.54.90.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CF64F4F895; Tue, 19 Mar 2024 06:32:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=207.54.90.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829954; cv=none; b=i+J3RvWoweo+fYwT8qpoMpoyckDQHX2iHyRHodweW6ZhxtU3ri8eVb3sqYsP9cPwYROPmi6TJ1vEpusnCo/WcYZhQWgxmCsOSc8liXqFJs1d6wvK47RrEFntxK4tXxyqbxCtGESHG/2ufcZ8gh69B+gFRo2PUfPolAk9X3x/jtw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829954; c=relaxed/simple; bh=l4EGtJOYU2BZ1+ETyz/jemY9d6AOB2fByG/+zecyHN4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=O5gXrJ9yeuqsyGQ236gBvdYf6WxPrPv4HJwJWbG+QPJp/NBIGe6sRyVFWEg0mEnefQjEWl4mPUZLTppBv30VhlRJgrSNZEYuBUvtDfY2F6nYv0WVKiVhB5U89H2n/A7bLsAFI6r5WvQfvofN1ELZEirOJ7Y/tABjMwI/UjV8EKQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=LtXaYeBB; arc=none smtp.client-ip=207.54.90.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="LtXaYeBB" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829952; x=1742365952; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=l4EGtJOYU2BZ1+ETyz/jemY9d6AOB2fByG/+zecyHN4=; b=LtXaYeBBGfTQhRmThKLcGNo9AmfBvh+iY2ZhX6uHDxhXsbEKGhBgKBVw m3aNVAgnwL/Sy1QompTwsBWqhEEnXd2Fus+zscj3S6Udpx0cbuhbXypQE 222qDoO7z9DSa9R2PLtrpc8eVkiXlmMJPtEuDOS4TEnnjpUfG8QBPiRD+ B74TRQexIAbqv1hAgoFDO++w72pWiLG4Dc4TolQafk7rC+XBY+jJkaCLr viybmxM3FRQLu/UvHhdsT1L2C87xC0J/FLtcDBGUc6e0YJpQ0HWkFcFIT 1NZPbIvjmjhc9LkXFe+H3OP3OOl0/bPFVcVWQflc23t63uR1Utok+40ap w==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="152728480" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="152728480" Received: from unknown (HELO oym-r4.gw.nic.fujitsu.com) ([210.162.30.92]) by esa2.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:30 +0900 Received: from oym-m1.gw.nic.fujitsu.com (oym-nat-oym-m1.gw.nic.fujitsu.com [192.168.87.58]) by oym-r4.gw.nic.fujitsu.com (Postfix) with ESMTP id 318E714121D; Tue, 19 Mar 2024 15:32:27 +0900 (JST) Received: from kws-ab4.gw.nic.fujitsu.com (kws-ab4.gw.nic.fujitsu.com [192.51.206.22]) by oym-m1.gw.nic.fujitsu.com (Postfix) with ESMTP id 54242B3C92; Tue, 19 Mar 2024 15:32:26 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab4.gw.nic.fujitsu.com (Postfix) with ESMTP id E5A56228822; Tue, 19 Mar 2024 15:32:25 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id 6F5101A006D; Tue, 19 Mar 2024 14:32:25 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , Hannes Reinecke , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org Subject: [PATCH v2 16/25] scsi: myrb,myrs: Convert sprintf() family to sysfs_emit() family Date: Tue, 19 Mar 2024 14:31:23 +0800 Message-Id: <20240319063132.1588443-16-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--4.285300-10.000000 X-TMASE-MatchedRID: GSiycdxM5vsbO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/0swHSFcVJ6F31Af36gMaTQiM ingSlKoKMx5HzfQifbPE41045MrHXFDCN/1eC4ASdVNZaI2n6/wmWvXEqQTm5wLkNMQzGl5B+Kr WCPbERPznpYPqS6jzxvFpiUsjOqVtpORapdxWmu2e0R3NAF/choR62RNvkvOv96X4NHK9fCPcwy VYGZr7I9kNGk0VfW+w9dnB5Mf9AazWs2YGWPbxrSs47mbT7SAQEa8g1x8eqF/xgxLWmrr87e9QK gtmmT7G4fRLMfglY9qIARNsBFTF+najGxrJsU4OeAiCmPx4NwBnUJ0Ek6yhjxEHRux+uk8hxKpv EGAbTDtcfz+9wuQ+oOHlFnapd16lRoZ4ddQWWr+rnUHJcqmwEPrsXjQEwF8woVeFxQ9MsFb5OWK 0WrsAiIkqNhtxgNbTw7XGexxnxSluMG6V02+QySir3tZId0WN+6klq53W5kJ9Gzq4huQVX X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: Hannes Reinecke CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/myrb.c | 38 ++++++++++---------- drivers/scsi/myrs.c | 88 ++++++++++++++++++++++----------------------- 2 files changed, 63 insertions(+), 63 deletions(-) diff --git a/drivers/scsi/myrb.c b/drivers/scsi/myrb.c index ca2e932dd9b7..06a5e6fb9f99 100644 --- a/drivers/scsi/myrb.c +++ b/drivers/scsi/myrb.c @@ -1767,7 +1767,7 @@ static ssize_t raid_state_show(struct device *dev, int ret; if (!sdev->hostdata) - return snprintf(buf, 16, "Unknown\n"); + return sysfs_emit(buf, "Unknown\n"); if (sdev->channel == myrb_logical_channel(sdev->host)) { struct myrb_ldev_info *ldev_info = sdev->hostdata; @@ -1775,10 +1775,10 @@ static ssize_t raid_state_show(struct device *dev, name = myrb_devstate_name(ldev_info->state); if (name) - ret = snprintf(buf, 32, "%s\n", name); + ret = sysfs_emit(buf, "%s\n", name); else - ret = snprintf(buf, 32, "Invalid (%02X)\n", - ldev_info->state); + ret = sysfs_emit(buf, "Invalid (%02X)\n", + ldev_info->state); } else { struct myrb_pdev_state *pdev_info = sdev->hostdata; unsigned short status; @@ -1796,10 +1796,10 @@ static ssize_t raid_state_show(struct device *dev, else name = myrb_devstate_name(pdev_info->state); if (name) - ret = snprintf(buf, 32, "%s\n", name); + ret = sysfs_emit(buf, "%s\n", name); else - ret = snprintf(buf, 32, "Invalid (%02X)\n", - pdev_info->state); + ret = sysfs_emit(buf, "Invalid (%02X)\n", + pdev_info->state); } return ret; } @@ -1886,11 +1886,11 @@ static ssize_t raid_level_show(struct device *dev, name = myrb_raidlevel_name(ldev_info->raid_level); if (!name) - return snprintf(buf, 32, "Invalid (%02X)\n", - ldev_info->state); - return snprintf(buf, 32, "%s\n", name); + return sysfs_emit(buf, "Invalid (%02X)\n", + ldev_info->state); + return sysfs_emit(buf, "%s\n", name); } - return snprintf(buf, 32, "Physical Drive\n"); + return sysfs_emit(buf, "Physical Drive\n"); } static DEVICE_ATTR_RO(raid_level); @@ -1903,17 +1903,17 @@ static ssize_t rebuild_show(struct device *dev, unsigned char status; if (sdev->channel < myrb_logical_channel(sdev->host)) - return snprintf(buf, 32, "physical device - not rebuilding\n"); + return sysfs_emit(buf, "physical device - not rebuilding\n"); status = myrb_get_rbld_progress(cb, &rbld_buf); if (rbld_buf.ldev_num != sdev->id || status != MYRB_STATUS_SUCCESS) - return snprintf(buf, 32, "not rebuilding\n"); + return sysfs_emit(buf, "not rebuilding\n"); - return snprintf(buf, 32, "rebuilding block %u of %u\n", - rbld_buf.ldev_size - rbld_buf.blocks_left, - rbld_buf.ldev_size); + return sysfs_emit(buf, "rebuilding block %u of %u\n", + rbld_buf.ldev_size - rbld_buf.blocks_left, + rbld_buf.ldev_size); } static ssize_t rebuild_store(struct device *dev, @@ -2140,7 +2140,7 @@ static ssize_t ctlr_num_show(struct device *dev, struct Scsi_Host *shost = class_to_shost(dev); struct myrb_hba *cb = shost_priv(shost); - return snprintf(buf, 20, "%u\n", cb->ctlr_num); + return sysfs_emit(buf, "%u\n", cb->ctlr_num); } static DEVICE_ATTR_RO(ctlr_num); @@ -2150,7 +2150,7 @@ static ssize_t firmware_show(struct device *dev, struct Scsi_Host *shost = class_to_shost(dev); struct myrb_hba *cb = shost_priv(shost); - return snprintf(buf, 16, "%s\n", cb->fw_version); + return sysfs_emit(buf, "%s\n", cb->fw_version); } static DEVICE_ATTR_RO(firmware); @@ -2160,7 +2160,7 @@ static ssize_t model_show(struct device *dev, struct Scsi_Host *shost = class_to_shost(dev); struct myrb_hba *cb = shost_priv(shost); - return snprintf(buf, 16, "%s\n", cb->model_name); + return sysfs_emit(buf, "%s\n", cb->model_name); } static DEVICE_ATTR_RO(model); diff --git a/drivers/scsi/myrs.c b/drivers/scsi/myrs.c index a1eec65a9713..5dda3b669ec1 100644 --- a/drivers/scsi/myrs.c +++ b/drivers/scsi/myrs.c @@ -939,7 +939,7 @@ static ssize_t raid_state_show(struct device *dev, int ret; if (!sdev->hostdata) - return snprintf(buf, 16, "Unknown\n"); + return sysfs_emit(buf, "Unknown\n"); if (sdev->channel >= cs->ctlr_info->physchan_present) { struct myrs_ldev_info *ldev_info = sdev->hostdata; @@ -947,10 +947,10 @@ static ssize_t raid_state_show(struct device *dev, name = myrs_devstate_name(ldev_info->dev_state); if (name) - ret = snprintf(buf, 32, "%s\n", name); + ret = sysfs_emit(buf, "%s\n", name); else - ret = snprintf(buf, 32, "Invalid (%02X)\n", - ldev_info->dev_state); + ret = sysfs_emit(buf, "Invalid (%02X)\n", + ldev_info->dev_state); } else { struct myrs_pdev_info *pdev_info; const char *name; @@ -958,10 +958,10 @@ static ssize_t raid_state_show(struct device *dev, pdev_info = sdev->hostdata; name = myrs_devstate_name(pdev_info->dev_state); if (name) - ret = snprintf(buf, 32, "%s\n", name); + ret = sysfs_emit(buf, "%s\n", name); else - ret = snprintf(buf, 32, "Invalid (%02X)\n", - pdev_info->dev_state); + ret = sysfs_emit(buf, "Invalid (%02X)\n", + pdev_info->dev_state); } return ret; } @@ -1058,7 +1058,7 @@ static ssize_t raid_level_show(struct device *dev, const char *name = NULL; if (!sdev->hostdata) - return snprintf(buf, 16, "Unknown\n"); + return sysfs_emit(buf, "Unknown\n"); if (sdev->channel >= cs->ctlr_info->physchan_present) { struct myrs_ldev_info *ldev_info; @@ -1066,13 +1066,13 @@ static ssize_t raid_level_show(struct device *dev, ldev_info = sdev->hostdata; name = myrs_raid_level_name(ldev_info->raid_level); if (!name) - return snprintf(buf, 32, "Invalid (%02X)\n", - ldev_info->dev_state); + return sysfs_emit(buf, "Invalid (%02X)\n", + ldev_info->dev_state); } else name = myrs_raid_level_name(MYRS_RAID_PHYSICAL); - return snprintf(buf, 32, "%s\n", name); + return sysfs_emit(buf, "%s\n", name); } static DEVICE_ATTR_RO(raid_level); @@ -1086,7 +1086,7 @@ static ssize_t rebuild_show(struct device *dev, unsigned char status; if (sdev->channel < cs->ctlr_info->physchan_present) - return snprintf(buf, 32, "physical device - not rebuilding\n"); + return sysfs_emit(buf, "physical device - not rebuilding\n"); ldev_info = sdev->hostdata; ldev_num = ldev_info->ldev_num; @@ -1098,11 +1098,11 @@ static ssize_t rebuild_show(struct device *dev, return -EIO; } if (ldev_info->rbld_active) { - return snprintf(buf, 32, "rebuilding block %zu of %zu\n", - (size_t)ldev_info->rbld_lba, - (size_t)ldev_info->cfg_devsize); + return sysfs_emit(buf, "rebuilding block %zu of %zu\n", + (size_t)ldev_info->rbld_lba, + (size_t)ldev_info->cfg_devsize); } else - return snprintf(buf, 32, "not rebuilding\n"); + return sysfs_emit(buf, "not rebuilding\n"); } static ssize_t rebuild_store(struct device *dev, @@ -1190,7 +1190,7 @@ static ssize_t consistency_check_show(struct device *dev, unsigned short ldev_num; if (sdev->channel < cs->ctlr_info->physchan_present) - return snprintf(buf, 32, "physical device - not checking\n"); + return sysfs_emit(buf, "physical device - not checking\n"); ldev_info = sdev->hostdata; if (!ldev_info) @@ -1198,11 +1198,11 @@ static ssize_t consistency_check_show(struct device *dev, ldev_num = ldev_info->ldev_num; myrs_get_ldev_info(cs, ldev_num, ldev_info); if (ldev_info->cc_active) - return snprintf(buf, 32, "checking block %zu of %zu\n", - (size_t)ldev_info->cc_lba, - (size_t)ldev_info->cfg_devsize); + return sysfs_emit(buf, "checking block %zu of %zu\n", + (size_t)ldev_info->cc_lba, + (size_t)ldev_info->cfg_devsize); else - return snprintf(buf, 32, "not checking\n"); + return sysfs_emit(buf, "not checking\n"); } static ssize_t consistency_check_store(struct device *dev, @@ -1303,7 +1303,7 @@ static ssize_t serial_show(struct device *dev, memcpy(serial, cs->ctlr_info->serial_number, 16); serial[16] = '\0'; - return snprintf(buf, 16, "%s\n", serial); + return sysfs_emit(buf, "%s\n", serial); } static DEVICE_ATTR_RO(serial); @@ -1313,7 +1313,7 @@ static ssize_t ctlr_num_show(struct device *dev, struct Scsi_Host *shost = class_to_shost(dev); struct myrs_hba *cs = shost_priv(shost); - return snprintf(buf, 20, "%d\n", cs->host->host_no); + return sysfs_emit(buf, "%d\n", cs->host->host_no); } static DEVICE_ATTR_RO(ctlr_num); @@ -1361,22 +1361,22 @@ static ssize_t processor_show(struct device *dev, } } if (first_processor && second_processor) - ret = snprintf(buf, 64, "1: %s (%s, %d cpus)\n" - "2: %s (%s, %d cpus)\n", - info->cpu[0].cpu_name, - first_processor, info->cpu[0].cpu_count, - info->cpu[1].cpu_name, - second_processor, info->cpu[1].cpu_count); + ret = sysfs_emit(buf, "1: %s (%s, %d cpus)\n" + "2: %s (%s, %d cpus)\n", + info->cpu[0].cpu_name, + first_processor, info->cpu[0].cpu_count, + info->cpu[1].cpu_name, + second_processor, info->cpu[1].cpu_count); else if (first_processor && !second_processor) - ret = snprintf(buf, 64, "1: %s (%s, %d cpus)\n2: absent\n", - info->cpu[0].cpu_name, - first_processor, info->cpu[0].cpu_count); + ret = sysfs_emit(buf, "1: %s (%s, %d cpus)\n2: absent\n", + info->cpu[0].cpu_name, + first_processor, info->cpu[0].cpu_count); else if (!first_processor && second_processor) - ret = snprintf(buf, 64, "1: absent\n2: %s (%s, %d cpus)\n", - info->cpu[1].cpu_name, - second_processor, info->cpu[1].cpu_count); + ret = sysfs_emit(buf, "1: absent\n2: %s (%s, %d cpus)\n", + info->cpu[1].cpu_name, + second_processor, info->cpu[1].cpu_count); else - ret = snprintf(buf, 64, "1: absent\n2: absent\n"); + ret = sysfs_emit(buf, "1: absent\n2: absent\n"); return ret; } @@ -1388,7 +1388,7 @@ static ssize_t model_show(struct device *dev, struct Scsi_Host *shost = class_to_shost(dev); struct myrs_hba *cs = shost_priv(shost); - return snprintf(buf, 28, "%s\n", cs->model_name); + return sysfs_emit(buf, "%s\n", cs->model_name); } static DEVICE_ATTR_RO(model); @@ -1398,7 +1398,7 @@ static ssize_t ctlr_type_show(struct device *dev, struct Scsi_Host *shost = class_to_shost(dev); struct myrs_hba *cs = shost_priv(shost); - return snprintf(buf, 4, "%d\n", cs->ctlr_info->ctlr_type); + return sysfs_emit(buf, "%d\n", cs->ctlr_info->ctlr_type); } static DEVICE_ATTR_RO(ctlr_type); @@ -1408,7 +1408,7 @@ static ssize_t cache_size_show(struct device *dev, struct Scsi_Host *shost = class_to_shost(dev); struct myrs_hba *cs = shost_priv(shost); - return snprintf(buf, 8, "%d MB\n", cs->ctlr_info->cache_size_mb); + return sysfs_emit(buf, "%d MB\n", cs->ctlr_info->cache_size_mb); } static DEVICE_ATTR_RO(cache_size); @@ -1418,10 +1418,10 @@ static ssize_t firmware_show(struct device *dev, struct Scsi_Host *shost = class_to_shost(dev); struct myrs_hba *cs = shost_priv(shost); - return snprintf(buf, 16, "%d.%02d-%02d\n", - cs->ctlr_info->fw_major_version, - cs->ctlr_info->fw_minor_version, - cs->ctlr_info->fw_turn_number); + return sysfs_emit(buf, "%d.%02d-%02d\n", + cs->ctlr_info->fw_major_version, + cs->ctlr_info->fw_minor_version, + cs->ctlr_info->fw_turn_number); } static DEVICE_ATTR_RO(firmware); @@ -1488,7 +1488,7 @@ static ssize_t disable_enclosure_messages_show(struct device *dev, struct Scsi_Host *shost = class_to_shost(dev); struct myrs_hba *cs = shost_priv(shost); - return snprintf(buf, 3, "%d\n", cs->disable_enc_msg); + return sysfs_emit(buf, "%d\n", cs->disable_enc_msg); } static ssize_t disable_enclosure_messages_store(struct device *dev, From patchwork Tue Mar 19 06:31:24 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781295 Received: from esa6.hc1455-7.c3s2.iphmx.com (esa6.hc1455-7.c3s2.iphmx.com [68.232.139.139]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CB07854679; Tue, 19 Mar 2024 06:32:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=68.232.139.139 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829957; cv=none; b=EGdhWo6+TqmCmeapE16X7Uhk62kpauVTHgncIGymo/vhY5SZwmXJmaH9DSS3cUNzniHBb0hd8eWsF13o4egw0iTGOIaMHqbx0hr7JAHlq4tMdg8AR9xKVdvql7ldNVhdOJs8AmGEBquXpnwgr3/3HRZnW4CLNo6ndl6WoZv2Q4I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829957; c=relaxed/simple; bh=8MR9WpIiAhMg2jOe7ce8CcmnxFjUGyFqc1Z6lfuPjdw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=NnUvJOtxhesn5qz76B8JUvMDrRxt0W1O7YKhZArh3Iu4ArKnz34RDWv+S1aYtL5Ph9Mwik8XEwPX2a9nGTjBrz+1xjkhmMyVHJry/vflv+JyZhDY9xSpddIhZ59LXSgsKJTgRQuep0X06zU2Dk0BrG5CS7Kho1WKvRtbNn235Co= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=uLS130A3; arc=none smtp.client-ip=68.232.139.139 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="uLS130A3" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829955; x=1742365955; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=8MR9WpIiAhMg2jOe7ce8CcmnxFjUGyFqc1Z6lfuPjdw=; b=uLS130A3MJOIwZ5iM4FWhsskrnLgN2NnPDHCBYK7g6lMbYwwtlfyMLdA kZwIweJM9XK3O37u7+nZnGt4CAl4kVLnThhD7gzkqxjXKkOOvalkezPM0 Mw0pWjIWyizk7fQWCvHnpw147bPOStq59gn+J9UT+sxvd0u0+2X/YU7gS 5/THWOCLC6XQUfeeNSvu3Pdzxa43tq4Gn+aWMUwoGq/tQkr2Lh5TD43en 69MFYGnjKraMsUwdVZlUteEEegC3eUV61xGMQiL3SjSvpphQGSIy0kz1X hZROpRs5OM0N9fCWPboviwFvlwpddZDvIuX5pzzVwHAIh5so2uT1bRrT6 A==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="154551209" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="154551209" Received: from unknown (HELO yto-r1.gw.nic.fujitsu.com) ([218.44.52.217]) by esa6.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:29 +0900 Received: from yto-m4.gw.nic.fujitsu.com (yto-nat-yto-m4.gw.nic.fujitsu.com [192.168.83.67]) by yto-r1.gw.nic.fujitsu.com (Postfix) with ESMTP id 67CA8FBD83; Tue, 19 Mar 2024 15:32:27 +0900 (JST) Received: from kws-ab4.gw.nic.fujitsu.com (kws-ab4.gw.nic.fujitsu.com [192.51.206.22]) by yto-m4.gw.nic.fujitsu.com (Postfix) with ESMTP id A1C7CD7B7E; Tue, 19 Mar 2024 15:32:26 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab4.gw.nic.fujitsu.com (Postfix) with ESMTP id 343C9227ABA; Tue, 19 Mar 2024 15:32:26 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id BDD771A006B; Tue, 19 Mar 2024 14:32:25 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org Subject: [PATCH v2 17/25] scsi: ncr53c8xx: Convert sprintf() family to sysfs_emit() family Date: Tue, 19 Mar 2024 14:31:24 +0800 Message-Id: <20240319063132.1588443-17-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--6.881400-10.000000 X-TMASE-MatchedRID: xt1fvVgCaAwbO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/iwxLjNbuPBWO0yVK/5LmcQiM ingSlKoKMx5HzfQifbPE41045MrHXFDCN/1eC4ASdVNZaI2n6/8E5XPQnBzGXq8KsbROd9VRpRe zoWC5XLeR+RPF+XmyOXnkq6nWMKny+8LSisOUFN54CIKY/Hg3AGdQnQSTrKGPEQdG7H66TyH4gK q42LRYkceGkeUm/IJ00Ef/oSJNEvayN+Ntyr+C6qVDeOEbwfw5+3BndfXUhXQ== X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/ncr53c8xx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/ncr53c8xx.c b/drivers/scsi/ncr53c8xx.c index 35869b4f9329..2bd74620caf5 100644 --- a/drivers/scsi/ncr53c8xx.c +++ b/drivers/scsi/ncr53c8xx.c @@ -8031,7 +8031,7 @@ static ssize_t show_ncr53c8xx_revision(struct device *dev, struct Scsi_Host *host = class_to_shost(dev); struct host_data *host_data = (struct host_data *)host->hostdata; - return snprintf(buf, 20, "0x%x\n", host_data->ncb->revision_id); + return sysfs_emit(buf, "0x%x\n", host_data->ncb->revision_id); } static struct device_attribute ncr53c8xx_revision_attr = { From patchwork Tue Mar 19 06:31:25 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781475 Received: from esa2.hc1455-7.c3s2.iphmx.com (esa2.hc1455-7.c3s2.iphmx.com [207.54.90.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 94DC45102E; Tue, 19 Mar 2024 06:32:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=207.54.90.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829954; cv=none; b=Q62m6FCJEWEpZnD+zYBdgbHQgzFxxdqLFfKYZOofCKk0uTm9I/1BsvdRUTRGw7eP1e5y9RMbJIi9nx/86f+AB/Qh2SHK8mxelPCpXEHUmA8BNOrXvSy6/Xu3emiOrT5+x2/N1lMh0JA1XwpEZx7SDcfCSoOLqQY4H2FUJz0kOt0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829954; c=relaxed/simple; bh=WTXpZlGLvu69orlfGdipH5GXMwQecnj3ncOT0UXMt9I=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=nZJCm/VifjuEn0IrSuuYWwEXNE4c4QEEHjPr+na/XUC9+7zzHr/SdvJDcD5tqBNBYM90C6u82jvDI3Ok0q03iWerG5vmaj1EXsB+X0IKZZ1ExkF3s/Q8XbCSIW8M6iGqCbs37QlG8N2o1iXQK+Z7gPJzJaqQ/nZkJkFRiBReQv8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=Lm5PxFgV; arc=none smtp.client-ip=207.54.90.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="Lm5PxFgV" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829953; x=1742365953; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=WTXpZlGLvu69orlfGdipH5GXMwQecnj3ncOT0UXMt9I=; b=Lm5PxFgV0/CcIcZJgQZmiofhVHXT7iElG/zeIc3UfH40tSBizeonuHyu z+R82Hkqx/I9sXWVnkyoDYDVu3Sq+P3sj0WIZS5BhORph7frVUL/KRXFz 4Sccsix4ZcZtW5pAtN4FYyJHEH63gczH47P5dbmrJGMIjz7+FsVTpwsyV 3ocZbT1+7/wFo+m8bMqrSzo+1oM7HE8zg55XUENgIMiHd9cGsaffvCfd6 mkzY7lPmBcRtQSoS77oxlW5mKAWo4AuVMYJth9VHl7qv5oVwa5iRXk/Kh B0t8FU1lRTpmuqXxJhC09yRYzH2JzapGhPebkiUFayKf2U6gLT//6v8Mz Q==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="152728482" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="152728482" Received: from unknown (HELO yto-r2.gw.nic.fujitsu.com) ([218.44.52.218]) by esa2.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:30 +0900 Received: from yto-m3.gw.nic.fujitsu.com (yto-nat-yto-m3.gw.nic.fujitsu.com [192.168.83.66]) by yto-r2.gw.nic.fujitsu.com (Postfix) with ESMTP id 9AC82C6817; Tue, 19 Mar 2024 15:32:27 +0900 (JST) Received: from kws-ab3.gw.nic.fujitsu.com (kws-ab3.gw.nic.fujitsu.com [192.51.206.21]) by yto-m3.gw.nic.fujitsu.com (Postfix) with ESMTP id DB6ED2970B; Tue, 19 Mar 2024 15:32:26 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab3.gw.nic.fujitsu.com (Postfix) with ESMTP id 77CAE20093269; Tue, 19 Mar 2024 15:32:26 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id 0D4411A006E; Tue, 19 Mar 2024 14:32:26 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org Subject: [PATCH v2 18/25] scsi: pmcraid: Convert sprintf() family to sysfs_emit() family Date: Tue, 19 Mar 2024 14:31:25 +0800 Message-Id: <20240319063132.1588443-18-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--14.511600-10.000000 X-TMASE-MatchedRID: vWLMKRYJCzcbO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/iwxLjNbuPBWO0yVK/5LmcQiM ingSlKoKMx5HzfQifbPE41045MrHXFDCN/1eC4ASdVNZaI2n6/8E5XPQnBzGXq8KsbROd9VTZ3y a1EhGxQ6HpFHQK2deBojVDzk3DrCl8M8QL/JCA9N9JA2lmQRNUC//1TMV5chNShcWO/83xogYzG YtVtarB/srJ1bjaCKGdqC2fLtk9xB8TzIzimOwPC24oEZ6SpSkj80Za3RRg8BmVY5bgINIVKHlP WL/eVsBinwNZyXFb2Ko6sd/AiC8FRR4hrziDrtc= X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/pmcraid.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/scsi/pmcraid.c b/drivers/scsi/pmcraid.c index e8bcc3a88732..56376d335b21 100644 --- a/drivers/scsi/pmcraid.c +++ b/drivers/scsi/pmcraid.c @@ -3538,7 +3538,7 @@ static ssize_t pmcraid_show_log_level( struct Scsi_Host *shost = class_to_shost(dev); struct pmcraid_instance *pinstance = (struct pmcraid_instance *)shost->hostdata; - return snprintf(buf, PAGE_SIZE, "%d\n", pinstance->current_log_level); + return sysfs_emit(buf, "%d\n", pinstance->current_log_level); } /** @@ -3599,8 +3599,7 @@ static ssize_t pmcraid_show_drv_version( char *buf ) { - return snprintf(buf, PAGE_SIZE, "version: %s\n", - PMCRAID_DRIVER_VERSION); + return sysfs_emit(buf, "version: %s\n", PMCRAID_DRIVER_VERSION); } static struct device_attribute pmcraid_driver_version_attr = { @@ -3632,9 +3631,8 @@ static ssize_t pmcraid_show_adapter_id( u32 adapter_id = pci_dev_id(pinstance->pdev); u32 aen_group = pmcraid_event_family.id; - return snprintf(buf, PAGE_SIZE, - "adapter id: %d\nminor: %d\naen group: %d\n", - adapter_id, MINOR(pinstance->cdev.dev), aen_group); + return sysfs_emit(buf, "adapter id: %d\nminor: %d\naen group: %d\n", + adapter_id, MINOR(pinstance->cdev.dev), aen_group); } static struct device_attribute pmcraid_adapter_id_attr = { From patchwork Tue Mar 19 06:31:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781474 Received: from esa12.hc1455-7.c3s2.iphmx.com (esa12.hc1455-7.c3s2.iphmx.com [139.138.37.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CFBC0537FE; Tue, 19 Mar 2024 06:32:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=139.138.37.100 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829956; cv=none; b=JEqYxkhg2CdwuFQiYQ77iEiwNQQAnZ7r+/eND4QrGEbyNXsbxGlHZcC1QzZzSmG13aF4a+QCJ8h/Y8vpdPig9hHx51Db1Wgag34ArJjQICPZ0dMzaNlvcOOFp7kx+RD2RQ/ECCOySmIwG3/osNSW/Qi/G3h4fSc0ugzK8K63bv4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829956; c=relaxed/simple; bh=KyhrL8O+1ZlteCduBxYcQZM2gQ4cYRxZ9gcL4M6OS8Q=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=pYzTt9updcu1E8ReBeXJCpXJevwZZIJulSN0aQaY1Mohdm6A2QPVJ+RV4VzpKVHhtbIuv9P5occjcvjkBa1gimpDgS0EeIrJ3nijxTF0Audo/zfcXUxU+MR3e6lp2sH823VxlTZ/PckVrps5EfsXv9Z5fPcO+MU276Tsu1X3yCw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=Y0+aqU+L; arc=none smtp.client-ip=139.138.37.100 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="Y0+aqU+L" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829953; x=1742365953; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=KyhrL8O+1ZlteCduBxYcQZM2gQ4cYRxZ9gcL4M6OS8Q=; b=Y0+aqU+LJHt49aL1/xcpYAWzJ6cLa8AC1n76i0ew/4PlvHkwb9j6vyuH +jbQS+GnAdZYKO9CvI0ssSzk/bYBkKAhIxRr0brxtnJ2aWcCMgoOmDZQS BxsjeTcmcI6jrVQgt9iOVsZtA2WRLEC4XmgwN4B1iVn1zNQaQZYTet+Vj mVl+6JFlThkt/+RVhL4MTEkpVXPsYs0Il+/HAo/KMtuKRhXGUj4DHnbl6 pAYdOGerPyAzpPG0Q34t7PYx/XV9zW7uZoHSymkGzzsvIAOX6HNhebTX/ 4vUhBNPDPWWAwETUI/cx4htEjhkQHCRtNhekceZLOeKK/rKuM68lzH9cs w==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="132006242" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="132006242" Received: from unknown (HELO yto-r3.gw.nic.fujitsu.com) ([218.44.52.219]) by esa12.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:29 +0900 Received: from yto-m2.gw.nic.fujitsu.com (yto-nat-yto-m2.gw.nic.fujitsu.com [192.168.83.65]) by yto-r3.gw.nic.fujitsu.com (Postfix) with ESMTP id 0B43710A304; Tue, 19 Mar 2024 15:32:28 +0900 (JST) Received: from kws-ab4.gw.nic.fujitsu.com (kws-ab4.gw.nic.fujitsu.com [192.51.206.22]) by yto-m2.gw.nic.fujitsu.com (Postfix) with ESMTP id 47E00D5E8C; Tue, 19 Mar 2024 15:32:27 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab4.gw.nic.fujitsu.com (Postfix) with ESMTP id D418922881A; Tue, 19 Mar 2024 15:32:26 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id 514971A006D; Tue, 19 Mar 2024 14:32:26 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , =?utf-8?q?Kai_M=C3=A4kisara?= , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org Subject: [PATCH v2 19/25] scsi: st: Convert sprintf() family to sysfs_emit() family Date: Tue, 19 Mar 2024 14:31:26 +0800 Message-Id: <20240319063132.1588443-19-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--5.400200-10.000000 X-TMASE-MatchedRID: LFhZ4D3QpawbO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/iwxLjNbuPBWO0yVK/5LmcQiM ingSlKoKMx5HzfQifbPE41045MrHXFDCN/1eC4ASdVNZaI2n6/8E5XPQnBzGXq8KsbROd9VSArq oIZrVn15fzUkBpc072fpJkaQdvaIFiRyRv3W9D/qncG1vVsfbQrzl8sNiWClKbKItl61J/yZkw8 KdMzN86KrauXd3MZDV4qu80yg+pNdeiYiPoK9a6QzptACI27AvoDGfifSm6tT02iKjvNfbH X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: "Kai Mäkisara" CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/st.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c index 338aa8c42968..998e5bb7a6a0 100644 --- a/drivers/scsi/st.c +++ b/drivers/scsi/st.c @@ -4571,7 +4571,7 @@ defined_show(struct device *dev, struct device_attribute *attr, char *buf) struct st_modedef *STm = dev_get_drvdata(dev); ssize_t l = 0; - l = snprintf(buf, PAGE_SIZE, "%d\n", STm->defined); + l = sysfs_emit(buf, "%d\n", STm->defined); return l; } static DEVICE_ATTR_RO(defined); @@ -4583,7 +4583,7 @@ default_blksize_show(struct device *dev, struct device_attribute *attr, struct st_modedef *STm = dev_get_drvdata(dev); ssize_t l = 0; - l = snprintf(buf, PAGE_SIZE, "%d\n", STm->default_blksize); + l = sysfs_emit(buf, "%d\n", STm->default_blksize); return l; } static DEVICE_ATTR_RO(default_blksize); @@ -4597,7 +4597,7 @@ default_density_show(struct device *dev, struct device_attribute *attr, char *fmt; fmt = STm->default_density >= 0 ? "0x%02x\n" : "%d\n"; - l = snprintf(buf, PAGE_SIZE, fmt, STm->default_density); + l = sysfs_emit(buf, fmt, STm->default_density); return l; } static DEVICE_ATTR_RO(default_density); @@ -4609,7 +4609,7 @@ default_compression_show(struct device *dev, struct device_attribute *attr, struct st_modedef *STm = dev_get_drvdata(dev); ssize_t l = 0; - l = snprintf(buf, PAGE_SIZE, "%d\n", STm->default_compression - 1); + l = sysfs_emit(buf, "%d\n", STm->default_compression - 1); return l; } static DEVICE_ATTR_RO(default_compression); @@ -4638,7 +4638,7 @@ options_show(struct device *dev, struct device_attribute *attr, char *buf) options |= STp->immediate_filemark ? MT_ST_NOWAIT_EOF : 0; options |= STp->sili ? MT_ST_SILI : 0; - l = snprintf(buf, PAGE_SIZE, "0x%08x\n", options); + l = sysfs_emit(buf, "0x%08x\n", options); return l; } static DEVICE_ATTR_RO(options); @@ -4656,7 +4656,7 @@ static ssize_t read_cnt_show(struct device *dev, { struct st_modedef *STm = dev_get_drvdata(dev); - return sprintf(buf, "%lld", + return sysfs_emit(buf, "%lld", (long long)atomic64_read(&STm->tape->stats->read_cnt)); } static DEVICE_ATTR_RO(read_cnt); @@ -4674,7 +4674,7 @@ static ssize_t read_byte_cnt_show(struct device *dev, { struct st_modedef *STm = dev_get_drvdata(dev); - return sprintf(buf, "%lld", + return sysfs_emit(buf, "%lld", (long long)atomic64_read(&STm->tape->stats->read_byte_cnt)); } static DEVICE_ATTR_RO(read_byte_cnt); @@ -4690,7 +4690,7 @@ static ssize_t read_ns_show(struct device *dev, { struct st_modedef *STm = dev_get_drvdata(dev); - return sprintf(buf, "%lld", + return sysfs_emit(buf, "%lld", (long long)atomic64_read(&STm->tape->stats->tot_read_time)); } static DEVICE_ATTR_RO(read_ns); @@ -4707,7 +4707,7 @@ static ssize_t write_cnt_show(struct device *dev, { struct st_modedef *STm = dev_get_drvdata(dev); - return sprintf(buf, "%lld", + return sysfs_emit(buf, "%lld", (long long)atomic64_read(&STm->tape->stats->write_cnt)); } static DEVICE_ATTR_RO(write_cnt); @@ -4724,7 +4724,7 @@ static ssize_t write_byte_cnt_show(struct device *dev, { struct st_modedef *STm = dev_get_drvdata(dev); - return sprintf(buf, "%lld", + return sysfs_emit(buf, "%lld", (long long)atomic64_read(&STm->tape->stats->write_byte_cnt)); } static DEVICE_ATTR_RO(write_byte_cnt); @@ -4741,7 +4741,7 @@ static ssize_t write_ns_show(struct device *dev, { struct st_modedef *STm = dev_get_drvdata(dev); - return sprintf(buf, "%lld", + return sysfs_emit(buf, "%lld", (long long)atomic64_read(&STm->tape->stats->tot_write_time)); } static DEVICE_ATTR_RO(write_ns); @@ -4759,7 +4759,7 @@ static ssize_t in_flight_show(struct device *dev, { struct st_modedef *STm = dev_get_drvdata(dev); - return sprintf(buf, "%lld", + return sysfs_emit(buf, "%lld", (long long)atomic64_read(&STm->tape->stats->in_flight)); } static DEVICE_ATTR_RO(in_flight); @@ -4779,7 +4779,7 @@ static ssize_t io_ns_show(struct device *dev, { struct st_modedef *STm = dev_get_drvdata(dev); - return sprintf(buf, "%lld", + return sysfs_emit(buf, "%lld", (long long)atomic64_read(&STm->tape->stats->tot_io_time)); } static DEVICE_ATTR_RO(io_ns); @@ -4798,7 +4798,7 @@ static ssize_t other_cnt_show(struct device *dev, { struct st_modedef *STm = dev_get_drvdata(dev); - return sprintf(buf, "%lld", + return sysfs_emit(buf, "%lld", (long long)atomic64_read(&STm->tape->stats->other_cnt)); } static DEVICE_ATTR_RO(other_cnt); @@ -4816,7 +4816,7 @@ static ssize_t resid_cnt_show(struct device *dev, { struct st_modedef *STm = dev_get_drvdata(dev); - return sprintf(buf, "%lld", + return sysfs_emit(buf, "%lld", (long long)atomic64_read(&STm->tape->stats->resid_cnt)); } static DEVICE_ATTR_RO(resid_cnt); From patchwork Tue Mar 19 06:31:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781472 Received: from esa12.hc1455-7.c3s2.iphmx.com (esa12.hc1455-7.c3s2.iphmx.com [139.138.37.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1073254777; Tue, 19 Mar 2024 06:32:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=139.138.37.100 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829958; cv=none; b=KUjgvV0/mTdCrRiFkeWH3+SPwCyzra1dEfsE+cACZCDNAgyO6WF3tNL0/+ce80f0R7lYk2aWvNnrDKFxDZMADhe7g+MMPuD+uNrImCS2Gpmvn90rPJ5YwHar/NCkPS3Rqqao4rinqnZn7+5Esx/gd94c9sg5D+UgqJsw7l9OeTU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829958; c=relaxed/simple; bh=VFKpWK2fYqcVIskCECWYXfbxPxDq4I3pylCBnbs+BU4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=gvJGIYvCvH7ZNv/fT6Ja992D8u/LYhR01EVY4hNoczK8jceM5HxvETgBf1ZDWa5V7sp6No5xIywXpnSuK4IhzjL3uCLXq2G5rXAv2Vfu6YsiFR8zTKlHuBnjhSb1ldbd91iAoiyVAQKrr15lCmKSGTBUxe/1nnsR/bwAaeLhi3I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=FPJwic9B; arc=none smtp.client-ip=139.138.37.100 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="FPJwic9B" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829954; x=1742365954; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=VFKpWK2fYqcVIskCECWYXfbxPxDq4I3pylCBnbs+BU4=; b=FPJwic9BCK0qwWvZ/KeGMkq3bwRVcAxWrmFI+bGEnKuUwCKsThzSBvGL wjc9x5cutonJp0yUDIT8TUpkjlsjL8Vxb/KRJpctxWOVZ4zY6dGhyAf/3 gzPfPGudS/mhCv5dIxkJ6k1HnZZQ0sUqH6EtzMP3tG75aTL8skx+lRrqH eOnjbZbevaIdBiHx9FUsafDT6pW92OEjUDw+CFrWJQvSpm814mYg3j5Gu /0+cKHWM3N2UM0ExUUYOjFn033j9gsus8Sx3krD+g6UpWa74eSgN+Zc9T 75/uOjxgFiuWhD/EhhYiW3kCoaOUTNO74P91h9KFqXT68rFApUSsRmmjo g==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="132006243" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="132006243" Received: from unknown (HELO yto-r1.gw.nic.fujitsu.com) ([218.44.52.217]) by esa12.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:29 +0900 Received: from yto-m3.gw.nic.fujitsu.com (yto-nat-yto-m3.gw.nic.fujitsu.com [192.168.83.66]) by yto-r1.gw.nic.fujitsu.com (Postfix) with ESMTP id 51439FBD95; Tue, 19 Mar 2024 15:32:28 +0900 (JST) Received: from kws-ab4.gw.nic.fujitsu.com (kws-ab4.gw.nic.fujitsu.com [192.51.206.22]) by yto-m3.gw.nic.fujitsu.com (Postfix) with ESMTP id 8EA472970B; Tue, 19 Mar 2024 15:32:27 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab4.gw.nic.fujitsu.com (Postfix) with ESMTP id 22DE1227A9F; Tue, 19 Mar 2024 15:32:27 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id ADFC71A006B; Tue, 19 Mar 2024 14:32:26 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org Subject: [PATCH v2 20/25] scsi: core: Convert sprintf() family to sysfs_emit() family Date: Tue, 19 Mar 2024 14:31:27 +0800 Message-Id: <20240319063132.1588443-20-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--15.169400-10.000000 X-TMASE-MatchedRID: IVNJzyZeXh4bO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/iwxLjNbuPBWO0yVK/5LmcQiM ingSlKoKMx5HzfQifbPE41045MrHXFDCN/1eC4ASdVNZaI2n6/8E5XPQnBzGXq8KsbROd9VSArq oIZrVn1xKRMiWrlL6xlEFre7kn4QwEQ6/NLxw21ErOO5m0+0gEWQ3R4k5PTnB0Vj5gY98rDMs0A 8Och09Bk2rNDhoFVtn0SV7CRnVQROKOHNhoftDjRcGHEV0WBxCvOXyw2JYKUpsoi2XrUn/Jn6Kd MrRsL14qtq5d3cxkNTNpc4k18MbtAIRXVZcClv+HlqEBvZ4TZNZ/JLwcGkQZ3FvoQlwXE6U= X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/scsi_sysfs.c | 69 ++++++++++++++++++++------------------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c index 49dd34426d5e..2e9d93d0e770 100644 --- a/drivers/scsi/scsi_sysfs.c +++ b/drivers/scsi/scsi_sysfs.c @@ -163,7 +163,7 @@ show_##name (struct device *dev, struct device_attribute *attr, \ char *buf) \ { \ struct Scsi_Host *shost = class_to_shost(dev); \ - return snprintf (buf, 20, format_string, shost->field); \ + return sysfs_emit(buf, format_string, shost->field); \ } /* @@ -228,7 +228,7 @@ show_shost_state(struct device *dev, struct device_attribute *attr, char *buf) if (!name) return -EINVAL; - return snprintf(buf, 20, "%s\n", name); + return sysfs_emit(buf, "%s\n", name); } /* DEVICE_ATTR(state) clashes with dev_attr_state for sdev */ @@ -241,12 +241,13 @@ show_shost_mode(unsigned int mode, char *buf) ssize_t len = 0; if (mode & MODE_INITIATOR) - len = sprintf(buf, "%s", "Initiator"); + len = sysfs_emit(buf, "%s", "Initiator"); if (mode & MODE_TARGET) - len += sprintf(buf + len, "%s%s", len ? ", " : "", "Target"); + len += sysfs_emit_at(buf, len, "%s%s", + len ? ", " : "", "Target"); - len += sprintf(buf + len, "\n"); + len += sysfs_emit_at(buf, len, "\n"); return len; } @@ -274,7 +275,7 @@ show_shost_active_mode(struct device *dev, struct Scsi_Host *shost = class_to_shost(dev); if (shost->active_mode == MODE_UNKNOWN) - return snprintf(buf, 20, "unknown\n"); + return sysfs_emit(buf, "unknown\n"); else return show_shost_mode(shost->active_mode, buf); } @@ -324,8 +325,8 @@ show_shost_eh_deadline(struct device *dev, struct Scsi_Host *shost = class_to_shost(dev); if (shost->eh_deadline == -1) - return snprintf(buf, strlen("off") + 2, "off\n"); - return sprintf(buf, "%u\n", shost->eh_deadline / HZ); + return sysfs_emit(buf, "off\n"); + return sysfs_emit(buf, "%u\n", shost->eh_deadline / HZ); } static ssize_t @@ -382,14 +383,14 @@ static ssize_t show_host_busy(struct device *dev, struct device_attribute *attr, char *buf) { struct Scsi_Host *shost = class_to_shost(dev); - return snprintf(buf, 20, "%d\n", scsi_host_busy(shost)); + return sysfs_emit(buf, "%d\n", scsi_host_busy(shost)); } static DEVICE_ATTR(host_busy, S_IRUGO, show_host_busy, NULL); static ssize_t show_use_blk_mq(struct device *dev, struct device_attribute *attr, char *buf) { - return sprintf(buf, "1\n"); + return sysfs_emit(buf, "1\n"); } static DEVICE_ATTR(use_blk_mq, S_IRUGO, show_use_blk_mq, NULL); @@ -399,7 +400,7 @@ show_nr_hw_queues(struct device *dev, struct device_attribute *attr, char *buf) struct Scsi_Host *shost = class_to_shost(dev); struct blk_mq_tag_set *tag_set = &shost->tag_set; - return snprintf(buf, 20, "%d\n", tag_set->nr_hw_queues); + return sysfs_emit(buf, "%d\n", tag_set->nr_hw_queues); } static DEVICE_ATTR(nr_hw_queues, S_IRUGO, show_nr_hw_queues, NULL); @@ -589,7 +590,7 @@ sdev_show_##field (struct device *dev, struct device_attribute *attr, \ { \ struct scsi_device *sdev; \ sdev = to_scsi_device(dev); \ - return snprintf (buf, 20, format_string, sdev->field); \ + return sysfs_emit(buf, format_string, sdev->field); \ } \ /* @@ -677,7 +678,7 @@ sdev_show_device_busy(struct device *dev, struct device_attribute *attr, char *buf) { struct scsi_device *sdev = to_scsi_device(dev); - return snprintf(buf, 20, "%d\n", scsi_device_busy(sdev)); + return sysfs_emit(buf, "%d\n", scsi_device_busy(sdev)); } static DEVICE_ATTR(device_busy, S_IRUGO, sdev_show_device_busy, NULL); @@ -686,7 +687,7 @@ sdev_show_device_blocked(struct device *dev, struct device_attribute *attr, char *buf) { struct scsi_device *sdev = to_scsi_device(dev); - return snprintf(buf, 20, "%d\n", atomic_read(&sdev->device_blocked)); + return sysfs_emit(buf, "%d\n", atomic_read(&sdev->device_blocked)); } static DEVICE_ATTR(device_blocked, S_IRUGO, sdev_show_device_blocked, NULL); @@ -698,7 +699,7 @@ sdev_show_timeout (struct device *dev, struct device_attribute *attr, char *buf) { struct scsi_device *sdev; sdev = to_scsi_device(dev); - return snprintf(buf, 20, "%d\n", sdev->request_queue->rq_timeout / HZ); + return sysfs_emit(buf, "%d\n", sdev->request_queue->rq_timeout / HZ); } static ssize_t @@ -719,7 +720,7 @@ sdev_show_eh_timeout(struct device *dev, struct device_attribute *attr, char *bu { struct scsi_device *sdev; sdev = to_scsi_device(dev); - return snprintf(buf, 20, "%u\n", sdev->eh_timeout / HZ); + return sysfs_emit(buf, "%u\n", sdev->eh_timeout / HZ); } static ssize_t @@ -855,7 +856,7 @@ show_state_field(struct device *dev, struct device_attribute *attr, char *buf) if (!name) return -EINVAL; - return snprintf(buf, 20, "%s\n", name); + return sysfs_emit(buf, "%s\n", name); } static DEVICE_ATTR(state, S_IRUGO | S_IWUSR, show_state_field, store_state_field); @@ -870,7 +871,7 @@ show_queue_type_field(struct device *dev, struct device_attribute *attr, if (sdev->simple_tags) name = "simple"; - return snprintf(buf, 20, "%s\n", name); + return sysfs_emit(buf, "%s\n", name); } static ssize_t @@ -950,7 +951,7 @@ static ssize_t show_iostat_counterbits(struct device *dev, struct device_attribute *attr, char *buf) { - return snprintf(buf, 20, "%d\n", (int)sizeof(atomic_t) * 8); + return sysfs_emit(buf, "%d\n", (int)sizeof(atomic_t) * 8); } static DEVICE_ATTR(iocounterbits, S_IRUGO, show_iostat_counterbits, NULL); @@ -962,7 +963,7 @@ show_iostat_##field(struct device *dev, struct device_attribute *attr, \ { \ struct scsi_device *sdev = to_scsi_device(dev); \ unsigned long long count = atomic_read(&sdev->field); \ - return snprintf(buf, 20, "0x%llx\n", count); \ + return sysfs_emit(buf, "0x%llx\n", count); \ } \ static DEVICE_ATTR(field, S_IRUGO, show_iostat_##field, NULL) @@ -976,7 +977,7 @@ sdev_show_modalias(struct device *dev, struct device_attribute *attr, char *buf) { struct scsi_device *sdev; sdev = to_scsi_device(dev); - return snprintf (buf, 20, SCSI_DEVICE_MODALIAS_FMT "\n", sdev->type); + return sysfs_emit(buf, SCSI_DEVICE_MODALIAS_FMT "\n", sdev->type); } static DEVICE_ATTR(modalias, S_IRUGO, sdev_show_modalias, NULL); @@ -987,7 +988,7 @@ sdev_show_evt_##name(struct device *dev, struct device_attribute *attr, \ { \ struct scsi_device *sdev = to_scsi_device(dev); \ int val = test_bit(SDEV_EVT_##Cap_name, sdev->supported_events);\ - return snprintf(buf, 20, "%d\n", val); \ + return sysfs_emit(buf, "%d\n", val); \ } #define DECLARE_EVT_STORE(name, Cap_name) \ @@ -1089,14 +1090,14 @@ sdev_show_blacklist(struct device *dev, struct device_attribute *attr, name = sdev_bflags_name[i]; if (name) - len += scnprintf(buf + len, PAGE_SIZE - len, - "%s%s", len ? " " : "", name); + len += sysfs_emit_at(buf, len, + "%s%s", len ? " " : "", name); else - len += scnprintf(buf + len, PAGE_SIZE - len, - "%sINVALID_BIT(%d)", len ? " " : "", i); + len += sysfs_emit_at(buf, len, + "%sINVALID_BIT(%d)", len ? " " : "", i); } if (len) - len += scnprintf(buf + len, PAGE_SIZE - len, "\n"); + len += sysfs_emit_at(buf, len, "\n"); return len; } static DEVICE_ATTR(blacklist, S_IRUGO, sdev_show_blacklist, NULL); @@ -1109,9 +1110,9 @@ sdev_show_dh_state(struct device *dev, struct device_attribute *attr, struct scsi_device *sdev = to_scsi_device(dev); if (!sdev->handler) - return snprintf(buf, 20, "detached\n"); + return sysfs_emit(buf, "detached\n"); - return snprintf(buf, 20, "%s\n", sdev->handler->name); + return sysfs_emit(buf, "%s\n", sdev->handler->name); } static ssize_t @@ -1169,7 +1170,7 @@ sdev_show_access_state(struct device *dev, access_state = (sdev->access_state & SCSI_ACCESS_STATE_MASK); access_state_name = scsi_access_state_name(access_state); - return sprintf(buf, "%s\n", + return sysfs_emit(buf, "%s\n", access_state_name ? access_state_name : "unknown"); } static DEVICE_ATTR(access_state, S_IRUGO, sdev_show_access_state, NULL); @@ -1185,9 +1186,9 @@ sdev_show_preferred_path(struct device *dev, return -EINVAL; if (sdev->access_state & SCSI_ACCESS_STATE_PREFERRED) - return sprintf(buf, "1\n"); + return sysfs_emit(buf, "1\n"); else - return sprintf(buf, "0\n"); + return sysfs_emit(buf, "0\n"); } static DEVICE_ATTR(preferred_path, S_IRUGO, sdev_show_preferred_path, NULL); #endif @@ -1199,8 +1200,8 @@ sdev_show_queue_ramp_up_period(struct device *dev, { struct scsi_device *sdev; sdev = to_scsi_device(dev); - return snprintf(buf, 20, "%u\n", - jiffies_to_msecs(sdev->queue_ramp_up_period)); + return sysfs_emit(buf, "%u\n", + jiffies_to_msecs(sdev->queue_ramp_up_period)); } static ssize_t From patchwork Tue Mar 19 06:31:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781473 Received: from esa10.hc1455-7.c3s2.iphmx.com (esa10.hc1455-7.c3s2.iphmx.com [139.138.36.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0542253813; Tue, 19 Mar 2024 06:32:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=139.138.36.225 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829956; cv=none; b=My+OvVUW9GAa+kHqY2vGCZm/qD63mpwDdNOSG85SXQZ23E8w9iklOv7rIohfMEBP+RPDMUkSN4A7QTnxn56fBIz+xF+pbEOzNYpQX0Z6Mwob4WZocwopg4ZeQXVbqc3mEyRKTw5ZAR55wCh7ftZftVZEIh2AyzcYRQIhcPr54Ss= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829956; c=relaxed/simple; bh=ZZwfBq58lOo0qbSS2ix7UcSEpSP7RIoFTyDOAnZBzUQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=oNIz2rC0FCPZshQ0sIxFmRMCc4FIITQDc3FAOl/BvynzjQnHOHGblJO4y9iGmunfVRJL71wzD4z2QodPNkvU/qaaavn4pC2yftNYcnJzpi+weH3ocBZYyYAslPrAUGHLgLeIvaM2QqJncEazF/tEL8cMBR1ydIWQeFQM2/N6r5A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=ANLP1RxT; arc=none smtp.client-ip=139.138.36.225 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="ANLP1RxT" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829954; x=1742365954; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ZZwfBq58lOo0qbSS2ix7UcSEpSP7RIoFTyDOAnZBzUQ=; b=ANLP1RxTEghGGhcXp1U0iA2Xh1OUvpl/BxlS+zauPtZhRmxhFo4JaFJp E4dHYquXI/NGh/ZVsuJd7fmZckwyR4ryvmWNx25Yitbf6OXUw91Vh0hKR zulL0EDLlsXjlfT/BJY/FcvFipuUQOVvDVjeW21TbIZMjmqkij58WpaSO 6D/MBJJSFWWAWtKpNBl3Ph0QaeGsGkxPIvv9T4KjlurY9D2gFPhWqyb3o w2MgBnuWxP+NmlabsTaUHkE8g2td+0cRZUJjjdAjRm7Y6U3WVyYfM64hl mmyxEMYgJPlonQcvHr0kLFRC0PGEQlBQbkJF7RwnRFkVCgJ5PH+qqwaG3 g==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="140310363" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="140310363" Received: from unknown (HELO oym-r1.gw.nic.fujitsu.com) ([210.162.30.89]) by esa10.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:30 +0900 Received: from oym-m2.gw.nic.fujitsu.com (oym-nat-oym-m2.gw.nic.fujitsu.com [192.168.87.59]) by oym-r1.gw.nic.fujitsu.com (Postfix) with ESMTP id 742D7D4805; Tue, 19 Mar 2024 15:32:28 +0900 (JST) Received: from kws-ab4.gw.nic.fujitsu.com (kws-ab4.gw.nic.fujitsu.com [192.51.206.22]) by oym-m2.gw.nic.fujitsu.com (Postfix) with ESMTP id AA7C8BF4B7; Tue, 19 Mar 2024 15:32:27 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab4.gw.nic.fujitsu.com (Postfix) with ESMTP id 472E0227ABA; Tue, 19 Mar 2024 15:32:27 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id F14851A006E; Tue, 19 Mar 2024 14:32:26 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org Subject: [PATCH v2 21/25] scsi: scsi_transport_fc: Convert sprintf() family to sysfs_emit() family (part 1) Date: Tue, 19 Mar 2024 14:31:28 +0800 Message-Id: <20240319063132.1588443-21-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--11.924400-10.000000 X-TMASE-MatchedRID: yLHOPqhdQyUbO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/iwxLjNbuPBWO0yVK/5LmcQiM ingSlKoKMx5HzfQifbPE41045MrHXFDCN/1eC4ASdVNZaI2n6/2BKRtg9pHEawLkNMQzGl5B+Kr WCPbERPznpYPqS6jzxXnkq6nWMKnzODTJNlBAw6AXtykVcrvpNmZiw53dqSN///os1Fav+xrfb6 KcK2lmLexIBjF6bqxGjPXfA/IMu+5H0YXYnbGozFEUknJ/kEl7dB/CxWTRRu25FeHtsUoHu5Wbu /jwBRoelu+DxdpZgrjrmCnSPLeFBDseBWySHnpwfwV6sBPR0lg== X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/scsi_transport_fc.c | 34 ++++++++++++++++---------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/drivers/scsi/scsi_transport_fc.c b/drivers/scsi/scsi_transport_fc.c index b04075f19445..3335c31772e1 100644 --- a/drivers/scsi/scsi_transport_fc.c +++ b/drivers/scsi/scsi_transport_fc.c @@ -1120,7 +1120,7 @@ show_fc_rport_supported_classes (struct device *dev, { struct fc_rport *rport = transport_class_to_rport(dev); if (rport->supported_classes == FC_COS_UNSPECIFIED) - return snprintf(buf, 20, "unspecified\n"); + return sysfs_emit(buf, "unspecified\n"); return get_fc_cos_names(rport->supported_classes, buf); } static FC_DEVICE_ATTR(rport, supported_classes, S_IRUGO, @@ -1215,21 +1215,21 @@ show_fc_rport_roles (struct device *dev, struct device_attribute *attr, FC_WELLKNOWN_PORTID_MASK) { switch (rport->port_id & FC_WELLKNOWN_ROLE_MASK) { case FC_FPORT_PORTID: - return snprintf(buf, 30, "Fabric Port\n"); + return sysfs_emit(buf, "Fabric Port\n"); case FC_FABCTLR_PORTID: - return snprintf(buf, 30, "Fabric Controller\n"); + return sysfs_emit(buf, "Fabric Controller\n"); case FC_DIRSRVR_PORTID: - return snprintf(buf, 30, "Directory Server\n"); + return sysfs_emit(buf, "Directory Server\n"); case FC_TIMESRVR_PORTID: - return snprintf(buf, 30, "Time Server\n"); + return sysfs_emit(buf, "Time Server\n"); case FC_MGMTSRVR_PORTID: - return snprintf(buf, 30, "Management Server\n"); + return sysfs_emit(buf, "Management Server\n"); default: - return snprintf(buf, 30, "Unknown Fabric Entity\n"); + return sysfs_emit(buf, "Unknown Fabric Entity\n"); } } else { if (rport->roles == FC_PORT_ROLE_UNKNOWN) - return snprintf(buf, 20, "unknown\n"); + return sysfs_emit(buf, "unknown\n"); return get_fc_port_roles_names(rport->roles, buf); } } @@ -1283,7 +1283,7 @@ show_fc_rport_port_state(struct device *dev, if (!name) return -EINVAL; - return snprintf(buf, 20, "%s\n", name); + return sysfs_emit(buf, "%s\n", name); } static FC_DEVICE_ATTR(rport, port_state, 0444 | 0200, @@ -1301,8 +1301,8 @@ show_fc_rport_fast_io_fail_tmo (struct device *dev, struct fc_rport *rport = transport_class_to_rport(dev); if (rport->fast_io_fail_tmo == -1) - return snprintf(buf, 5, "off\n"); - return snprintf(buf, 20, "%d\n", rport->fast_io_fail_tmo); + return sysfs_emit(buf, "off\n"); + return sysfs_emit(buf, "%d\n", rport->fast_io_fail_tmo); } static ssize_t @@ -1662,7 +1662,7 @@ show_fc_vport_roles (struct device *dev, struct device_attribute *attr, struct fc_vport *vport = transport_class_to_vport(dev); if (vport->roles == FC_PORT_ROLE_UNKNOWN) - return snprintf(buf, 20, "unknown\n"); + return sysfs_emit(buf, "unknown\n"); return get_fc_port_roles_names(vport->roles, buf); } static FC_DEVICE_ATTR(vport, roles, S_IRUGO, show_fc_vport_roles, NULL); @@ -1888,7 +1888,7 @@ show_fc_host_supported_classes (struct device *dev, struct Scsi_Host *shost = transport_class_to_shost(dev); if (fc_host_supported_classes(shost) == FC_COS_UNSPECIFIED) - return snprintf(buf, 20, "unspecified\n"); + return sysfs_emit(buf, "unspecified\n"); return get_fc_cos_names(fc_host_supported_classes(shost), buf); } @@ -1912,7 +1912,7 @@ show_fc_host_supported_speeds (struct device *dev, struct Scsi_Host *shost = transport_class_to_shost(dev); if (fc_host_supported_speeds(shost) == FC_PORTSPEED_UNKNOWN) - return snprintf(buf, 20, "unknown\n"); + return sysfs_emit(buf, "unknown\n"); return get_fc_port_speed_names(fc_host_supported_speeds(shost), buf); } @@ -1964,7 +1964,7 @@ show_fc_host_speed (struct device *dev, i->f->get_host_speed(shost); if (fc_host_speed(shost) == FC_PORTSPEED_UNKNOWN) - return snprintf(buf, 20, "unknown\n"); + return sysfs_emit(buf, "unknown\n"); return get_fc_port_speed_names(fc_host_speed(shost), buf); } @@ -1997,7 +1997,7 @@ show_fc_private_host_tgtid_bind_type(struct device *dev, name = get_fc_tgtid_bind_type_name(fc_host_tgtid_bind_type(shost)); if (!name) return -EINVAL; - return snprintf(buf, FC_BINDTYPE_MAX_NAMELEN, "%s\n", name); + return sysfs_emit(buf, "%s\n", name); } #define get_list_head_entry(pos, head, member) \ @@ -2106,7 +2106,7 @@ fc_stat_show(const struct device *dev, char *buf, unsigned long offset) if (i->f->get_fc_host_stats) { stats = (i->f->get_fc_host_stats)(shost); if (stats) - ret = snprintf(buf, 20, "0x%llx\n", + ret = sysfs_emit(buf, "0x%llx\n", (unsigned long long)*(u64 *)(((u8 *) stats) + offset)); } return ret; From patchwork Tue Mar 19 06:31:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781292 Received: from esa4.hc1455-7.c3s2.iphmx.com (esa4.hc1455-7.c3s2.iphmx.com [68.232.139.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E49167E566; Tue, 19 Mar 2024 06:32:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=68.232.139.117 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829962; cv=none; b=NA7MZtU5SwkTSCPVQqgBAlxwMlEQx+hXpp4+QX4n+91pocRJjij3G67K39LaNd+pIUpQROEvkWmn/1ILt0KEe7IZS7BhbqUa4/6SM6Ltnwx103PLOXl8VMaDEKFFqA3HH4fjU3bSmcsKQSDR2Jris0LvPuojuryGlaHAHJJEb5k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829962; c=relaxed/simple; bh=Tljs7sj6NLXRsbg++DwByxlwGXW9ocCAWeklXKVpQPE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=JOzxxXbp/o8GskTq8f87C430olwNTXGMwBvwm7ixoZVzdAYM6kp9W+CmGdFEfnQGDVi2xOTS/aVdcrJ7UlkMVy3TzUoCo7aSoJvCjVlN6isx79BTvBMDphg+vpGstICWXs2PWqYkFmGmoYlSUidpb7bbeNuDIuApkX+R5lhjZ8g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=D2KT4OE6; arc=none smtp.client-ip=68.232.139.117 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="D2KT4OE6" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829959; x=1742365959; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Tljs7sj6NLXRsbg++DwByxlwGXW9ocCAWeklXKVpQPE=; b=D2KT4OE6QQRgFyexxzEZucVlTt/arUPpBUWZJK8Pa6G3wBh8fnCm/tqX EuoK2DthXlLho8scvMu17XVYMd1qKryOxgbquSOD2qTwKS/zgnx7fn+Zw 9uZMFxCmtGvvjLm5tchBbZx7aPYFL0PWbpRGHbUUkkUA39m4yt8Lwrbia AnIDSOgsAusCLEDaUR7TYNc6k0q0zyD78nzbNZamSJV17UTpxXuJHByIP mMQAIgtG70L6Zk21IuITaxSFRhmzIs9wBA4/XueckP5WfOc7POft9C4jo 99E35lDT1W7mKpJTwCIh9eoqX76AHR25QyLJW0qz+H9NNA/P4irWqUm6V w==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="152971403" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="152971403" Received: from unknown (HELO oym-r2.gw.nic.fujitsu.com) ([210.162.30.90]) by esa4.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:31 +0900 Received: from oym-m4.gw.nic.fujitsu.com (oym-nat-oym-m4.gw.nic.fujitsu.com [192.168.87.61]) by oym-r2.gw.nic.fujitsu.com (Postfix) with ESMTP id 37311F2646; Tue, 19 Mar 2024 15:32:29 +0900 (JST) Received: from kws-ab4.gw.nic.fujitsu.com (kws-ab4.gw.nic.fujitsu.com [192.51.206.22]) by oym-m4.gw.nic.fujitsu.com (Postfix) with ESMTP id 490F314014; Tue, 19 Mar 2024 15:32:28 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab4.gw.nic.fujitsu.com (Postfix) with ESMTP id B15851EA349; Tue, 19 Mar 2024 15:32:27 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id 405F21A006D; Tue, 19 Mar 2024 14:32:27 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org Subject: [PATCH v2 22/25] scsi: scsi_transport_fc: Convert sprintf() family to sysfs_emit() family (part 2) Date: Tue, 19 Mar 2024 14:31:29 +0800 Message-Id: <20240319063132.1588443-22-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--8.175600-10.000000 X-TMASE-MatchedRID: oHBCG6HyOVEbO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/iwxLjNbuPBWO0yVK/5LmcQiM ingSlKoKMx5HzfQifbPE41045MrHXFDCN/1eC4ASdVNZaI2n6/2BKRtg9pHEawLkNMQzGl5B+Kr WCPbERPyqq0O5S3DJ8TPK2izpFIcpKTrL7C/IWdIXQ/hu1OV/0+LidURF+DB02IB8TTQDNxPVss +T7ABwcbF6gos3VEkPxhi6d+tzuTPFT0+xU+1/830kDaWZBE1RYL/tox9XQkVKFxY7/zfGiQVhQ ktC6mCrCqU5ZaMeHNGYyzo3OdtPuIQJt3nwJw/DHsEljqux9nan/3nyhTdZwpjlkbDvDJ4dNI/Y G2D7IkscEmVYex+Nkd4AIPQ5gPYCR9GF2J2xqMxRFJJyf5BJe3QfwsVk0UbtuRXh7bFKB7soss8 v7FcAi2/GxwmCnQbmmxxOV/oQSfcmYwSKX7pcBsBTJSD2iAW0= X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 This focuses on the abused in macros. 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/scsi_transport_fc.c | 152 +++++++++++++++---------------- 1 file changed, 74 insertions(+), 78 deletions(-) diff --git a/drivers/scsi/scsi_transport_fc.c b/drivers/scsi/scsi_transport_fc.c index 3335c31772e1..340cda452b44 100644 --- a/drivers/scsi/scsi_transport_fc.c +++ b/drivers/scsi/scsi_transport_fc.c @@ -114,7 +114,6 @@ static struct { { FC_PORTTYPE_NPIV, "NPIV VPORT" }, }; fc_enum_name_search(port_type, fc_port_type, fc_port_type_names) -#define FC_PORTTYPE_MAX_NAMELEN 50 /* Reuse fc_port_type enum function for vport_type */ #define get_fc_vport_type_name get_fc_port_type_name @@ -166,7 +165,6 @@ static struct { }; fc_enum_name_search(port_state, fc_port_state, fc_port_state_names) fc_enum_name_match(port_state, fc_port_state, fc_port_state_names) -#define FC_PORTSTATE_MAX_NAMELEN 20 /* Convert fc_vport_state values to ascii string name */ @@ -186,7 +184,6 @@ static struct { { FC_VPORT_FAILED, "VPort Failed" }, }; fc_enum_name_search(vport_state, fc_vport_state, fc_vport_state_names) -#define FC_VPORTSTATE_MAX_NAMELEN 24 /* Reuse fc_vport_state enum function for vport_last_state */ #define get_fc_vport_last_state_name get_fc_vport_state_name @@ -983,7 +980,7 @@ static void __exit fc_transport_exit(void) * FC Remote Port Attribute Management */ -#define fc_rport_show_function(field, format_string, sz, cast) \ +#define fc_rport_show_function(field, format_string, cast) \ static ssize_t \ show_fc_rport_##field (struct device *dev, \ struct device_attribute *attr, char *buf) \ @@ -996,7 +993,7 @@ show_fc_rport_##field (struct device *dev, \ (rport->port_state == FC_PORTSTATE_DELETED) || \ (rport->port_state == FC_PORTSTATE_NOTPRESENT))) \ i->f->get_rport_##field(rport); \ - return snprintf(buf, sz, format_string, cast rport->field); \ + return sysfs_emit(buf, format_string, cast rport->field); \ } #define fc_rport_store_function(field) \ @@ -1021,45 +1018,45 @@ store_fc_rport_##field(struct device *dev, \ return count; \ } -#define fc_rport_rd_attr(field, format_string, sz) \ - fc_rport_show_function(field, format_string, sz, ) \ +#define fc_rport_rd_attr(field, format_string) \ + fc_rport_show_function(field, format_string, ) \ static FC_DEVICE_ATTR(rport, field, S_IRUGO, \ show_fc_rport_##field, NULL) -#define fc_rport_rd_attr_cast(field, format_string, sz, cast) \ - fc_rport_show_function(field, format_string, sz, (cast)) \ +#define fc_rport_rd_attr_cast(field, format_string, cast) \ + fc_rport_show_function(field, format_string, (cast)) \ static FC_DEVICE_ATTR(rport, field, S_IRUGO, \ show_fc_rport_##field, NULL) -#define fc_rport_rw_attr(field, format_string, sz) \ - fc_rport_show_function(field, format_string, sz, ) \ +#define fc_rport_rw_attr(field, format_string) \ + fc_rport_show_function(field, format_string, ) \ fc_rport_store_function(field) \ static FC_DEVICE_ATTR(rport, field, S_IRUGO | S_IWUSR, \ show_fc_rport_##field, \ store_fc_rport_##field) -#define fc_private_rport_show_function(field, format_string, sz, cast) \ +#define fc_private_rport_show_function(field, format_string, cast) \ static ssize_t \ show_fc_rport_##field (struct device *dev, \ struct device_attribute *attr, char *buf) \ { \ struct fc_rport *rport = transport_class_to_rport(dev); \ - return snprintf(buf, sz, format_string, cast rport->field); \ + return sysfs_emit(buf, format_string, cast rport->field); \ } -#define fc_private_rport_rd_attr(field, format_string, sz) \ - fc_private_rport_show_function(field, format_string, sz, ) \ +#define fc_private_rport_rd_attr(field, format_string) \ + fc_private_rport_show_function(field, format_string, ) \ static FC_DEVICE_ATTR(rport, field, S_IRUGO, \ show_fc_rport_##field, NULL) -#define fc_private_rport_rd_attr_cast(field, format_string, sz, cast) \ - fc_private_rport_show_function(field, format_string, sz, (cast)) \ +#define fc_private_rport_rd_attr_cast(field, format_string, cast) \ + fc_private_rport_show_function(field, format_string, (cast)) \ static FC_DEVICE_ATTR(rport, field, S_IRUGO, \ show_fc_rport_##field, NULL) -#define fc_private_rport_rd_enum_attr(title, maxlen) \ +#define fc_private_rport_rd_enum_attr(title) \ static ssize_t \ show_fc_rport_##title (struct device *dev, \ struct device_attribute *attr, char *buf) \ @@ -1069,7 +1066,7 @@ show_fc_rport_##title (struct device *dev, \ name = get_fc_##title##_name(rport->title); \ if (!name) \ return -EINVAL; \ - return snprintf(buf, maxlen, "%s\n", name); \ + return sysfs_emit(buf, "%s\n", name); \ } \ static FC_DEVICE_ATTR(rport, title, S_IRUGO, \ show_fc_rport_##title, NULL) @@ -1112,7 +1109,7 @@ static FC_DEVICE_ATTR(rport, title, S_IRUGO, \ /* Fixed Remote Port Attributes */ -fc_private_rport_rd_attr(maxframe_size, "%u bytes\n", 20); +fc_private_rport_rd_attr(maxframe_size, "%u bytes\n"); static ssize_t show_fc_rport_supported_classes (struct device *dev, @@ -1175,7 +1172,7 @@ static int fc_rport_set_dev_loss_tmo(struct fc_rport *rport, return 0; } -fc_rport_show_function(dev_loss_tmo, "%u\n", 20, ) +fc_rport_show_function(dev_loss_tmo, "%u\n", ) static ssize_t store_fc_rport_dev_loss_tmo(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) @@ -1199,9 +1196,9 @@ static FC_DEVICE_ATTR(rport, dev_loss_tmo, S_IRUGO | S_IWUSR, /* Private Remote Port Attributes */ -fc_private_rport_rd_attr_cast(node_name, "0x%llx\n", 20, unsigned long long); -fc_private_rport_rd_attr_cast(port_name, "0x%llx\n", 20, unsigned long long); -fc_private_rport_rd_attr(port_id, "0x%06x\n", 20); +fc_private_rport_rd_attr_cast(node_name, "0x%llx\n", unsigned long long); +fc_private_rport_rd_attr_cast(port_name, "0x%llx\n", unsigned long long); +fc_private_rport_rd_attr(port_id, "0x%06x\n"); static ssize_t show_fc_rport_roles (struct device *dev, struct device_attribute *attr, @@ -1289,7 +1286,7 @@ show_fc_rport_port_state(struct device *dev, static FC_DEVICE_ATTR(rport, port_state, 0444 | 0200, show_fc_rport_port_state, fc_rport_set_marginal_state); -fc_private_rport_rd_attr(scsi_target_id, "%d\n", 20); +fc_private_rport_rd_attr(scsi_target_id, "%d\n"); /* * fast_io_fail_tmo attribute @@ -1346,7 +1343,7 @@ static ssize_t fc_rport_fpinstat_##name(struct device *cd, \ { \ struct fc_rport *rport = transport_class_to_rport(cd); \ \ - return snprintf(buf, 20, "0x%llx\n", rport->fpin_stats.name); \ + return sysfs_emit(buf, "0x%llx\n", rport->fpin_stats.name); \ } \ static FC_DEVICE_ATTR(rport, fpin_##name, 0444, fc_rport_fpinstat_##name, NULL) @@ -1411,7 +1408,7 @@ static struct attribute_group fc_rport_statistics_group = { * involved in sysfs functions. The driver only gets involved if * it's the "old" style that doesn't use rports. */ -#define fc_starget_show_function(field, format_string, sz, cast) \ +#define fc_starget_show_function(field, format_string, cast) \ static ssize_t \ show_fc_starget_##field (struct device *dev, \ struct device_attribute *attr, char *buf) \ @@ -1424,17 +1421,17 @@ show_fc_starget_##field (struct device *dev, \ fc_starget_##field(starget) = rport->field; \ else if (i->f->get_starget_##field) \ i->f->get_starget_##field(starget); \ - return snprintf(buf, sz, format_string, \ + return sysfs_emit(buf, format_string, \ cast fc_starget_##field(starget)); \ } -#define fc_starget_rd_attr(field, format_string, sz) \ - fc_starget_show_function(field, format_string, sz, ) \ +#define fc_starget_rd_attr(field, format_string) \ + fc_starget_show_function(field, format_string, ) \ static FC_DEVICE_ATTR(starget, field, S_IRUGO, \ show_fc_starget_##field, NULL) -#define fc_starget_rd_attr_cast(field, format_string, sz, cast) \ - fc_starget_show_function(field, format_string, sz, (cast)) \ +#define fc_starget_rd_attr_cast(field, format_string, cast) \ + fc_starget_show_function(field, format_string, (cast)) \ static FC_DEVICE_ATTR(starget, field, S_IRUGO, \ show_fc_starget_##field, NULL) @@ -1457,9 +1454,9 @@ static FC_DEVICE_ATTR(starget, field, S_IRUGO, \ count++ /* The FC Transport SCSI Target Attributes: */ -fc_starget_rd_attr_cast(node_name, "0x%llx\n", 20, unsigned long long); -fc_starget_rd_attr_cast(port_name, "0x%llx\n", 20, unsigned long long); -fc_starget_rd_attr(port_id, "0x%06x\n", 20); +fc_starget_rd_attr_cast(node_name, "0x%llx\n", unsigned long long); +fc_starget_rd_attr_cast(port_name, "0x%llx\n", unsigned long long); +fc_starget_rd_attr(port_id, "0x%06x\n"); /* @@ -1477,7 +1474,7 @@ show_fc_vport_##field (struct device *dev, \ if ((i->f->get_vport_##field) && \ !(vport->flags & (FC_VPORT_DEL | FC_VPORT_CREATING))) \ i->f->get_vport_##field(vport); \ - return snprintf(buf, sz, format_string, cast vport->field); \ + return sysfs_emit(buf, format_string, cast vport->field); \ } #define fc_vport_store_function(field) \ @@ -1544,7 +1541,7 @@ show_fc_vport_##field (struct device *dev, \ struct device_attribute *attr, char *buf) \ { \ struct fc_vport *vport = transport_class_to_vport(dev); \ - return snprintf(buf, sz, format_string, cast vport->field); \ + return sysfs_emit(buf, format_string, cast vport->field); \ } #define fc_private_vport_store_u32_function(field) \ @@ -1584,7 +1581,7 @@ static FC_DEVICE_ATTR(vport, field, S_IRUGO | S_IWUSR, \ store_fc_vport_##field) -#define fc_private_vport_rd_enum_attr(title, maxlen) \ +#define fc_private_vport_rd_enum_attr(title) \ static ssize_t \ show_fc_vport_##title (struct device *dev, \ struct device_attribute *attr, \ @@ -1595,7 +1592,7 @@ show_fc_vport_##title (struct device *dev, \ name = get_fc_##title##_name(vport->title); \ if (!name) \ return -EINVAL; \ - return snprintf(buf, maxlen, "%s\n", name); \ + return sysfs_emit(buf, "%s\n", name); \ } \ static FC_DEVICE_ATTR(vport, title, S_IRUGO, \ show_fc_vport_##title, NULL) @@ -1650,8 +1647,8 @@ static FC_DEVICE_ATTR(vport, title, S_IRUGO, \ /* Private Virtual Port Attributes */ -fc_private_vport_rd_enum_attr(vport_state, FC_VPORTSTATE_MAX_NAMELEN); -fc_private_vport_rd_enum_attr(vport_last_state, FC_VPORTSTATE_MAX_NAMELEN); +fc_private_vport_rd_enum_attr(vport_state); +fc_private_vport_rd_enum_attr(vport_last_state); fc_private_vport_rd_attr_cast(node_name, "0x%llx\n", 20, unsigned long long); fc_private_vport_rd_attr_cast(port_name, "0x%llx\n", 20, unsigned long long); @@ -1667,7 +1664,7 @@ show_fc_vport_roles (struct device *dev, struct device_attribute *attr, } static FC_DEVICE_ATTR(vport, roles, S_IRUGO, show_fc_vport_roles, NULL); -fc_private_vport_rd_enum_attr(vport_type, FC_PORTTYPE_MAX_NAMELEN); +fc_private_vport_rd_enum_attr(vport_type); fc_private_vport_show_function(symbolic_name, "%s\n", FC_VPORT_SYMBOLIC_NAMELEN + 1, ) @@ -1735,7 +1732,7 @@ static FC_DEVICE_ATTR(vport, vport_disable, S_IWUSR, * Host Attribute Management */ -#define fc_host_show_function(field, format_string, sz, cast) \ +#define fc_host_show_function(field, format_string, cast) \ static ssize_t \ show_fc_host_##field (struct device *dev, \ struct device_attribute *attr, char *buf) \ @@ -1744,7 +1741,7 @@ show_fc_host_##field (struct device *dev, \ struct fc_internal *i = to_fc_internal(shost->transportt); \ if (i->f->get_host_##field) \ i->f->get_host_##field(shost); \ - return snprintf(buf, sz, format_string, cast fc_host_##field(shost)); \ + return sysfs_emit(buf, format_string, cast fc_host_##field(shost)); \ } #define fc_host_store_function(field) \ @@ -1785,13 +1782,13 @@ store_fc_host_##field(struct device *dev, \ return count; \ } -#define fc_host_rd_attr(field, format_string, sz) \ - fc_host_show_function(field, format_string, sz, ) \ +#define fc_host_rd_attr(field, format_string) \ + fc_host_show_function(field, format_string, ) \ static FC_DEVICE_ATTR(host, field, S_IRUGO, \ show_fc_host_##field, NULL) -#define fc_host_rd_attr_cast(field, format_string, sz, cast) \ - fc_host_show_function(field, format_string, sz, (cast)) \ +#define fc_host_rd_attr_cast(field, format_string, cast) \ + fc_host_show_function(field, format_string, (cast)) \ static FC_DEVICE_ATTR(host, field, S_IRUGO, \ show_fc_host_##field, NULL) @@ -1802,7 +1799,7 @@ static FC_DEVICE_ATTR(host, field, S_IRUGO | S_IWUSR, \ show_fc_host_##field, \ store_fc_host_##field) -#define fc_host_rd_enum_attr(title, maxlen) \ +#define fc_host_rd_enum_attr(title) \ static ssize_t \ show_fc_host_##title (struct device *dev, \ struct device_attribute *attr, char *buf) \ @@ -1815,7 +1812,7 @@ show_fc_host_##title (struct device *dev, \ name = get_fc_##title##_name(fc_host_##title(shost)); \ if (!name) \ return -EINVAL; \ - return snprintf(buf, maxlen, "%s\n", name); \ + return sysfs_emit(buf, "%s\n", name); \ } \ static FC_DEVICE_ATTR(host, title, S_IRUGO, show_fc_host_##title, NULL) @@ -1845,22 +1842,22 @@ static FC_DEVICE_ATTR(host, title, S_IRUGO, show_fc_host_##title, NULL) count++ -#define fc_private_host_show_function(field, format_string, sz, cast) \ +#define fc_private_host_show_function(field, format_string, cast) \ static ssize_t \ show_fc_host_##field (struct device *dev, \ struct device_attribute *attr, char *buf) \ { \ struct Scsi_Host *shost = transport_class_to_shost(dev); \ - return snprintf(buf, sz, format_string, cast fc_host_##field(shost)); \ + return sysfs_emit(buf, format_string, cast fc_host_##field(shost)); \ } -#define fc_private_host_rd_attr(field, format_string, sz) \ - fc_private_host_show_function(field, format_string, sz, ) \ +#define fc_private_host_rd_attr(field, format_string) \ + fc_private_host_show_function(field, format_string, ) \ static FC_DEVICE_ATTR(host, field, S_IRUGO, \ show_fc_host_##field, NULL) -#define fc_private_host_rd_attr_cast(field, format_string, sz, cast) \ - fc_private_host_show_function(field, format_string, sz, (cast)) \ +#define fc_private_host_rd_attr_cast(field, format_string, cast) \ + fc_private_host_show_function(field, format_string, (cast)) \ static FC_DEVICE_ATTR(host, field, S_IRUGO, \ show_fc_host_##field, NULL) @@ -1920,20 +1917,20 @@ static FC_DEVICE_ATTR(host, supported_speeds, S_IRUGO, show_fc_host_supported_speeds, NULL); -fc_private_host_rd_attr_cast(node_name, "0x%llx\n", 20, unsigned long long); -fc_private_host_rd_attr_cast(port_name, "0x%llx\n", 20, unsigned long long); -fc_private_host_rd_attr_cast(permanent_port_name, "0x%llx\n", 20, +fc_private_host_rd_attr_cast(node_name, "0x%llx\n", unsigned long long); +fc_private_host_rd_attr_cast(port_name, "0x%llx\n", unsigned long long); +fc_private_host_rd_attr_cast(permanent_port_name, "0x%llx\n", unsigned long long); -fc_private_host_rd_attr(maxframe_size, "%u bytes\n", 20); -fc_private_host_rd_attr(max_npiv_vports, "%u\n", 20); -fc_private_host_rd_attr(serial_number, "%s\n", (FC_SERIAL_NUMBER_SIZE +1)); -fc_private_host_rd_attr(manufacturer, "%s\n", FC_SERIAL_NUMBER_SIZE + 1); -fc_private_host_rd_attr(model, "%s\n", FC_SYMBOLIC_NAME_SIZE + 1); -fc_private_host_rd_attr(model_description, "%s\n", FC_SYMBOLIC_NAME_SIZE + 1); -fc_private_host_rd_attr(hardware_version, "%s\n", FC_VERSION_STRING_SIZE + 1); -fc_private_host_rd_attr(driver_version, "%s\n", FC_VERSION_STRING_SIZE + 1); -fc_private_host_rd_attr(firmware_version, "%s\n", FC_VERSION_STRING_SIZE + 1); -fc_private_host_rd_attr(optionrom_version, "%s\n", FC_VERSION_STRING_SIZE + 1); +fc_private_host_rd_attr(maxframe_size, "%u bytes\n"); +fc_private_host_rd_attr(max_npiv_vports, "%u\n"); +fc_private_host_rd_attr(serial_number, "%s\n"); +fc_private_host_rd_attr(manufacturer, "%s\n"); +fc_private_host_rd_attr(model, "%s\n"); +fc_private_host_rd_attr(model_description, "%s\n"); +fc_private_host_rd_attr(hardware_version, "%s\n"); +fc_private_host_rd_attr(driver_version, "%s\n"); +fc_private_host_rd_attr(firmware_version, "%s\n"); +fc_private_host_rd_attr(optionrom_version, "%s\n"); /* Dynamic Host Attributes */ @@ -1972,14 +1969,13 @@ static FC_DEVICE_ATTR(host, speed, S_IRUGO, show_fc_host_speed, NULL); -fc_host_rd_attr(port_id, "0x%06x\n", 20); -fc_host_rd_enum_attr(port_type, FC_PORTTYPE_MAX_NAMELEN); -fc_host_rd_enum_attr(port_state, FC_PORTSTATE_MAX_NAMELEN); -fc_host_rd_attr_cast(fabric_name, "0x%llx\n", 20, unsigned long long); -fc_host_rd_attr(symbolic_name, "%s\n", FC_SYMBOLIC_NAME_SIZE + 1); +fc_host_rd_attr(port_id, "0x%06x\n"); +fc_host_rd_enum_attr(port_type); +fc_host_rd_enum_attr(port_state); +fc_host_rd_attr_cast(fabric_name, "0x%llx\n", unsigned long long); +fc_host_rd_attr(symbolic_name, "%s\n"); -fc_private_host_show_function(system_hostname, "%s\n", - FC_SYMBOLIC_NAME_SIZE + 1, ) +fc_private_host_show_function(system_hostname, "%s\n", ) fc_host_store_str_function(system_hostname, FC_SYMBOLIC_NAME_SIZE) static FC_DEVICE_ATTR(host, system_hostname, S_IRUGO | S_IWUSR, show_fc_host_system_hostname, store_fc_host_system_hostname); @@ -2079,12 +2075,12 @@ store_fc_private_host_dev_loss_tmo(struct device *dev, return count; } -fc_private_host_show_function(dev_loss_tmo, "%d\n", 20, ); +fc_private_host_show_function(dev_loss_tmo, "%d\n", ); static FC_DEVICE_ATTR(host, dev_loss_tmo, S_IRUGO | S_IWUSR, show_fc_host_dev_loss_tmo, store_fc_private_host_dev_loss_tmo); -fc_private_host_rd_attr(npiv_vports_inuse, "%u\n", 20); +fc_private_host_rd_attr(npiv_vports_inuse, "%u\n"); /* * Host Statistics Management From patchwork Tue Mar 19 06:31:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781294 Received: from esa12.hc1455-7.c3s2.iphmx.com (esa12.hc1455-7.c3s2.iphmx.com [139.138.37.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F2FBD7CF30; Tue, 19 Mar 2024 06:32:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=139.138.37.100 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829959; cv=none; b=SfHo/cy5qtdzQ6t6QPTvaQPiCtlyhigIcFmqL1nGFn4x3iwmwW+Bytu3tGll98hH0HHGKKyv8m5O9toz3UJJ0qxEVqPQhbtOgcwKXqIHHSE8RCygy30XsRiCUC2TCAubvaNgXDPuzWP5/KBu2Xgcr3q2og2ErnAjD5qFeCplPjo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829959; c=relaxed/simple; bh=It5Zxc5LZMCakogfZklJFik4nouNeq8Wa514XlZZazY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=pJAlbmbQyhtW28+85ZShyPwcjcB1Ac6WGGnTZ6vjtN1uweJ3QRuLZRBUeo/8ghwRQC9f0rYtZVj8V91EuLfsznbjSD/El+yTJEleZbn5n4oJ3xp2ze2CoLz/rDQoKOIrIkJzMDatledQXKONB+YR2kz6bJNLFLyiOQh3HuMAEMY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=bweHafBJ; arc=none smtp.client-ip=139.138.37.100 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="bweHafBJ" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829956; x=1742365956; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=It5Zxc5LZMCakogfZklJFik4nouNeq8Wa514XlZZazY=; b=bweHafBJ/vVIb3+NeJauw5o1A6jyk9w33iXRN/82a69hwNesO+17Umsb nIoxwCfCIRKui1+YAL/OFcyIx9eIlwU0N4I+dxS0HzM0vPWZGTQwoDlmK rUizw6uiXlFOv/Pv5pjNsGJnp3WHdSykVkdgqMg/4dgV9ypaw3DQC7Vnj cDvsw2YsFQvE3k6Yw7kupHbVxyKbx+1c0RlrgJZACVWPOJplvrw8/TGvi lHDmnRmPwlWIdifkjNUbC8u93krm/CCZjKCpCOcGD9bgZ5VNmPV6WB7PA z+Zca5W6rygJ/jGRyMjdMHofsiHqTcg5cl2yfUlGgwYkMLKEdn4MjYNlt A==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="132006246" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="132006246" Received: from unknown (HELO yto-r2.gw.nic.fujitsu.com) ([218.44.52.218]) by esa12.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:30 +0900 Received: from yto-m4.gw.nic.fujitsu.com (yto-nat-yto-m4.gw.nic.fujitsu.com [192.168.83.67]) by yto-r2.gw.nic.fujitsu.com (Postfix) with ESMTP id 35BBB2A0DF9; Tue, 19 Mar 2024 15:32:29 +0900 (JST) Received: from kws-ab3.gw.nic.fujitsu.com (kws-ab3.gw.nic.fujitsu.com [192.51.206.21]) by yto-m4.gw.nic.fujitsu.com (Postfix) with ESMTP id 769D8D7B7E; Tue, 19 Mar 2024 15:32:28 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab3.gw.nic.fujitsu.com (Postfix) with ESMTP id 038D0202C976A; Tue, 19 Mar 2024 15:32:27 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id 8AFFD1A006B; Tue, 19 Mar 2024 14:32:27 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org Subject: [PATCH v2 23/25] scsi: scsi_transport_sas: Convert sprintf() family to sysfs_emit() family (part 1) Date: Tue, 19 Mar 2024 14:31:30 +0800 Message-Id: <20240319063132.1588443-23-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--9.676400-10.000000 X-TMASE-MatchedRID: 6n1zk+md1nUbO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/iwxLjNbuPBWO0yVK/5LmcQiM ingSlKoKMx5HzfQifbPE41045MrHXFDCN/1eC4ASdVNZaI2n6/2BKRtg9pHEawLkNMQzGl5B+Kr WCPbERPznpYPqS6jzxXnkq6nWMKnxgNUdcYnHhO3aNJ/iTxXCafS0Ip2eEHnz3IzXlXlpamPoLR 4+zsDTtD12T7q2dIUvhAYNECNeotsQTOF4spdICumJCBGjERTgkI5TbtbsRyA== X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/scsi_transport_sas.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/scsi_transport_sas.c b/drivers/scsi/scsi_transport_sas.c index d704c484a251..baf2aaf361d2 100644 --- a/drivers/scsi/scsi_transport_sas.c +++ b/drivers/scsi/scsi_transport_sas.c @@ -522,7 +522,7 @@ show_sas_device_type(struct device *dev, struct sas_phy *phy = transport_class_to_phy(dev); if (!phy->identify.device_type) - return snprintf(buf, 20, "none\n"); + return sysfs_emit(buf, "none\n"); return get_sas_device_type_names(phy->identify.device_type, buf); } static DEVICE_ATTR(device_type, S_IRUGO, show_sas_device_type, NULL); @@ -569,7 +569,7 @@ show_sas_phy_enable(struct device *dev, struct device_attribute *attr, { struct sas_phy *phy = transport_class_to_phy(dev); - return snprintf(buf, 20, "%d\n", phy->enabled); + return sysfs_emit(buf, "%d\n", phy->enabled); } static DEVICE_ATTR(enable, S_IRUGO | S_IWUSR, show_sas_phy_enable, @@ -1177,7 +1177,7 @@ show_sas_rphy_device_type(struct device *dev, struct sas_rphy *rphy = transport_class_to_rphy(dev); if (!rphy->identify.device_type) - return snprintf(buf, 20, "none\n"); + return sysfs_emit(buf, "none\n"); return get_sas_device_type_names( rphy->identify.device_type, buf); } @@ -1199,7 +1199,7 @@ show_sas_rphy_enclosure_identifier(struct device *dev, error = i->f->get_enclosure_identifier(rphy, &identifier); if (error) return error; - return sprintf(buf, "0x%llx\n", (unsigned long long)identifier); + return sysfs_emit(buf, "0x%llx\n", (unsigned long long)identifier); } static SAS_DEVICE_ATTR(rphy, enclosure_identifier, S_IRUGO, @@ -1218,7 +1218,7 @@ show_sas_rphy_bay_identifier(struct device *dev, val = i->f->get_bay_identifier(rphy); if (val < 0) return val; - return sprintf(buf, "%d\n", val); + return sysfs_emit(buf, "%d\n", val); } static SAS_DEVICE_ATTR(rphy, bay_identifier, S_IRUGO, From patchwork Tue Mar 19 06:31:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781469 Received: from esa4.hc1455-7.c3s2.iphmx.com (esa4.hc1455-7.c3s2.iphmx.com [68.232.139.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 479487EEE0; Tue, 19 Mar 2024 06:32:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=68.232.139.117 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829963; cv=none; b=mSNEHQB8l985lGZ2Azb6sWNEPWnpYqoXxo1P+Csr7MzSYW+nQsgbPNduMFmzK2y2r47mVultZm+rrze3pwC4KqEA6X4HrHkHgMkRr3iCg0umM6y0Q2HTYAAuDF4YqBBZUCRMaDkXIKzMz4Ge8+UXex+QK58Q/r2ebUC+9lpqVj0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829963; c=relaxed/simple; bh=XJCQdz/gchkeN5S6zp6jU0abnRa0KvI5l1susWJLLdk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=PPRQJxQ89dFL85qKJwhDvwhlU0v1qNgd45Pr17sI3eMAJrgb3n1ia9pzYQ0EZzcpVJPEMPFws3pCP2hh77V5o8jP0rhMyfmdpdXRM/uy3RG3C8SfUegVXfop3CtNpwutimHhBvjMxlOpCxLVd+5Af2Trc8IlDqbjls2X0R4orq8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=piw56tmA; arc=none smtp.client-ip=68.232.139.117 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="piw56tmA" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829960; x=1742365960; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=XJCQdz/gchkeN5S6zp6jU0abnRa0KvI5l1susWJLLdk=; b=piw56tmAImpH5Cvy6wuv47ohjjPuSAtj2NylfpNsrBygTdTpBkAH2Zst 8iJT8US1TI4XzF9X3puZZmE6fI8F6XPaqoMO06OuHWb3XM9bMan0IrR/z iz9J89Iemw7NB/SDjsfwZRVfglChS0aIkpSQe03K0UqGaKmQ/rH2CRddy BwCErBmM4f9cEaVgnNyXnnpiZvKWPnaizki0rUKY1jx7qGyuRYCghUjA7 pk2/FOUcYeIeZKBTE3jnyg2H822i+grEONn4b2PsLTArqeK8H8Jxfxjng KxTMLGq63eVa4KWHcrEgfxrvlWSJGihdajRYzGQdS0dE/qaF3Znp5bFD7 w==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="152971406" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="152971406" Received: from unknown (HELO yto-r3.gw.nic.fujitsu.com) ([218.44.52.219]) by esa4.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:31 +0900 Received: from yto-m3.gw.nic.fujitsu.com (yto-nat-yto-m3.gw.nic.fujitsu.com [192.168.83.66]) by yto-r3.gw.nic.fujitsu.com (Postfix) with ESMTP id 634C010A300; Tue, 19 Mar 2024 15:32:29 +0900 (JST) Received: from kws-ab4.gw.nic.fujitsu.com (kws-ab4.gw.nic.fujitsu.com [192.51.206.22]) by yto-m3.gw.nic.fujitsu.com (Postfix) with ESMTP id 96DF4F933; Tue, 19 Mar 2024 15:32:28 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab4.gw.nic.fujitsu.com (Postfix) with ESMTP id 244AF228822; Tue, 19 Mar 2024 15:32:28 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id CE4801A006E; Tue, 19 Mar 2024 14:32:27 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org Subject: [PATCH v2 24/25] scsi: scsi_transport_sas: Convert sprintf() family to sysfs_emit() family (part 2) Date: Tue, 19 Mar 2024 14:31:31 +0800 Message-Id: <20240319063132.1588443-24-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--9.708800-10.000000 X-TMASE-MatchedRID: LFhZ4D3QpawbO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/iwxLjNbuPBWO0yVK/5LmcQiM ingSlKoKMx5HzfQifbPE41045MrHXFDCN/1eC4ASdVNZaI2n6/2BKRtg9pHEawLkNMQzGl5B+Kr WCPbERPznpYPqS6jzxXnkq6nWMKnwUt79wf2J8qWgws6g0ewz2rzl8sNiWClKbKItl61J/yZ+in TK0bC9eKrauXd3MZDVXk9+tZ+3vTcfWJrWr2NKtynbcaY8t5OdsgdUCQd8VplZsmxh4osEt X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 This focuses on the abused cases in macros. 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/scsi_transport_sas.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/scsi/scsi_transport_sas.c b/drivers/scsi/scsi_transport_sas.c index baf2aaf361d2..21d3b13c543a 100644 --- a/drivers/scsi/scsi_transport_sas.c +++ b/drivers/scsi/scsi_transport_sas.c @@ -427,7 +427,7 @@ show_sas_phy_##name(struct device *dev, \ { \ struct sas_phy *phy = transport_class_to_phy(dev); \ \ - return snprintf(buf, 20, format_string, cast phy->field); \ + return sysfs_emit(buf, format_string, cast phy->field); \ } #define sas_phy_simple_attr(field, name, format_string, type) \ @@ -442,7 +442,7 @@ show_sas_phy_##name(struct device *dev, \ struct sas_phy *phy = transport_class_to_phy(dev); \ \ if (!phy->field) \ - return snprintf(buf, 20, "none\n"); \ + return sysfs_emit(buf, "none\n"); \ return get_sas_protocol_names(phy->field, buf); \ } @@ -507,7 +507,7 @@ show_sas_phy_##field(struct device *dev, \ error = i->f->get_linkerrors ? i->f->get_linkerrors(phy) : 0; \ if (error) \ return error; \ - return snprintf(buf, 20, "%u\n", phy->field); \ + return sysfs_emit(buf, "%u\n", phy->field); \ } #define sas_phy_linkerror_attr(field) \ @@ -798,7 +798,7 @@ show_sas_port_##name(struct device *dev, \ { \ struct sas_port *port = transport_class_to_sas_port(dev); \ \ - return snprintf(buf, 20, format_string, cast port->field); \ + return sysfs_emit(buf, format_string, cast port->field); \ } #define sas_port_simple_attr(field, name, format_string, type) \ @@ -1145,7 +1145,7 @@ show_sas_rphy_##name(struct device *dev, \ { \ struct sas_rphy *rphy = transport_class_to_rphy(dev); \ \ - return snprintf(buf, 20, format_string, cast rphy->field); \ + return sysfs_emit(buf, format_string, cast rphy->field); \ } #define sas_rphy_simple_attr(field, name, format_string, type) \ @@ -1161,7 +1161,7 @@ show_sas_rphy_##name(struct device *dev, \ struct sas_rphy *rphy = transport_class_to_rphy(dev); \ \ if (!rphy->field) \ - return snprintf(buf, 20, "none\n"); \ + return sysfs_emit(buf, "none\n"); \ return get_sas_protocol_names(rphy->field, buf); \ } @@ -1280,7 +1280,7 @@ show_sas_end_dev_##name(struct device *dev, \ struct sas_rphy *rphy = transport_class_to_rphy(dev); \ struct sas_end_device *rdev = rphy_to_end_device(rphy); \ \ - return snprintf(buf, 20, format_string, cast rdev->field); \ + return sysfs_emit(buf, format_string, cast rdev->field); \ } #define sas_end_dev_simple_attr(field, name, format_string, type) \ @@ -1309,7 +1309,7 @@ show_sas_expander_##name(struct device *dev, \ struct sas_rphy *rphy = transport_class_to_rphy(dev); \ struct sas_expander_device *edev = rphy_to_expander_device(rphy); \ \ - return snprintf(buf, 20, format_string, cast edev->field); \ + return sysfs_emit(buf, format_string, cast edev->field); \ } #define sas_expander_simple_attr(field, name, format_string, type) \ From patchwork Tue Mar 19 06:31:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Li Zhijian X-Patchwork-Id: 781291 Received: from esa9.hc1455-7.c3s2.iphmx.com (esa9.hc1455-7.c3s2.iphmx.com [139.138.36.223]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AD4877F498; Tue, 19 Mar 2024 06:32:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=139.138.36.223 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829967; cv=none; b=svtCMgbQC5KmQMdCkrUBVgtxbeGFZbcjCjXD066X0u4JD0BcWflNCzKL4UcWMd6xWQJgkElpLGEZRIfbXKPYXrkvaGk8oEou01IsnznJWY8ajqw/ENyeyP+WZuHlYzwIxWQ3eeOLyTiw+UcOWkj+nCnnoov20gZ1yn9ZclqXPHc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829967; c=relaxed/simple; bh=XKaJQGnrPDnTTf8+bpmOJUwGHXq0K1nBOh01/qp66RQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=crjFU2pBUxsyVsCxJBc3krNG9rECNpNgft5GQIIDrdmAiT7XkGUuDtbBZKqf3uEWW5Byg38mdyD43zXQF0J1pQbpnq1WXRDIckngt3uvjvkEQPhVMATGYR00hMc36RyLA7DsljSxgdg6FC+tq4zGw+ZG4i8vjPFD1F8B2T91xVM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com; spf=pass smtp.mailfrom=fujitsu.com; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b=SgcPn8am; arc=none smtp.client-ip=139.138.36.223 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fujitsu.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fujitsu.com header.i=@fujitsu.com header.b="SgcPn8am" DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj2; t=1710829961; x=1742365961; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=XKaJQGnrPDnTTf8+bpmOJUwGHXq0K1nBOh01/qp66RQ=; b=SgcPn8amx1KkNIri0CZVd5phxFVD84iIdtQKhdEK16Y89wd1YUocbrR1 bx4CEIUVzC5FjZm4ildTcixN+HxV6wC+gUd1NpMHYCx6CuoZBBqeD0oap Tmds7XnS3QAnsaWDe2IlcF6WNjnDu1Uq7BoIBgRbLCn3aNmNSDQfPr9oT hSLBUe+pEdrckaTqiy0P8Yi5LCKFnhf2oRtr2NWYRLVNOiix0ZnHpFYzv pxHX332t5zfdRsuDgtQErQWgPn9oLbfZuNFjIl18MjeaKpdbkFZDHvJUh 53ZkLqCBmjoGMYLuCDGIrYdMLp7aTQqeYjrw15PAPtQktcgfCx3U1bCq/ Q==; X-IronPort-AV: E=McAfee;i="6600,9927,11017"; a="141157060" X-IronPort-AV: E=Sophos;i="6.07,136,1708354800"; d="scan'208";a="141157060" Received: from unknown (HELO yto-r2.gw.nic.fujitsu.com) ([218.44.52.218]) by esa9.hc1455-7.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Mar 2024 15:32:31 +0900 Received: from yto-m2.gw.nic.fujitsu.com (yto-nat-yto-m2.gw.nic.fujitsu.com [192.168.83.65]) by yto-r2.gw.nic.fujitsu.com (Postfix) with ESMTP id 53355C6814; Tue, 19 Mar 2024 15:32:30 +0900 (JST) Received: from kws-ab4.gw.nic.fujitsu.com (kws-ab4.gw.nic.fujitsu.com [192.51.206.22]) by yto-m2.gw.nic.fujitsu.com (Postfix) with ESMTP id 8F220D5A27; Tue, 19 Mar 2024 15:32:29 +0900 (JST) Received: from edo.cn.fujitsu.com (edo.cn.fujitsu.com [10.167.33.5]) by kws-ab4.gw.nic.fujitsu.com (Postfix) with ESMTP id 0A80A228818; Tue, 19 Mar 2024 15:32:29 +0900 (JST) Received: from localhost.localdomain (unknown [10.167.226.45]) by edo.cn.fujitsu.com (Postfix) with ESMTP id 1D0D51A006F; Tue, 19 Mar 2024 14:32:28 +0800 (CST) From: Li Zhijian To: linux-kernel@vger.kernel.org Cc: Li Zhijian , Tyrel Datwyler , Michael Ellerman , Nicholas Piggin , Christophe Leroy , "Aneesh Kumar K.V" , "Naveen N. Rao" , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org, linuxppc-dev@lists.ozlabs.org Subject: [PATCH v2 25/25] scsi: ibmvscsi: Convert sprintf() family to sysfs_emit() family Date: Tue, 19 Mar 2024 14:31:32 +0800 Message-Id: <20240319063132.1588443-25-lizhijian@fujitsu.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20240319063132.1588443-1-lizhijian@fujitsu.com> References: <20240319063132.1588443-1-lizhijian@fujitsu.com> Precedence: bulk X-Mailing-List: linux-scsi@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-TM-AS-Product-Ver: IMSS-9.1.0.1417-9.0.0.1002-28260.005 X-TM-AS-User-Approved-Sender: Yes X-TMASE-Version: IMSS-9.1.0.1417-9.0.1002-28260.005 X-TMASE-Result: 10--8.425400-10.000000 X-TMASE-MatchedRID: pfKaEBrCt3IbO59FK9BdmJiHtCNYjckMjkDrBOJwwnQ8JmmJxjOaQXVX Q3/qdw5yDiqGKKMcNgRhoUIS5GGeEs1HQN/TlJ3ZOIQ9GP2P2u/0swHSFcVJ6GluHEj++VqU18a 7/fBfKbtruPzTKuxCyQhBeNJICtc+zK2lwdvrNt2qH6mIBejVf2ItZ2e1geixEd+K6O5Nt52/BR 68O365bn9eOltIlLtrSwG3KDMI8e8exiL4/gRNNd9JA2lmQRNU0MQw+++ihy8BBwEKSykzoBhBv WgZlX+84vM1YF6AJbbCCfuIMF6xLSAHAopEd76vJH1ETRymjvVTmpy1fm7ylE0j3AxyBQR0Gu7j sbmvaqF8NRIiaC/nhQ== X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 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(). sprintf() and scnprintf() will be converted as well if they have. Generally, this patch is generated by make coccicheck M= MODE=patch \ COCCI=scripts/coccinelle/api/device_attr_show.cocci No functional change intended CC: Tyrel Datwyler CC: Michael Ellerman CC: Nicholas Piggin CC: Christophe Leroy CC: "Aneesh Kumar K.V" CC: "Naveen N. Rao" CC: "James E.J. Bottomley" CC: "Martin K. Petersen" CC: linux-scsi@vger.kernel.org CC: linuxppc-dev@lists.ozlabs.org Signed-off-by: Li Zhijian --- This is a part of the work "Fix coccicheck device_attr_show warnings"[1] Split them per subsystem so that the maintainer can review it easily [1] https://lore.kernel.org/lkml/20240116041129.3937800-1-lizhijian@fujitsu.com/ --- drivers/scsi/ibmvscsi/ibmvscsi.c | 38 +++++++++----------------------- 1 file changed, 10 insertions(+), 28 deletions(-) diff --git a/drivers/scsi/ibmvscsi/ibmvscsi.c b/drivers/scsi/ibmvscsi/ibmvscsi.c index 71f3e9563520..d6f205d30dcd 100644 --- a/drivers/scsi/ibmvscsi/ibmvscsi.c +++ b/drivers/scsi/ibmvscsi/ibmvscsi.c @@ -1904,11 +1904,8 @@ static ssize_t show_host_vhost_loc(struct device *dev, { struct Scsi_Host *shost = class_to_shost(dev); struct ibmvscsi_host_data *hostdata = shost_priv(shost); - int len; - len = snprintf(buf, sizeof(hostdata->caps.loc), "%s\n", - hostdata->caps.loc); - return len; + return sysfs_emit(buf, "%s\n", hostdata->caps.loc); } static struct device_attribute ibmvscsi_host_vhost_loc = { @@ -1924,11 +1921,8 @@ static ssize_t show_host_vhost_name(struct device *dev, { struct Scsi_Host *shost = class_to_shost(dev); struct ibmvscsi_host_data *hostdata = shost_priv(shost); - int len; - len = snprintf(buf, sizeof(hostdata->caps.name), "%s\n", - hostdata->caps.name); - return len; + return sysfs_emit(buf, "%s\n", hostdata->caps.name); } static struct device_attribute ibmvscsi_host_vhost_name = { @@ -1944,11 +1938,8 @@ static ssize_t show_host_srp_version(struct device *dev, { struct Scsi_Host *shost = class_to_shost(dev); struct ibmvscsi_host_data *hostdata = shost_priv(shost); - int len; - len = snprintf(buf, PAGE_SIZE, "%s\n", - hostdata->madapter_info.srp_version); - return len; + return sysfs_emit(buf, "%s\n", hostdata->madapter_info.srp_version); } static struct device_attribute ibmvscsi_host_srp_version = { @@ -1965,11 +1956,8 @@ static ssize_t show_host_partition_name(struct device *dev, { struct Scsi_Host *shost = class_to_shost(dev); struct ibmvscsi_host_data *hostdata = shost_priv(shost); - int len; - len = snprintf(buf, PAGE_SIZE, "%s\n", - hostdata->madapter_info.partition_name); - return len; + return sysfs_emit(buf, "%s\n", hostdata->madapter_info.partition_name); } static struct device_attribute ibmvscsi_host_partition_name = { @@ -1986,11 +1974,9 @@ static ssize_t show_host_partition_number(struct device *dev, { struct Scsi_Host *shost = class_to_shost(dev); struct ibmvscsi_host_data *hostdata = shost_priv(shost); - int len; - len = snprintf(buf, PAGE_SIZE, "%d\n", - be32_to_cpu(hostdata->madapter_info.partition_number)); - return len; + return sysfs_emit(buf, "%d\n", + be32_to_cpu(hostdata->madapter_info.partition_number)); } static struct device_attribute ibmvscsi_host_partition_number = { @@ -2006,11 +1992,9 @@ static ssize_t show_host_mad_version(struct device *dev, { struct Scsi_Host *shost = class_to_shost(dev); struct ibmvscsi_host_data *hostdata = shost_priv(shost); - int len; - len = snprintf(buf, PAGE_SIZE, "%d\n", - be32_to_cpu(hostdata->madapter_info.mad_version)); - return len; + return sysfs_emit(buf, "%d\n", + be32_to_cpu(hostdata->madapter_info.mad_version)); } static struct device_attribute ibmvscsi_host_mad_version = { @@ -2026,11 +2010,9 @@ static ssize_t show_host_os_type(struct device *dev, { struct Scsi_Host *shost = class_to_shost(dev); struct ibmvscsi_host_data *hostdata = shost_priv(shost); - int len; - len = snprintf(buf, PAGE_SIZE, "%d\n", - be32_to_cpu(hostdata->madapter_info.os_type)); - return len; + return sysfs_emit(buf, "%d\n", + be32_to_cpu(hostdata->madapter_info.os_type)); } static struct device_attribute ibmvscsi_host_os_type = {