aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/broadcom
diff options
context:
space:
mode:
authorVasundhara Volam <vasundhara-v.volam@broadcom.com>2020-01-27 04:56:21 -0500
committerDavid S. Miller <davem@davemloft.net>2020-01-27 11:33:28 +0100
commit002870ebdabb75809d753e3c171c68c4e70a0e91 (patch)
treea40065343c9b2a91d453a134f5865bedeb680d94 /drivers/net/ethernet/broadcom
parentbnxt_en: Refactor bnxt_dl_register() (diff)
downloadlinux-dev-002870ebdabb75809d753e3c171c68c4e70a0e91.tar.xz
linux-dev-002870ebdabb75809d753e3c171c68c4e70a0e91.zip
bnxt_en: Register devlink irrespective of firmware spec version
This will allow to register for devlink port and use port features. Also register params only if firmware spec version is at least 0x10600 which will support reading/setting numbered variables in NVRAM. Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom')
-rw-r--r--drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
index 9253eed60f55..a8cdfbdd5598 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
@@ -489,6 +489,9 @@ static int bnxt_dl_params_register(struct bnxt *bp)
{
int rc;
+ if (bp->hwrm_spec_code < 0x10600)
+ return 0;
+
rc = devlink_params_register(bp->dl, bnxt_dl_params,
ARRAY_SIZE(bnxt_dl_params));
if (rc) {
@@ -511,6 +514,9 @@ static int bnxt_dl_params_register(struct bnxt *bp)
static void bnxt_dl_params_unregister(struct bnxt *bp)
{
+ if (bp->hwrm_spec_code < 0x10600)
+ return;
+
devlink_params_unregister(bp->dl, bnxt_dl_params,
ARRAY_SIZE(bnxt_dl_params));
devlink_port_params_unregister(&bp->dl_port, bnxt_dl_port_params,
@@ -522,11 +528,6 @@ int bnxt_dl_register(struct bnxt *bp)
struct devlink *dl;
int rc;
- if (bp->hwrm_spec_code < 0x10600) {
- netdev_warn(bp->dev, "Firmware does not support NVM params");
- return -ENOTSUPP;
- }
-
if (BNXT_PF(bp))
dl = devlink_alloc(&bnxt_dl_ops, sizeof(struct bnxt_dl));
else