mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-19 09:04:51 +08:00
nfp: devlink: report fixed versions
Report information about the hardware. RFCv2: - add defines for board IDs which are likely to be reusable for other drivers (Jiri). Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Acked-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4adba00839
commit
937a3e2645
@ -172,6 +172,40 @@ static int nfp_devlink_eswitch_mode_set(struct devlink *devlink, u16 mode,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const struct nfp_devlink_versions_simple {
|
||||
const char *key;
|
||||
const char *hwinfo;
|
||||
} nfp_devlink_versions_hwinfo[] = {
|
||||
{ DEVLINK_INFO_VERSION_GENERIC_BOARD_ID, "assembly.partno", },
|
||||
{ DEVLINK_INFO_VERSION_GENERIC_BOARD_REV, "assembly.revision", },
|
||||
{ "board.vendor", /* fab */ "assembly.vendor", },
|
||||
{ "board.model", /* code name */ "assembly.model", },
|
||||
};
|
||||
|
||||
static int
|
||||
nfp_devlink_versions_get_hwinfo(struct nfp_pf *pf, struct devlink_info_req *req)
|
||||
{
|
||||
unsigned int i;
|
||||
int err;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(nfp_devlink_versions_hwinfo); i++) {
|
||||
const struct nfp_devlink_versions_simple *info;
|
||||
const char *val;
|
||||
|
||||
info = &nfp_devlink_versions_hwinfo[i];
|
||||
|
||||
val = nfp_hwinfo_lookup(pf->hwinfo, info->hwinfo);
|
||||
if (!val)
|
||||
continue;
|
||||
|
||||
err = devlink_info_version_fixed_put(req, info->key, val);
|
||||
if (err)
|
||||
return err;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
nfp_devlink_info_get(struct devlink *devlink, struct devlink_info_req *req,
|
||||
struct netlink_ext_ack *extack)
|
||||
@ -191,7 +225,7 @@ nfp_devlink_info_get(struct devlink *devlink, struct devlink_info_req *req,
|
||||
return err;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return nfp_devlink_versions_get_hwinfo(pf, req);
|
||||
}
|
||||
|
||||
const struct devlink_ops nfp_devlink_ops = {
|
||||
|
Loading…
Reference in New Issue
Block a user