[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200227223635.1021197-4-jacob.e.keller@intel.com>
Date: Thu, 27 Feb 2020 14:36:32 -0800
From: Jacob Keller <jacob.e.keller@...el.com>
To: linux-pci@...r.kernel.org, netdev@...r.kernel.org
Cc: Jacob Keller <jacob.e.keller@...el.com>,
Michael Chan <michael.chan@...adcom.com>
Subject: [PATCH 2/5] bnxt_en: use pci_get_dsn
Replace the open-coded implementation for reading the PCIe DSN with
pci_get_dsn.
Signed-off-by: Jacob Keller <jacob.e.keller@...el.com>
Cc: Michael Chan <michael.chan@...adcom.com>
---
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 14 ++++----------
1 file changed, 4 insertions(+), 10 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index 597e6fd5bfea..55f078fc067e 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -11755,20 +11755,14 @@ static int bnxt_init_mac_addr(struct bnxt *bp)
static int bnxt_pcie_dsn_get(struct bnxt *bp, u8 dsn[])
{
struct pci_dev *pdev = bp->pdev;
- int pos = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_DSN);
- u32 dw;
+ int err;
- if (!pos) {
+ err = pci_get_dsn(pdev, dsn);
+ if (err) {
netdev_info(bp->dev, "Unable do read adapter's DSN");
- return -EOPNOTSUPP;
+ return err;
}
- /* DSN (two dw) is at an offset of 4 from the cap pos */
- pos += 4;
- pci_read_config_dword(pdev, pos, &dw);
- put_unaligned_le32(dw, &dsn[0]);
- pci_read_config_dword(pdev, pos + 4, &dw);
- put_unaligned_le32(dw, &dsn[4]);
bp->flags |= BNXT_FLAG_DSN_VALID;
return 0;
}
--
2.25.0.368.g28a2d05eebfb
Powered by blists - more mailing lists