All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Yan <yanaijie@huawei.com>
To: <martin.petersen@oracle.com>, <jejb@linux.ibm.com>
Cc: <linux-scsi@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<hare@suse.com>, <hch@lst.de>, <bvanassche@acm.org>,
	<john.garry@huawei.com>, <jinpu.wang@cloud.ionos.com>,
	<damien.lemoal@opensource.wdc.com>,
	Jason Yan <yanaijie@huawei.com>, Jack Wang <jinpu.wang@ionos.com>
Subject: [PATCH v6 3/8] scsi: pm8001: use sas_find_attached_phy_id() instead of open coded
Date: Wed, 28 Sep 2022 15:01:25 +0800	[thread overview]
Message-ID: <20220928070130.3657183-4-yanaijie@huawei.com> (raw)
In-Reply-To: <20220928070130.3657183-1-yanaijie@huawei.com>

The attached phy id finding is open coded. Now we can replace it with
sas_find_attached_phy_id(). To keep consistent, the return value of
pm8001_dev_found_notify() is also changed to -ENODEV after calling
sas_find_attathed_phy_id() failed.

Signed-off-by: Jason Yan <yanaijie@huawei.com>
Reviewed-by: Jack Wang <jinpu.wang@ionos.com>
Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
---
 drivers/scsi/pm8001/pm8001_sas.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/drivers/scsi/pm8001/pm8001_sas.c b/drivers/scsi/pm8001/pm8001_sas.c
index 8e3f2f9ddaac..b4007c4f157d 100644
--- a/drivers/scsi/pm8001/pm8001_sas.c
+++ b/drivers/scsi/pm8001/pm8001_sas.c
@@ -645,22 +645,16 @@ static int pm8001_dev_found_notify(struct domain_device *dev)
 	pm8001_device->dcompletion = &completion;
 	if (parent_dev && dev_is_expander(parent_dev->dev_type)) {
 		int phy_id;
-		struct ex_phy *phy;
-		for (phy_id = 0; phy_id < parent_dev->ex_dev.num_phys;
-		phy_id++) {
-			phy = &parent_dev->ex_dev.ex_phy[phy_id];
-			if (SAS_ADDR(phy->attached_sas_addr)
-				== SAS_ADDR(dev->sas_addr)) {
-				pm8001_device->attached_phy = phy_id;
-				break;
-			}
-		}
-		if (phy_id == parent_dev->ex_dev.num_phys) {
+
+		phy_id = sas_find_attached_phy_id(&parent_dev->ex_dev, dev);
+		if (phy_id < 0) {
 			pm8001_dbg(pm8001_ha, FAIL,
 				   "Error: no attached dev:%016llx at ex:%016llx.\n",
 				   SAS_ADDR(dev->sas_addr),
 				   SAS_ADDR(parent_dev->sas_addr));
-			res = -1;
+			res = phy_id;
+		} else {
+			pm8001_device->attached_phy = phy_id;
 		}
 	} else {
 		if (dev->dev_type == SAS_SATA_DEV) {
-- 
2.31.1


  parent reply	other threads:[~2022-09-28  6:39 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-28  7:01 [PATCH v6 0/8] scsi: libsas: sas address comparison refactor Jason Yan
2022-09-28  7:01 ` [PATCH v6 1/8] scsi: libsas: introduce sas address comparison helpers Jason Yan
2022-09-28  7:25   ` Johannes Thumshirn
2022-09-28  7:01 ` [PATCH v6 2/8] scsi: libsas: introduce sas_find_attached_phy_id() helper Jason Yan
2022-09-28  7:26   ` Johannes Thumshirn
2022-09-28  7:01 ` Jason Yan [this message]
2022-09-28  7:02   ` [PATCH v6 3/8] scsi: pm8001: use sas_find_attached_phy_id() instead of open coded Damien Le Moal
2022-09-28  7:29     ` Jason Yan
2022-09-28  7:27   ` Johannes Thumshirn
2022-09-28  7:01 ` [PATCH v6 4/8] scsi: mvsas: " Jason Yan
2022-09-28  7:27   ` Johannes Thumshirn
2022-09-28  7:01 ` [PATCH v6 5/8] scsi: hisi_sas: use sas_find_attathed_phy_id() " Jason Yan
2022-09-28  7:27   ` Johannes Thumshirn
2022-09-28  7:58   ` John Garry
2022-09-28  7:01 ` [PATCH v6 6/8] scsi: libsas: use sas_phy_match_dev_addr() " Jason Yan
2022-09-28  7:37   ` Johannes Thumshirn
2022-09-28  7:01 ` [PATCH v6 7/8] scsi: libsas: use sas_phy_addr_match() " Jason Yan
2022-09-28  7:38   ` Johannes Thumshirn
2022-09-28  7:01 ` [PATCH v6 8/8] scsi: libsas: use sas_phy_match_port_addr() " Jason Yan
2022-09-28  7:38   ` Johannes Thumshirn
2022-10-18  3:28 ` [PATCH v6 0/8] scsi: libsas: sas address comparison refactor Martin K. Petersen
2022-10-22  3:52 ` Martin K. Petersen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220928070130.3657183-4-yanaijie@huawei.com \
    --to=yanaijie@huawei.com \
    --cc=bvanassche@acm.org \
    --cc=damien.lemoal@opensource.wdc.com \
    --cc=hare@suse.com \
    --cc=hch@lst.de \
    --cc=jejb@linux.ibm.com \
    --cc=jinpu.wang@cloud.ionos.com \
    --cc=jinpu.wang@ionos.com \
    --cc=john.garry@huawei.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.