From 54c4dd27bd30030073ede4b2d154da5583d8e20d Mon Sep 17 00:00:00 2001 From: Vasant Hegde Date: Sun, 2 Apr 2017 16:37:28 +0530 Subject: hdat: Add model-name property for OpenPower system Lets add model-name property for OpenPower system as well. Signed-off-by: Vasant Hegde Signed-off-by: Stewart Smith --- hdata/vpd.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'hdata/vpd.c') diff --git a/hdata/vpd.c b/hdata/vpd.c index 6cb9bec..5a66140 100644 --- a/hdata/vpd.c +++ b/hdata/vpd.c @@ -501,12 +501,17 @@ struct dt_node *dt_add_vpd_node(const struct HDIF_common_hdr *hdr, return node; } -static void dt_add_model_name(char *model) +static void dt_add_model_name(void) { const char *model_name = NULL; const struct machine_info *mi; const struct iplparams_sysparams *p; const struct HDIF_common_hdr *iplp; + const struct dt_property *model; + + model = dt_find_property(dt_root, "model"); + if (!model) + goto def_model; iplp = get_hdif(&spira.ntuples.ipl_parms, "IPLPMS"); if (!iplp) @@ -521,12 +526,12 @@ static void dt_add_model_name(char *model) def_model: if (!model_name || model_name[0] == '\0') { - mi = machine_info_lookup(model); + mi = machine_info_lookup(model->prop); if (mi) { model_name = mi->name; } else { model_name = "Unknown"; - prlog(PR_WARNING, "VPD: Model name %s not known\n", model); + prlog(PR_WARNING, "VPD: Model name %s not known\n", model->prop); } } @@ -566,7 +571,6 @@ static void sysvpd_parse_legacy(const void *sysvpd, unsigned int sysvpd_sz) if (str) { memcpy(str, model, sz); dt_add_property_string(dt_root, "model", str); - dt_add_model_name(str); free(str); } } else @@ -619,6 +623,8 @@ static void sysvpd_parse(void) sysvpd_parse_opp(sysvpd, sysvpd_sz); } else sysvpd_parse_legacy(sysvpd, sysvpd_sz); + + dt_add_model_name(); } static void iokid_vpd_parse(const struct HDIF_common_hdr *iohub_hdr) -- cgit v1.1