Message ID | 20210401065715.565226-3-leon@kernel.org |
---|---|
State | New |
Headers | show |
Series | Get rid of custom made module dependency | expand |
On Thu, Apr 1, 2021 at 12:27 PM Leon Romanovsky <leon@kernel.org> wrote: > > From: Leon Romanovsky <leonro@nvidia.com> > > Convert indirect probe call to its direct equivalent to create > symbols link between RDMA and netdev modules. This will give > us an ability to remove custom module reference counting that > doesn't belong to the driver. > > Signed-off-by: Leon Romanovsky <leonro@nvidia.com> > --- > drivers/infiniband/hw/bnxt_re/main.c | 7 +------ > drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 -- > drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 - > drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 1 + > 4 files changed, 2 insertions(+), 9 deletions(-) > > diff --git a/drivers/infiniband/hw/bnxt_re/main.c b/drivers/infiniband/hw/bnxt_re/main.c > index b30d37f0bad2..140c54ee5916 100644 > --- a/drivers/infiniband/hw/bnxt_re/main.c > +++ b/drivers/infiniband/hw/bnxt_re/main.c > @@ -610,15 +610,10 @@ static void bnxt_re_dev_unprobe(struct net_device *netdev, > > static struct bnxt_en_dev *bnxt_re_dev_probe(struct net_device *netdev) > { > - struct bnxt *bp = netdev_priv(netdev); > struct bnxt_en_dev *en_dev; > struct pci_dev *pdev; > > - /* Call bnxt_en's RoCE probe via indirect API */ > - if (!bp->ulp_probe) > - return ERR_PTR(-EINVAL); > - > - en_dev = bp->ulp_probe(netdev); > + en_dev = bnxt_ulp_probe(netdev); > if (IS_ERR(en_dev)) > return en_dev; > > diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c > index a680fd9c68ea..3f0e4bde5dc9 100644 > --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c > +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c > @@ -12859,8 +12859,6 @@ static int bnxt_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) > if (!BNXT_CHIP_P4_PLUS(bp)) > bp->flags |= BNXT_FLAG_DOUBLE_DB; > > - bp->ulp_probe = bnxt_ulp_probe; > - > rc = bnxt_init_mac_addr(bp); > if (rc) { > dev_err(&pdev->dev, "Unable to initialize mac address.\n"); > diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h > index 1259e68cba2a..eb0314d7a9b1 100644 > --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h > +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h > @@ -1745,7 +1745,6 @@ struct bnxt { > (BNXT_CHIP_P4(bp) || BNXT_CHIP_P5(bp)) > > struct bnxt_en_dev *edev; > - struct bnxt_en_dev * (*ulp_probe)(struct net_device *); > > struct bnxt_napi **bnapi; > > diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c > index 64dbbb04b043..a918e374f3c5 100644 > --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c > +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c > @@ -491,3 +491,4 @@ struct bnxt_en_dev *bnxt_ulp_probe(struct net_device *dev) > } > return bp->edev; > } > +EXPORT_SYMBOL(bnxt_ulp_probe); Acked-By: Devesh Sharma <devesh.sharma@broadcom.com> > -- > 2.30.2 > -- -Regards Devesh
diff --git a/drivers/infiniband/hw/bnxt_re/main.c b/drivers/infiniband/hw/bnxt_re/main.c index b30d37f0bad2..140c54ee5916 100644 --- a/drivers/infiniband/hw/bnxt_re/main.c +++ b/drivers/infiniband/hw/bnxt_re/main.c @@ -610,15 +610,10 @@ static void bnxt_re_dev_unprobe(struct net_device *netdev, static struct bnxt_en_dev *bnxt_re_dev_probe(struct net_device *netdev) { - struct bnxt *bp = netdev_priv(netdev); struct bnxt_en_dev *en_dev; struct pci_dev *pdev; - /* Call bnxt_en's RoCE probe via indirect API */ - if (!bp->ulp_probe) - return ERR_PTR(-EINVAL); - - en_dev = bp->ulp_probe(netdev); + en_dev = bnxt_ulp_probe(netdev); if (IS_ERR(en_dev)) return en_dev; diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index a680fd9c68ea..3f0e4bde5dc9 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -12859,8 +12859,6 @@ static int bnxt_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) if (!BNXT_CHIP_P4_PLUS(bp)) bp->flags |= BNXT_FLAG_DOUBLE_DB; - bp->ulp_probe = bnxt_ulp_probe; - rc = bnxt_init_mac_addr(bp); if (rc) { dev_err(&pdev->dev, "Unable to initialize mac address.\n"); diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h index 1259e68cba2a..eb0314d7a9b1 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h @@ -1745,7 +1745,6 @@ struct bnxt { (BNXT_CHIP_P4(bp) || BNXT_CHIP_P5(bp)) struct bnxt_en_dev *edev; - struct bnxt_en_dev * (*ulp_probe)(struct net_device *); struct bnxt_napi **bnapi; diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c index 64dbbb04b043..a918e374f3c5 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c @@ -491,3 +491,4 @@ struct bnxt_en_dev *bnxt_ulp_probe(struct net_device *dev) } return bp->edev; } +EXPORT_SYMBOL(bnxt_ulp_probe);