Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[SCSI] bnx2fc: Include chip number in the symbolic name

[jejb: move PCI_DEVICE_ID definitions to include/pci_ids.h]
Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>

authored by

Bhanu Prakash Gollapudi and committed by
James Bottomley
c13d2b6d 353c2ade

+54 -7
+4
drivers/scsi/bnx2fc/bnx2fc.h
··· 68 68 69 69 #define PFX "bnx2fc: " 70 70 71 + #define BCM_CHIP_LEN 16 72 + 71 73 #define BNX2X_DOORBELL_PCI_BAR 2 72 74 73 75 #define BNX2FC_MAX_BD_LEN 0xffff ··· 243 241 int wait_for_link_down; 244 242 int num_ofld_sess; 245 243 struct list_head vports; 244 + 245 + char chip_num[BCM_CHIP_LEN]; 246 246 }; 247 247 248 248 struct bnx2fc_interface {
+45 -6
drivers/scsi/bnx2fc/bnx2fc_fcoe.c
··· 679 679 { 680 680 struct fcoe_port *port = lport_priv(lport); 681 681 struct bnx2fc_interface *interface = port->priv; 682 + struct bnx2fc_hba *hba = interface->hba; 682 683 struct Scsi_Host *shost = lport->host; 683 684 int rc = 0; 684 685 ··· 700 699 } 701 700 if (!lport->vport) 702 701 fc_host_max_npiv_vports(lport->host) = USHRT_MAX; 703 - sprintf(fc_host_symbolic_name(lport->host), "%s v%s over %s", 704 - BNX2FC_NAME, BNX2FC_VERSION, 702 + snprintf(fc_host_symbolic_name(lport->host), 256, 703 + "%s (Broadcom %s) v%s over %s", 704 + BNX2FC_NAME, hba->chip_num, BNX2FC_VERSION, 705 705 interface->netdev->name); 706 706 707 707 return 0; ··· 1658 1656 static int bnx2fc_bind_pcidev(struct bnx2fc_hba *hba) 1659 1657 { 1660 1658 struct cnic_dev *cnic; 1659 + struct pci_dev *pdev; 1661 1660 1662 1661 if (!hba->cnic) { 1663 1662 printk(KERN_ERR PFX "cnic is NULL\n"); 1664 1663 return -ENODEV; 1665 1664 } 1666 1665 cnic = hba->cnic; 1667 - hba->pcidev = cnic->pcidev; 1668 - if (hba->pcidev) 1669 - pci_dev_get(hba->pcidev); 1666 + pdev = hba->pcidev = cnic->pcidev; 1667 + if (!hba->pcidev) 1668 + return -ENODEV; 1670 1669 1670 + switch (pdev->device) { 1671 + case PCI_DEVICE_ID_NX2_57710: 1672 + strncpy(hba->chip_num, "BCM57710", BCM_CHIP_LEN); 1673 + break; 1674 + case PCI_DEVICE_ID_NX2_57711: 1675 + strncpy(hba->chip_num, "BCM57711", BCM_CHIP_LEN); 1676 + break; 1677 + case PCI_DEVICE_ID_NX2_57712: 1678 + case PCI_DEVICE_ID_NX2_57712_MF: 1679 + case PCI_DEVICE_ID_NX2_57712_VF: 1680 + strncpy(hba->chip_num, "BCM57712", BCM_CHIP_LEN); 1681 + break; 1682 + case PCI_DEVICE_ID_NX2_57800: 1683 + case PCI_DEVICE_ID_NX2_57800_MF: 1684 + case PCI_DEVICE_ID_NX2_57800_VF: 1685 + strncpy(hba->chip_num, "BCM57800", BCM_CHIP_LEN); 1686 + break; 1687 + case PCI_DEVICE_ID_NX2_57810: 1688 + case PCI_DEVICE_ID_NX2_57810_MF: 1689 + case PCI_DEVICE_ID_NX2_57810_VF: 1690 + strncpy(hba->chip_num, "BCM57810", BCM_CHIP_LEN); 1691 + break; 1692 + case PCI_DEVICE_ID_NX2_57840: 1693 + case PCI_DEVICE_ID_NX2_57840_MF: 1694 + case PCI_DEVICE_ID_NX2_57840_VF: 1695 + case PCI_DEVICE_ID_NX2_57840_2_20: 1696 + case PCI_DEVICE_ID_NX2_57840_4_10: 1697 + strncpy(hba->chip_num, "BCM57840", BCM_CHIP_LEN); 1698 + break; 1699 + default: 1700 + pr_err(PFX "Unknown device id 0x%x\n", pdev->device); 1701 + break; 1702 + } 1703 + pci_dev_get(hba->pcidev); 1671 1704 return 0; 1672 1705 } 1673 1706 1674 1707 static void bnx2fc_unbind_pcidev(struct bnx2fc_hba *hba) 1675 1708 { 1676 - if (hba->pcidev) 1709 + if (hba->pcidev) { 1710 + hba->chip_num[0] = '\0'; 1677 1711 pci_dev_put(hba->pcidev); 1712 + } 1678 1713 hba->pcidev = NULL; 1679 1714 } 1680 1715
+5 -1
include/linux/pci_ids.h
··· 2147 2147 #define PCI_DEVICE_ID_TIGON3_5705M_2 0x165e 2148 2148 #define PCI_DEVICE_ID_NX2_57712 0x1662 2149 2149 #define PCI_DEVICE_ID_NX2_57712E 0x1663 2150 + #define PCI_DEVICE_ID_NX2_57712_MF 0x1663 2150 2151 #define PCI_DEVICE_ID_TIGON3_5714 0x1668 2151 2152 #define PCI_DEVICE_ID_TIGON3_5714S 0x1669 2152 2153 #define PCI_DEVICE_ID_TIGON3_5780 0x166a 2153 2154 #define PCI_DEVICE_ID_TIGON3_5780S 0x166b 2154 2155 #define PCI_DEVICE_ID_TIGON3_5705F 0x166e 2156 + #define PCI_DEVICE_ID_NX2_57712_VF 0x166f 2155 2157 #define PCI_DEVICE_ID_TIGON3_5754M 0x1672 2156 2158 #define PCI_DEVICE_ID_TIGON3_5755M 0x1673 2157 2159 #define PCI_DEVICE_ID_TIGON3_5756 0x1674 ··· 2179 2177 #define PCI_DEVICE_ID_TIGON3_5787 0x169b 2180 2178 #define PCI_DEVICE_ID_TIGON3_5788 0x169c 2181 2179 #define PCI_DEVICE_ID_TIGON3_5789 0x169d 2180 + #define PCI_DEVICE_ID_NX2_57840_4_10 0x16a1 2181 + #define PCI_DEVICE_ID_NX2_57840_2_20 0x16a2 2182 + #define PCI_DEVICE_ID_NX2_57840_MF 0x16a4 2182 2183 #define PCI_DEVICE_ID_NX2_57800_MF 0x16a5 2183 2184 #define PCI_DEVICE_ID_TIGON3_5702X 0x16a6 2184 2185 #define PCI_DEVICE_ID_TIGON3_5703X 0x16a7 2185 2186 #define PCI_DEVICE_ID_TIGON3_5704S 0x16a8 2186 2187 #define PCI_DEVICE_ID_NX2_57800_VF 0x16a9 2187 2188 #define PCI_DEVICE_ID_NX2_5706S 0x16aa 2188 - #define PCI_DEVICE_ID_NX2_57840_MF 0x16a4 2189 2189 #define PCI_DEVICE_ID_NX2_5708S 0x16ac 2190 2190 #define PCI_DEVICE_ID_NX2_57840_VF 0x16ad 2191 2191 #define PCI_DEVICE_ID_NX2_57810_MF 0x16ae