summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
diff options
context:
space:
mode:
authorMichael Chan2012-12-06 11:33:12 +0100
committerDavid S. Miller2012-12-07 18:44:02 +0100
commit4bd9b0fffb193d2e288f67f81821af32df8d4349 (patch)
treeb2e19d3ffeac16974eda2d396f543a1d25466f1c /drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
parentcnic: Include bnx2x.h (diff)
downloadkernel-qcow2-linux-4bd9b0fffb193d2e288f67f81821af32df8d4349.tar.gz
kernel-qcow2-linux-4bd9b0fffb193d2e288f67f81821af32df8d4349.tar.xz
kernel-qcow2-linux-4bd9b0fffb193d2e288f67f81821af32df8d4349.zip
cnic, bnx2x, bnx2: Simplify cnic probing.
Instead of using symbol_get(), cnic can now directly call the cnic_probe functions in struct bnx2x and struct bnx2. symbol_get() is not reliable as it fails when the module is still initializing. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c')
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
index 75aea83ee68d..f34ff59a8095 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
@@ -12018,6 +12018,8 @@ static int bnx2x_get_num_non_def_sbs(struct pci_dev *pdev,
return control & PCI_MSIX_FLAGS_QSIZE;
}
+struct cnic_eth_dev *bnx2x_cnic_probe(struct net_device *);
+
static int bnx2x_init_one(struct pci_dev *pdev,
const struct pci_device_id *ent)
{
@@ -12097,6 +12099,7 @@ static int bnx2x_init_one(struct pci_dev *pdev,
bp->igu_sb_cnt = max_non_def_sbs;
bp->msg_enable = debug;
bp->cnic_support = cnic_cnt;
+ bp->cnic_probe = bnx2x_cnic_probe;
pci_set_drvdata(pdev, dev);
@@ -13038,6 +13041,5 @@ struct cnic_eth_dev *bnx2x_cnic_probe(struct net_device *dev)
cp->starting_cid);
return cp;
}
-EXPORT_SYMBOL(bnx2x_cnic_probe);