From patchwork Tue Sep 27 12:39:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jason Yan X-Patchwork-Id: 12990518 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D9462C07E9D for ; Tue, 27 Sep 2022 12:17:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232087AbiI0MRi (ORCPT ); Tue, 27 Sep 2022 08:17:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36684 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232271AbiI0MR2 (ORCPT ); Tue, 27 Sep 2022 08:17:28 -0400 Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DB13721E38; Tue, 27 Sep 2022 05:17:26 -0700 (PDT) Received: from canpemm500004.china.huawei.com (unknown [172.30.72.54]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4McJRB1GsMzHtg1; Tue, 27 Sep 2022 20:12:38 +0800 (CST) Received: from huawei.com (10.175.127.227) by canpemm500004.china.huawei.com (7.192.104.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 27 Sep 2022 20:17:24 +0800 From: Jason Yan To: , CC: , , , , , , , , Jason Yan Subject: [PATCH v5 0/8] scsi: libsas: sas address comparison refactor Date: Tue, 27 Sep 2022 20:39:18 +0800 Message-ID: <20220927123926.953297-1-yanaijie@huawei.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 X-Originating-IP: [10.175.127.227] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To canpemm500004.china.huawei.com (7.192.104.92) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org 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. v4->v5: Rename sas_find_attached_phy() to sas_find_attached_phy_id(). Return error code from sas_find_attached_phy_id() directly. Add review tags from John and Damien. 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_id() helper scsi: pm8001: use sas_find_attached_phy_id() instead of open coded scsi: mvsas: use sas_find_attached_phy_id() instead of open coded scsi: hisi_sas: use sas_find_attathed_phy_id() 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 | 14 ++-------- drivers/scsi/libsas/sas_expander.c | 40 ++++++++++++++++----------- drivers/scsi/libsas/sas_internal.h | 17 ++++++++++++ drivers/scsi/mvsas/mv_sas.c | 17 ++++-------- drivers/scsi/pm8001/pm8001_sas.c | 18 ++++-------- include/scsi/libsas.h | 2 ++ 6 files changed, 57 insertions(+), 51 deletions(-)