On 7/1/2020 9:51 PM, Jakub Kicinski wrote: > On Wed, 1 Jul 2020 17:32:45 +0300 Ido Schimmel wrote: >> diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c >> b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c >> index 2bd610fafc58..3af4e7397263 100644 >> --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c >> +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c >> @@ -691,6 +691,9 @@ static void bnxt_dl_params_unregister(struct bnxt *bp) >> >> int bnxt_dl_register(struct bnxt *bp) >> { >> + struct devlink_port_attrs attrs = {}; >> + const unsigned char *switch_id; >> + unsigned char switch_id_len; >> struct devlink *dl; >> int rc; >> >> @@ -719,9 +722,13 @@ int bnxt_dl_register(struct bnxt *bp) >> if (!BNXT_PF(bp)) >> return 0; >> >> - devlink_port_attrs_set(&bp->dl_port, DEVLINK_PORT_FLAVOUR_PHYSICAL, >> - bp->pf.port_id, false, 0, bp->dsn, >> - sizeof(bp->dsn)); >> + attrs.flavour = DEVLINK_PORT_FLAVOUR_PHYSICAL; >> + attrs.phys.port_number = bp->pf.port_id; >> + switch_id = bp->dsn; >> + switch_id_len = sizeof(bp->dsn); > Why do you create those local variables everywhere?
I will change that, thanks. > >> + memcpy(attrs.switch_id.id, switch_id, switch_id_len); >> + attrs.switch_id.id_len = switch_id_len; >> + devlink_port_attrs_set(&bp->dl_port, &attrs); >> rc = devlink_port_register(dl, &bp->dl_port, bp->pf.port_id); >> if (rc) { >> netdev_err(bp->dev, "devlink_port_register failed\n");