scsi: message: fusion: Switch to attribute groups
authorBart Van Assche <bvanassche@acm.org>
Tue, 12 Oct 2021 23:35:17 +0000 (16:35 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sun, 17 Oct 2021 01:45:53 +0000 (21:45 -0400)
struct device supports attribute groups directly but does not support
struct device_attribute directly. Hence switch to attribute groups.

Link: https://lore.kernel.org/r/20211012233558.4066756-6-bvanassche@acm.org
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/message/fusion/mptfc.c
drivers/message/fusion/mptsas.c
drivers/message/fusion/mptscsih.c
drivers/message/fusion/mptscsih.h
drivers/message/fusion/mptspi.c

index 7a6278ae71d22d0293eda8dfac62db6760e87e7b..fac7471092095de7edc688737a3a3afc0a8f477a 100644 (file)
@@ -129,7 +129,7 @@ static struct scsi_host_template mptfc_driver_template = {
        .sg_tablesize                   = MPT_SCSI_SG_DEPTH,
        .max_sectors                    = 8192,
        .cmd_per_lun                    = 7,
-       .shost_attrs                    = mptscsih_host_attrs,
+       .shost_groups                   = mptscsih_host_attr_groups,
 };
 
 /****************************************************************************
index 38a7cb0a3ecc0598b02560db3c2e93877f68348c..091b45024d34349537d95685ad8666a74f921bed 100644 (file)
@@ -2020,7 +2020,7 @@ static struct scsi_host_template mptsas_driver_template = {
        .sg_tablesize                   = MPT_SCSI_SG_DEPTH,
        .max_sectors                    = 8192,
        .cmd_per_lun                    = 7,
-       .shost_attrs                    = mptscsih_host_attrs,
+       .shost_groups                   = mptscsih_host_attr_groups,
        .no_write_same                  = 1,
 };
 
index ab9611e775d364beea4817bfe8c7826dd38db3c8..276084ed04a699f81b4b0bcf9b62674ea7b6ff42 100644 (file)
@@ -3218,23 +3218,31 @@ mptscsih_debug_level_store(struct device *dev, struct device_attribute *attr,
 static DEVICE_ATTR(debug_level, S_IRUGO | S_IWUSR,
        mptscsih_debug_level_show, mptscsih_debug_level_store);
 
-struct device_attribute *mptscsih_host_attrs[] = {
-       &dev_attr_version_fw,
-       &dev_attr_version_bios,
-       &dev_attr_version_mpi,
-       &dev_attr_version_product,
-       &dev_attr_version_nvdata_persistent,
-       &dev_attr_version_nvdata_default,
-       &dev_attr_board_name,
-       &dev_attr_board_assembly,
-       &dev_attr_board_tracer,
-       &dev_attr_io_delay,
-       &dev_attr_device_delay,
-       &dev_attr_debug_level,
+static struct attribute *mptscsih_host_attrs[] = {
+       &dev_attr_version_fw.attr,
+       &dev_attr_version_bios.attr,
+       &dev_attr_version_mpi.attr,
+       &dev_attr_version_product.attr,
+       &dev_attr_version_nvdata_persistent.attr,
+       &dev_attr_version_nvdata_default.attr,
+       &dev_attr_board_name.attr,
+       &dev_attr_board_assembly.attr,
+       &dev_attr_board_tracer.attr,
+       &dev_attr_io_delay.attr,
+       &dev_attr_device_delay.attr,
+       &dev_attr_debug_level.attr,
        NULL,
 };
 
-EXPORT_SYMBOL(mptscsih_host_attrs);
+static const struct attribute_group mptscsih_host_attr_group = {
+       .attrs = mptscsih_host_attrs
+};
+
+const struct attribute_group *mptscsih_host_attr_groups[] = {
+       &mptscsih_host_attr_group,
+       NULL
+};
+EXPORT_SYMBOL(mptscsih_host_attr_groups);
 
 EXPORT_SYMBOL(mptscsih_remove);
 EXPORT_SYMBOL(mptscsih_shutdown);
index 2baeefd9be7a20f78c024b4596c37c52d676cead..a22c5eaf703ca178ba758cb91b1827361e49e8f5 100644 (file)
@@ -131,7 +131,7 @@ extern int mptscsih_ioc_reset(MPT_ADAPTER *ioc, int post_reset);
 extern int mptscsih_change_queue_depth(struct scsi_device *sdev, int qdepth);
 extern u8 mptscsih_raid_id_to_num(MPT_ADAPTER *ioc, u8 channel, u8 id);
 extern int mptscsih_is_phys_disk(MPT_ADAPTER *ioc, u8 channel, u8 id);
-extern struct device_attribute *mptscsih_host_attrs[];
+extern const struct attribute_group *mptscsih_host_attr_groups[];
 extern struct scsi_cmnd        *mptscsih_get_scsi_lookup(MPT_ADAPTER *ioc, int i);
 extern void mptscsih_taskmgmt_response_code(MPT_ADAPTER *ioc, u8 response_code);
 extern void mptscsih_flush_running_cmds(MPT_SCSI_HOST *hd);
index 44b7ce124ae1673c8f33146de4d8b83fad752cf3..acd4805dcf8366bd0bc85b6c190bde31583bb6ed 100644 (file)
@@ -843,7 +843,7 @@ static struct scsi_host_template mptspi_driver_template = {
        .sg_tablesize                   = MPT_SCSI_SG_DEPTH,
        .max_sectors                    = 8192,
        .cmd_per_lun                    = 7,
-       .shost_attrs                    = mptscsih_host_attrs,
+       .shost_groups                   = mptscsih_host_attr_groups,
 };
 
 static int mptspi_write_spi_device_pg1(struct scsi_target *starget,