Sas address conversion and comparison is widely used in libsas and drivers. However they are all opencoded and to avoid the line spill over 80 columns, are mostly split into multi-lines. To make the code easier to read, introduce some helpers with clearer semantics and replace the opencoded segments with them. v3->v4: Fix comparison typo. Fix test condition error in sas_check_parent_topology() of patch #6. v2->v3: Rename sas_phy_addr_same() to sas_phy_addr_match(). Rearrange patches, move patch #6 to #1 and directly use the helper sas_phy_match_dev_addr() in sas_find_attached_phy(). Add some review tags from Jack Wang. v1->v2: First factor out sas_find_attached_phy() and replace LLDDs's code with it. Remove three too simple helpers. Rename the helpers with 'sas_' prefix. Jason Yan (8): scsi: libsas: introduce sas address comparison helpers scsi: libsas: introduce sas_find_attached_phy() helper scsi: pm8001: use sas_find_attached_phy() instead of open coded scsi: mvsas: use sas_find_attached_phy() instead of open coded scsi: hisi_sas: use sas_find_attathed_phy() instead of open coded scsi: libsas: use sas_phy_match_dev_addr() instead of open coded scsi: libsas: use sas_phy_addr_match() instead of open coded scsi: libsas: use sas_phy_match_port_addr() instead of open coded drivers/scsi/hisi_sas/hisi_sas_main.c | 12 ++------ drivers/scsi/libsas/sas_expander.c | 40 ++++++++++++++++----------- drivers/scsi/libsas/sas_internal.h | 17 ++++++++++++ drivers/scsi/mvsas/mv_sas.c | 15 +++------- drivers/scsi/pm8001/pm8001_sas.c | 16 ++++------- include/scsi/libsas.h | 2 ++ 6 files changed, 54 insertions(+), 48 deletions(-) -- 2.31.1