On Tue, 27 Aug 2019 14:22:55 -0700, Shannon Nelson wrote: > >> diff --git a/drivers/net/ethernet/pensando/ionic/ionic_devlink.c > >> b/drivers/net/ethernet/pensando/ionic/ionic_devlink.c > >> index e24ef6971cd5..1ca1e33cca04 100644 > >> --- a/drivers/net/ethernet/pensando/ionic/ionic_devlink.c > >> +++ b/drivers/net/ethernet/pensando/ionic/ionic_devlink.c > >> @@ -11,8 +11,28 @@ > >> static int ionic_dl_info_get(struct devlink *dl, struct devlink_info_req > >> *req, > >> struct netlink_ext_ack *extack) > >> { > >> + struct ionic *ionic = devlink_priv(dl); > >> + struct ionic_dev *idev = &ionic->idev; > >> + char buf[16]; > >> + > >> devlink_info_driver_name_put(req, IONIC_DRV_NAME); > >> > >> + devlink_info_version_running_put(req, > >> + DEVLINK_INFO_VERSION_GENERIC_FW_MGMT, > >> + idev->dev_info.fw_version); > > Are you sure this is not the FW that controls the data path? > > There is only one FW rev to report, and this covers mgmt and data.
Can you add a key for that? Cause this one clearly says management.. > > > >> + snprintf(buf, sizeof(buf), "0x%x", idev->dev_info.asic_type); > >> + devlink_info_version_fixed_put(req, > >> + DEVLINK_INFO_VERSION_GENERIC_BOARD_ID, > >> + buf); > > Board ID is not ASIC. This is for identifying a board version with all > > its components which surround the main ASIC. > > > >> + snprintf(buf, sizeof(buf), "0x%x", idev->dev_info.asic_rev); > >> + devlink_info_version_fixed_put(req, > >> + DEVLINK_INFO_VERSION_GENERIC_BOARD_REV, > >> + buf); > > ditto > > Since I don't have any board info available at this point, shall I use > my own "asic.id" and "asic.rev" strings, or in this patch shall I add > something like this to devlink.h and use them here: > > /* Part number, identifier of asic design */ > #define DEVLINK_INFO_VERSION_GENERIC_ASIC_ID "asic.id" > /* Revision of asic design */ > #define DEVLINK_INFO_VERSION_GENERIC_ASIC_REV "asic.rev" Yes, please add these to the generic items and document appropriately.