bnxt_en: refactor printing of device info
authorEdwin Peer <edwin.peer@broadcom.com>
Fri, 29 Oct 2021 07:47:38 +0000 (03:47 -0400)
committerDavid S. Miller <davem@davemloft.net>
Fri, 29 Oct 2021 11:13:04 +0000 (12:13 +0100)
The device info logged during probe will be reused by the devlink
driver_reinit code in a following patch. Extract this logic into
the new bnxt_print_device_info() function. The board index needs
to be saved in the driver context so that the board information
can be retrieved at a later time, outside of the probe function.

Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Signed-off-by: Edwin Peer <edwin.peer@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt.h

index 66263aa..8ff3985 100644 (file)
@@ -85,55 +85,7 @@ MODULE_DESCRIPTION("Broadcom BCM573xx network driver");
 
 #define BNXT_TX_PUSH_THRESH 164
 
-enum board_idx {
-       BCM57301,
-       BCM57302,
-       BCM57304,
-       BCM57417_NPAR,
-       BCM58700,
-       BCM57311,
-       BCM57312,
-       BCM57402,
-       BCM57404,
-       BCM57406,
-       BCM57402_NPAR,
-       BCM57407,
-       BCM57412,
-       BCM57414,
-       BCM57416,
-       BCM57417,
-       BCM57412_NPAR,
-       BCM57314,
-       BCM57417_SFP,
-       BCM57416_SFP,
-       BCM57404_NPAR,
-       BCM57406_NPAR,
-       BCM57407_SFP,
-       BCM57407_NPAR,
-       BCM57414_NPAR,
-       BCM57416_NPAR,
-       BCM57452,
-       BCM57454,
-       BCM5745x_NPAR,
-       BCM57508,
-       BCM57504,
-       BCM57502,
-       BCM57508_NPAR,
-       BCM57504_NPAR,
-       BCM57502_NPAR,
-       BCM58802,
-       BCM58804,
-       BCM58808,
-       NETXTREME_E_VF,
-       NETXTREME_C_VF,
-       NETXTREME_S_VF,
-       NETXTREME_C_VF_HV,
-       NETXTREME_E_VF_HV,
-       NETXTREME_E_P5_VF,
-       NETXTREME_E_P5_VF_HV,
-};
-
-/* indexed by enum above */
+/* indexed by enum board_idx */
 static const struct {
        char *name;
 } board_info[] = {
@@ -13186,6 +13138,15 @@ static int bnxt_map_db_bar(struct bnxt *bp)
        return 0;
 }
 
+void bnxt_print_device_info(struct bnxt *bp)
+{
+       netdev_info(bp->dev, "%s found at mem %lx, node addr %pM\n",
+                   board_info[bp->board_idx].name,
+                   (long)pci_resource_start(bp->pdev, 0), bp->dev->dev_addr);
+
+       pcie_print_link_status(bp->pdev);
+}
+
 static int bnxt_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 {
        struct net_device *dev;
@@ -13209,10 +13170,11 @@ static int bnxt_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
                return -ENOMEM;
 
        bp = netdev_priv(dev);
+       bp->board_idx = ent->driver_data;
        bp->msg_enable = BNXT_DEF_MSG_ENABLE;
        bnxt_set_max_func_irqs(bp, max_irqs);
 
-       if (bnxt_vf_pciid(ent->driver_data))
+       if (bnxt_vf_pciid(bp->board_idx))
                bp->flags |= BNXT_FLAG_VF;
 
        if (pdev->msix_cap)
@@ -13382,10 +13344,7 @@ static int bnxt_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
                devlink_port_type_eth_set(&bp->dl_port, bp->dev);
        bnxt_dl_fw_reporters_create(bp);
 
-       netdev_info(dev, "%s found at mem %lx, node addr %pM\n",
-                   board_info[ent->driver_data].name,
-                   (long)pci_resource_start(pdev, 0), dev->dev_addr);
-       pcie_print_link_status(pdev);
+       bnxt_print_device_info(bp);
 
        pci_save_state(pdev);
        return 0;
index 19fe647..55da89c 100644 (file)
@@ -1586,6 +1586,54 @@ struct bnxt_fw_reporter_ctx {
 #define BNXT_FW_RETRY                  5
 #define BNXT_FW_IF_RETRY               10
 
+enum board_idx {
+       BCM57301,
+       BCM57302,
+       BCM57304,
+       BCM57417_NPAR,
+       BCM58700,
+       BCM57311,
+       BCM57312,
+       BCM57402,
+       BCM57404,
+       BCM57406,
+       BCM57402_NPAR,
+       BCM57407,
+       BCM57412,
+       BCM57414,
+       BCM57416,
+       BCM57417,
+       BCM57412_NPAR,
+       BCM57314,
+       BCM57417_SFP,
+       BCM57416_SFP,
+       BCM57404_NPAR,
+       BCM57406_NPAR,
+       BCM57407_SFP,
+       BCM57407_NPAR,
+       BCM57414_NPAR,
+       BCM57416_NPAR,
+       BCM57452,
+       BCM57454,
+       BCM5745x_NPAR,
+       BCM57508,
+       BCM57504,
+       BCM57502,
+       BCM57508_NPAR,
+       BCM57504_NPAR,
+       BCM57502_NPAR,
+       BCM58802,
+       BCM58804,
+       BCM58808,
+       NETXTREME_E_VF,
+       NETXTREME_C_VF,
+       NETXTREME_S_VF,
+       NETXTREME_C_VF_HV,
+       NETXTREME_E_VF_HV,
+       NETXTREME_E_P5_VF,
+       NETXTREME_E_P5_VF_HV,
+};
+
 struct bnxt {
        void __iomem            *bar0;
        void __iomem            *bar1;
@@ -2049,6 +2097,7 @@ struct bnxt {
        struct list_head        tc_indr_block_list;
        struct dentry           *debugfs_pdev;
        struct device           *hwmon_dev;
+       enum board_idx          board_idx;
 };
 
 #define BNXT_NUM_RX_RING_STATS                 8
@@ -2219,5 +2268,5 @@ int bnxt_get_port_parent_id(struct net_device *dev,
                            struct netdev_phys_item_id *ppid);
 void bnxt_dim_work(struct work_struct *work);
 int bnxt_hwrm_set_ring_coal(struct bnxt *bp, struct bnxt_napi *bnapi);
-
+void bnxt_print_device_info(struct bnxt *bp);
 #endif