Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

scsi: smartpqi: Switch to attribute groups

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>

authored by

Bart Van Assche and committed by
Martin K. Petersen
64fc9015 a8b476fc

+25 -21
+25 -21
drivers/scsi/smartpqi/smartpqi_init.c
··· 6847 6847 static DEVICE_ATTR(enable_r6_writes, 0644, 6848 6848 pqi_host_enable_r6_writes_show, pqi_host_enable_r6_writes_store); 6849 6849 6850 - static struct device_attribute *pqi_shost_attrs[] = { 6851 - &dev_attr_driver_version, 6852 - &dev_attr_firmware_version, 6853 - &dev_attr_model, 6854 - &dev_attr_serial_number, 6855 - &dev_attr_vendor, 6856 - &dev_attr_rescan, 6857 - &dev_attr_lockup_action, 6858 - &dev_attr_enable_stream_detection, 6859 - &dev_attr_enable_r5_writes, 6860 - &dev_attr_enable_r6_writes, 6850 + static struct attribute *pqi_shost_attrs[] = { 6851 + &dev_attr_driver_version.attr, 6852 + &dev_attr_firmware_version.attr, 6853 + &dev_attr_model.attr, 6854 + &dev_attr_serial_number.attr, 6855 + &dev_attr_vendor.attr, 6856 + &dev_attr_rescan.attr, 6857 + &dev_attr_lockup_action.attr, 6858 + &dev_attr_enable_stream_detection.attr, 6859 + &dev_attr_enable_r5_writes.attr, 6860 + &dev_attr_enable_r6_writes.attr, 6861 6861 NULL 6862 6862 }; 6863 + 6864 + ATTRIBUTE_GROUPS(pqi_shost); 6863 6865 6864 6866 static ssize_t pqi_unique_id_show(struct device *dev, 6865 6867 struct device_attribute *attr, char *buffer) ··· 7131 7129 static DEVICE_ATTR(raid_level, 0444, pqi_raid_level_show, NULL); 7132 7130 static DEVICE_ATTR(raid_bypass_cnt, 0444, pqi_raid_bypass_cnt_show, NULL); 7133 7131 7134 - static struct device_attribute *pqi_sdev_attrs[] = { 7135 - &dev_attr_lunid, 7136 - &dev_attr_unique_id, 7137 - &dev_attr_path_info, 7138 - &dev_attr_sas_address, 7139 - &dev_attr_ssd_smart_path_enabled, 7140 - &dev_attr_raid_level, 7141 - &dev_attr_raid_bypass_cnt, 7132 + static struct attribute *pqi_sdev_attrs[] = { 7133 + &dev_attr_lunid.attr, 7134 + &dev_attr_unique_id.attr, 7135 + &dev_attr_path_info.attr, 7136 + &dev_attr_sas_address.attr, 7137 + &dev_attr_ssd_smart_path_enabled.attr, 7138 + &dev_attr_raid_level.attr, 7139 + &dev_attr_raid_bypass_cnt.attr, 7142 7140 NULL 7143 7141 }; 7142 + 7143 + ATTRIBUTE_GROUPS(pqi_sdev); 7144 7144 7145 7145 static struct scsi_host_template pqi_driver_template = { 7146 7146 .module = THIS_MODULE, ··· 7157 7153 .slave_alloc = pqi_slave_alloc, 7158 7154 .slave_configure = pqi_slave_configure, 7159 7155 .map_queues = pqi_map_queues, 7160 - .sdev_attrs = pqi_sdev_attrs, 7161 - .shost_attrs = pqi_shost_attrs, 7156 + .sdev_groups = pqi_sdev_groups, 7157 + .shost_groups = pqi_shost_groups, 7162 7158 }; 7163 7159 7164 7160 static int pqi_register_scsi(struct pqi_ctrl_info *ctrl_info)