scsi: smartpqi: Switch to attribute groups
authorBart Van Assche <bvanassche@acm.org>
Tue, 12 Oct 2021 23:35:54 +0000 (16:35 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sun, 17 Oct 2021 01:45:59 +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-43-bvanassche@acm.org
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/smartpqi/smartpqi_init.c

index 54c12b149fdab5a1dc8000000e9daaa24c254e66..f0897d587454abf78ad5e203b711539a3a6dbfe3 100644 (file)
@@ -6847,20 +6847,22 @@ static DEVICE_ATTR(enable_r5_writes, 0644,
 static DEVICE_ATTR(enable_r6_writes, 0644,
        pqi_host_enable_r6_writes_show, pqi_host_enable_r6_writes_store);
 
-static struct device_attribute *pqi_shost_attrs[] = {
-       &dev_attr_driver_version,
-       &dev_attr_firmware_version,
-       &dev_attr_model,
-       &dev_attr_serial_number,
-       &dev_attr_vendor,
-       &dev_attr_rescan,
-       &dev_attr_lockup_action,
-       &dev_attr_enable_stream_detection,
-       &dev_attr_enable_r5_writes,
-       &dev_attr_enable_r6_writes,
+static struct attribute *pqi_shost_attrs[] = {
+       &dev_attr_driver_version.attr,
+       &dev_attr_firmware_version.attr,
+       &dev_attr_model.attr,
+       &dev_attr_serial_number.attr,
+       &dev_attr_vendor.attr,
+       &dev_attr_rescan.attr,
+       &dev_attr_lockup_action.attr,
+       &dev_attr_enable_stream_detection.attr,
+       &dev_attr_enable_r5_writes.attr,
+       &dev_attr_enable_r6_writes.attr,
        NULL
 };
 
+ATTRIBUTE_GROUPS(pqi_shost);
+
 static ssize_t pqi_unique_id_show(struct device *dev,
        struct device_attribute *attr, char *buffer)
 {
@@ -7129,17 +7131,19 @@ static DEVICE_ATTR(ssd_smart_path_enabled, 0444, pqi_ssd_smart_path_enabled_show
 static DEVICE_ATTR(raid_level, 0444, pqi_raid_level_show, NULL);
 static DEVICE_ATTR(raid_bypass_cnt, 0444, pqi_raid_bypass_cnt_show, NULL);
 
-static struct device_attribute *pqi_sdev_attrs[] = {
-       &dev_attr_lunid,
-       &dev_attr_unique_id,
-       &dev_attr_path_info,
-       &dev_attr_sas_address,
-       &dev_attr_ssd_smart_path_enabled,
-       &dev_attr_raid_level,
-       &dev_attr_raid_bypass_cnt,
+static struct attribute *pqi_sdev_attrs[] = {
+       &dev_attr_lunid.attr,
+       &dev_attr_unique_id.attr,
+       &dev_attr_path_info.attr,
+       &dev_attr_sas_address.attr,
+       &dev_attr_ssd_smart_path_enabled.attr,
+       &dev_attr_raid_level.attr,
+       &dev_attr_raid_bypass_cnt.attr,
        NULL
 };
 
+ATTRIBUTE_GROUPS(pqi_sdev);
+
 static struct scsi_host_template pqi_driver_template = {
        .module = THIS_MODULE,
        .name = DRIVER_NAME_SHORT,
@@ -7153,8 +7157,8 @@ static struct scsi_host_template pqi_driver_template = {
        .slave_alloc = pqi_slave_alloc,
        .slave_configure = pqi_slave_configure,
        .map_queues = pqi_map_queues,
-       .sdev_attrs = pqi_sdev_attrs,
-       .shost_attrs = pqi_shost_attrs,
+       .sdev_groups = pqi_sdev_groups,
+       .shost_groups = pqi_shost_groups,
 };
 
 static int pqi_register_scsi(struct pqi_ctrl_info *ctrl_info)