scsi: Use device_show_string() helper for sysfs attributes
authorLukas Wunner <lukas@wunner.de>
Sat, 20 Apr 2024 20:00:06 +0000 (22:00 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 4 May 2024 15:37:04 +0000 (17:37 +0200)
Deduplicate sysfs ->show() callbacks which expose a string at a static
memory location.  Use the newly introduced device_show_string() helper
in the driver core instead by declaring those sysfs attributes with
DEVICE_STRING_ATTR_RO().

No functional change intended.

Signed-off-by: Lukas Wunner <lukas@wunner.de>
Link: https://lore.kernel.org/r/b11792137186f5a6794f12fdf891d0c6d51b3557.1713608122.git.lukas@wunner.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/scsi/bfa/bfad_attr.c
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
drivers/scsi/mvsas/mv_init.c
drivers/scsi/qla2xxx/qla_attr.c
drivers/scsi/smartpqi/smartpqi_init.c

index e96e4b6df2659263f240f354183250c85ed10412..54bc1539e1e9e16a753b4bbbc9917a111d01811f 100644 (file)
@@ -853,13 +853,6 @@ bfad_im_hw_version_show(struct device *dev, struct device_attribute *attr,
        return sysfs_emit(buf, "%s\n", hw_ver);
 }
 
-static ssize_t
-bfad_im_drv_version_show(struct device *dev, struct device_attribute *attr,
-                               char *buf)
-{
-       return sysfs_emit(buf, "%s\n", BFAD_DRIVER_VERSION);
-}
-
 static ssize_t
 bfad_im_optionrom_version_show(struct device *dev,
                         struct device_attribute *attr, char *buf)
@@ -901,13 +894,6 @@ bfad_im_num_of_ports_show(struct device *dev, struct device_attribute *attr,
                        bfa_get_nports(&bfad->bfa));
 }
 
-static ssize_t
-bfad_im_drv_name_show(struct device *dev, struct device_attribute *attr,
-                               char *buf)
-{
-       return sysfs_emit(buf, "%s\n", BFAD_DRIVER_NAME);
-}
-
 static ssize_t
 bfad_im_num_of_discovered_ports_show(struct device *dev,
                        struct device_attribute *attr, char *buf)
@@ -944,15 +930,15 @@ static          DEVICE_ATTR(symbolic_name, S_IRUGO,
                                bfad_im_symbolic_name_show, NULL);
 static          DEVICE_ATTR(hardware_version, S_IRUGO,
                                bfad_im_hw_version_show, NULL);
-static          DEVICE_ATTR(driver_version, S_IRUGO,
-                               bfad_im_drv_version_show, NULL);
+static         DEVICE_STRING_ATTR_RO(driver_version, S_IRUGO,
+                               BFAD_DRIVER_VERSION);
 static          DEVICE_ATTR(option_rom_version, S_IRUGO,
                                bfad_im_optionrom_version_show, NULL);
 static          DEVICE_ATTR(firmware_version, S_IRUGO,
                                bfad_im_fw_version_show, NULL);
 static          DEVICE_ATTR(number_of_ports, S_IRUGO,
                                bfad_im_num_of_ports_show, NULL);
-static          DEVICE_ATTR(driver_name, S_IRUGO, bfad_im_drv_name_show, NULL);
+static         DEVICE_STRING_ATTR_RO(driver_name, S_IRUGO, BFAD_DRIVER_NAME);
 static          DEVICE_ATTR(number_of_discovered_ports, S_IRUGO,
                                bfad_im_num_of_discovered_ports_show, NULL);
 
@@ -963,11 +949,11 @@ static struct attribute *bfad_im_host_attrs[] = {
        &dev_attr_node_name.attr,
        &dev_attr_symbolic_name.attr,
        &dev_attr_hardware_version.attr,
-       &dev_attr_driver_version.attr,
+       &dev_attr_driver_version.attr.attr,
        &dev_attr_option_rom_version.attr,
        &dev_attr_firmware_version.attr,
        &dev_attr_number_of_ports.attr,
-       &dev_attr_driver_name.attr,
+       &dev_attr_driver_name.attr.attr,
        &dev_attr_number_of_discovered_ports.attr,
        NULL,
 };
@@ -988,11 +974,11 @@ static struct attribute *bfad_im_vport_attrs[] = {
        &dev_attr_node_name.attr,
        &dev_attr_symbolic_name.attr,
        &dev_attr_hardware_version.attr,
-       &dev_attr_driver_version.attr,
+       &dev_attr_driver_version.attr.attr,
        &dev_attr_option_rom_version.attr,
        &dev_attr_firmware_version.attr,
        &dev_attr_number_of_ports.attr,
-       &dev_attr_driver_name.attr,
+       &dev_attr_driver_name.attr.attr,
        &dev_attr_number_of_discovered_ports.attr,
        NULL,
 };
index 68b99924ee4ffc9117f3663b4f362b56d4844fb5..2fca17cf8b5188be92c019c7df6e73b4c0fee973 100644 (file)
@@ -3613,12 +3613,6 @@ static void ibmvscsis_remove(struct vio_dev *vdev)
        kfree(vscsi);
 }
 
-static ssize_t system_id_show(struct device *dev,
-                             struct device_attribute *attr, char *buf)
-{
-       return sysfs_emit(buf, "%s\n", system_id);
-}
-
 static ssize_t partition_number_show(struct device *dev,
                                     struct device_attribute *attr, char *buf)
 {
@@ -3982,8 +3976,7 @@ static const struct target_core_fabric_ops ibmvscsis_ops = {
 
 static void ibmvscsis_dev_release(struct device *dev) {};
 
-static struct device_attribute dev_attr_system_id =
-       __ATTR(system_id, S_IRUGO, system_id_show, NULL);
+static DEVICE_STRING_ATTR_RO(system_id, S_IRUGO, system_id);
 
 static struct device_attribute dev_attr_partition_number =
        __ATTR(partition_number, S_IRUGO, partition_number_show, NULL);
@@ -3992,7 +3985,7 @@ static struct device_attribute dev_attr_unit_address =
        __ATTR(unit_address, S_IRUGO, unit_address_show, NULL);
 
 static struct attribute *ibmvscsis_dev_attrs[] = {
-       &dev_attr_system_id.attr,
+       &dev_attr_system_id.attr.attr,
        &dev_attr_partition_number.attr,
        &dev_attr_unit_address.attr,
 };
index 43ebb331e21673b68acee5b3824c0ae35e0b8500..2a25d574feb9a72dc984cec747a05818774eb8dd 100644 (file)
@@ -691,13 +691,7 @@ static struct pci_driver mvs_pci_driver = {
        .remove         = mvs_pci_remove,
 };
 
-static ssize_t driver_version_show(struct device *cdev,
-                                  struct device_attribute *attr, char *buffer)
-{
-       return sysfs_emit(buffer, "%s\n", DRV_VERSION);
-}
-
-static DEVICE_ATTR_RO(driver_version);
+static DEVICE_STRING_ATTR_RO(driver_version, 0444, DRV_VERSION);
 
 static ssize_t interrupt_coalescing_store(struct device *cdev,
                                          struct device_attribute *attr,
@@ -772,7 +766,7 @@ static void __exit mvs_exit(void)
 }
 
 static struct attribute *mvst_host_attrs[] = {
-       &dev_attr_driver_version.attr,
+       &dev_attr_driver_version.attr.attr,
        &dev_attr_interrupt_coalescing.attr,
        NULL,
 };
index 76eeba435fd0469f4f32cfbbda1720fad2a44255..2810608acd963af7a05b0aafea6a66d6444b009d 100644 (file)
@@ -1067,13 +1067,6 @@ qla2x00_free_sysfs_attr(scsi_qla_host_t *vha, bool stop_beacon)
 
 /* Scsi_Host attributes. */
 
-static ssize_t
-qla2x00_driver_version_show(struct device *dev,
-                         struct device_attribute *attr, char *buf)
-{
-       return scnprintf(buf, PAGE_SIZE, "%s\n", qla2x00_version_str);
-}
-
 static ssize_t
 qla2x00_fw_version_show(struct device *dev,
                        struct device_attribute *attr, char *buf)
@@ -2412,7 +2405,7 @@ qla2x00_dport_diagnostics_show(struct device *dev,
 static DEVICE_ATTR(dport_diagnostics, 0444,
           qla2x00_dport_diagnostics_show, NULL);
 
-static DEVICE_ATTR(driver_version, S_IRUGO, qla2x00_driver_version_show, NULL);
+static DEVICE_STRING_ATTR_RO(driver_version, S_IRUGO, qla2x00_version_str);
 static DEVICE_ATTR(fw_version, S_IRUGO, qla2x00_fw_version_show, NULL);
 static DEVICE_ATTR(serial_num, S_IRUGO, qla2x00_serial_num_show, NULL);
 static DEVICE_ATTR(isp_name, S_IRUGO, qla2x00_isp_name_show, NULL);
@@ -2478,7 +2471,7 @@ static DEVICE_ATTR(port_no, 0444, qla2x00_port_no_show, NULL);
 static DEVICE_ATTR(fw_attr, 0444, qla2x00_fw_attr_show, NULL);
 
 static struct attribute *qla2x00_host_attrs[] = {
-       &dev_attr_driver_version.attr,
+       &dev_attr_driver_version.attr.attr,
        &dev_attr_fw_version.attr,
        &dev_attr_serial_num.attr,
        &dev_attr_isp_name.attr,
index 385180c98be496989dbf469926f52c974609a013..f11cf590b2a9cde5d7f7581fbfb981f4e5a71a13 100644 (file)
@@ -6892,12 +6892,6 @@ static ssize_t pqi_firmware_version_show(struct device *dev,
        return scnprintf(buffer, PAGE_SIZE, "%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);
-}
-
 static ssize_t pqi_serial_number_show(struct device *dev,
        struct device_attribute *attr, char *buffer)
 {
@@ -7066,7 +7060,8 @@ static ssize_t pqi_host_enable_r6_writes_store(struct device *dev,
        return count;
 }
 
-static DEVICE_ATTR(driver_version, 0444, pqi_driver_version_show, NULL);
+static DEVICE_STRING_ATTR_RO(driver_version, 0444,
+       DRIVER_VERSION BUILD_TIMESTAMP);
 static DEVICE_ATTR(firmware_version, 0444, pqi_firmware_version_show, NULL);
 static DEVICE_ATTR(model, 0444, pqi_model_show, NULL);
 static DEVICE_ATTR(serial_number, 0444, pqi_serial_number_show, NULL);
@@ -7083,7 +7078,7 @@ static DEVICE_ATTR(enable_r6_writes, 0644,
        pqi_host_enable_r6_writes_show, pqi_host_enable_r6_writes_store);
 
 static struct attribute *pqi_shost_attrs[] = {
-       &dev_attr_driver_version.attr,
+       &dev_attr_driver_version.attr.attr,
        &dev_attr_firmware_version.attr,
        &dev_attr_model.attr,
        &dev_attr_serial_number.attr,