diff options
author | Vasundhara Volam <vasundhara-v.volam@broadcom.com> | 2020-01-27 04:56:21 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-01-27 11:33:28 +0100 |
commit | 002870ebdabb75809d753e3c171c68c4e70a0e91 (patch) | |
tree | a40065343c9b2a91d453a134f5865bedeb680d94 /drivers/net | |
parent | d6292ade7f6f109bffe9e1065de37f688fa0107f (diff) |
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')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 11 |
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 |