scsi_transport_sas: add function to get SAS endpoint address
For a device known to be SAS connected, this will return the endpoint address. This is useful for getting the SAS address of SATA devices. Reviewed-by: Hannes Reinecke <hare@suse.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
parent
3b91d09c1c
commit
bcf508c133
2 changed files with 15 additions and 0 deletions
|
@ -382,6 +382,20 @@ void sas_remove_host(struct Scsi_Host *shost)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(sas_remove_host);
|
EXPORT_SYMBOL(sas_remove_host);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sas_get_address - return the SAS address of the device
|
||||||
|
* @sdev: scsi device
|
||||||
|
*
|
||||||
|
* Returns the SAS address of the scsi device
|
||||||
|
*/
|
||||||
|
u64 sas_get_address(struct scsi_device *sdev)
|
||||||
|
{
|
||||||
|
struct sas_end_device *rdev = sas_sdev_to_rdev(sdev);
|
||||||
|
|
||||||
|
return rdev->rphy.identify.sas_address;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(sas_get_address);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* sas_tlr_supported - checking TLR bit in vpd 0x90
|
* sas_tlr_supported - checking TLR bit in vpd 0x90
|
||||||
* @sdev: scsi device struct
|
* @sdev: scsi device struct
|
||||||
|
|
|
@ -189,6 +189,7 @@ extern int sas_phy_add(struct sas_phy *);
|
||||||
extern void sas_phy_delete(struct sas_phy *);
|
extern void sas_phy_delete(struct sas_phy *);
|
||||||
extern int scsi_is_sas_phy(const struct device *);
|
extern int scsi_is_sas_phy(const struct device *);
|
||||||
|
|
||||||
|
u64 sas_get_address(struct scsi_device *);
|
||||||
unsigned int sas_tlr_supported(struct scsi_device *);
|
unsigned int sas_tlr_supported(struct scsi_device *);
|
||||||
unsigned int sas_is_tlr_enabled(struct scsi_device *);
|
unsigned int sas_is_tlr_enabled(struct scsi_device *);
|
||||||
void sas_disable_tlr(struct scsi_device *);
|
void sas_disable_tlr(struct scsi_device *);
|
||||||
|
|
Loading…
Reference in a new issue