return 0;
 }
 
-static struct device_attribute *host_attrs_v1_hw[] = {
-       &dev_attr_phy_event_threshold,
+static struct attribute *host_v1_hw_attrs[] = {
+       &dev_attr_phy_event_threshold.attr,
        NULL
 };
 
+ATTRIBUTE_GROUPS(host_v1_hw);
+
 static struct scsi_host_template sht_v1_hw = {
        .name                   = DRV_NAME,
        .proc_name              = DRV_NAME,
 #ifdef CONFIG_COMPAT
        .compat_ioctl           = sas_ioctl,
 #endif
-       .shost_attrs            = host_attrs_v1_hw,
+       .shost_groups           = host_v1_hw_groups,
        .host_reset             = hisi_sas_host_reset,
 };
 
 
 
 }
 
-static struct device_attribute *host_attrs_v2_hw[] = {
-       &dev_attr_phy_event_threshold,
+static struct attribute *host_v2_hw_attrs[] = {
+       &dev_attr_phy_event_threshold.attr,
        NULL
 };
 
+ATTRIBUTE_GROUPS(host_v2_hw);
+
 static int map_queues_v2_hw(struct Scsi_Host *shost)
 {
        struct hisi_hba *hisi_hba = shost_priv(shost);
 #ifdef CONFIG_COMPAT
        .compat_ioctl           = sas_ioctl,
 #endif
-       .shost_attrs            = host_attrs_v2_hw,
+       .shost_groups           = host_v2_hw_groups,
        .host_reset             = hisi_sas_host_reset,
        .map_queues             = map_queues_v2_hw,
        .host_tagset            = 1,
 
        return 0;
 }
 
-static struct device_attribute *host_attrs_v3_hw[] = {
-       &dev_attr_phy_event_threshold,
-       &dev_attr_intr_conv_v3_hw,
-       &dev_attr_intr_coal_ticks_v3_hw,
-       &dev_attr_intr_coal_count_v3_hw,
+static struct attribute *host_v3_hw_attrs[] = {
+       &dev_attr_phy_event_threshold.attr,
+       &dev_attr_intr_conv_v3_hw.attr,
+       &dev_attr_intr_coal_ticks_v3_hw.attr,
+       &dev_attr_intr_coal_count_v3_hw.attr,
        NULL
 };
 
+ATTRIBUTE_GROUPS(host_v3_hw);
+
 #define HISI_SAS_DEBUGFS_REG(x) {#x, x}
 
 struct hisi_sas_debugfs_reg_lu {
 #ifdef CONFIG_COMPAT
        .compat_ioctl           = sas_ioctl,
 #endif
-       .shost_attrs            = host_attrs_v3_hw,
+       .shost_groups           = host_v3_hw_groups,
        .tag_alloc_policy       = BLK_TAG_ALLOC_RR,
        .host_reset             = hisi_sas_host_reset,
        .host_tagset            = 1,