mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 15:31:14 +07:00
hpsa: add sas_address to sysfs device attibute
There have been companies requesting a sysfs entry to obtain the sas address of device. Reviewed-by: Scott Teel <scott.teel@microsemi.com> Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com> Signed-off-by: Don Brace <don.brace@microsemi.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
cf47723763
commit
ded1be4ae6
@ -728,6 +728,29 @@ static ssize_t unique_id_show(struct device *dev,
|
||||
sn[12], sn[13], sn[14], sn[15]);
|
||||
}
|
||||
|
||||
static ssize_t sas_address_show(struct device *dev,
|
||||
struct device_attribute *attr, char *buf)
|
||||
{
|
||||
struct ctlr_info *h;
|
||||
struct scsi_device *sdev;
|
||||
struct hpsa_scsi_dev_t *hdev;
|
||||
unsigned long flags;
|
||||
u64 sas_address;
|
||||
|
||||
sdev = to_scsi_device(dev);
|
||||
h = sdev_to_hba(sdev);
|
||||
spin_lock_irqsave(&h->lock, flags);
|
||||
hdev = sdev->hostdata;
|
||||
if (!hdev || is_logical_device(hdev) || !hdev->expose_device) {
|
||||
spin_unlock_irqrestore(&h->lock, flags);
|
||||
return -ENODEV;
|
||||
}
|
||||
sas_address = hdev->sas_address;
|
||||
spin_unlock_irqrestore(&h->lock, flags);
|
||||
|
||||
return snprintf(buf, PAGE_SIZE, "0x%016llx\n", sas_address);
|
||||
}
|
||||
|
||||
static ssize_t host_show_hp_ssd_smart_path_enabled(struct device *dev,
|
||||
struct device_attribute *attr, char *buf)
|
||||
{
|
||||
@ -840,6 +863,7 @@ static DEVICE_ATTR(raid_level, S_IRUGO, raid_level_show, NULL);
|
||||
static DEVICE_ATTR(lunid, S_IRUGO, lunid_show, NULL);
|
||||
static DEVICE_ATTR(unique_id, S_IRUGO, unique_id_show, NULL);
|
||||
static DEVICE_ATTR(rescan, S_IWUSR, NULL, host_store_rescan);
|
||||
static DEVICE_ATTR(sas_address, S_IRUGO, sas_address_show, NULL);
|
||||
static DEVICE_ATTR(hp_ssd_smart_path_enabled, S_IRUGO,
|
||||
host_show_hp_ssd_smart_path_enabled, NULL);
|
||||
static DEVICE_ATTR(path_info, S_IRUGO, path_info_show, NULL);
|
||||
@ -865,6 +889,7 @@ static struct device_attribute *hpsa_sdev_attrs[] = {
|
||||
&dev_attr_unique_id,
|
||||
&dev_attr_hp_ssd_smart_path_enabled,
|
||||
&dev_attr_path_info,
|
||||
&dev_attr_sas_address,
|
||||
NULL,
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user