diff options
author | Vasant Hegde <hegdevasant@linux.vnet.ibm.com> | 2017-04-02 16:37:28 +0530 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2017-04-05 12:30:44 +1000 |
commit | 54c4dd27bd30030073ede4b2d154da5583d8e20d (patch) | |
tree | b2ac18eab4d7da1182c5e993c70e79f655696943 /hdata/vpd.c | |
parent | 810aaf1173a056414295eab22cf32ba6833951b0 (diff) | |
download | skiboot-54c4dd27bd30030073ede4b2d154da5583d8e20d.zip skiboot-54c4dd27bd30030073ede4b2d154da5583d8e20d.tar.gz skiboot-54c4dd27bd30030073ede4b2d154da5583d8e20d.tar.bz2 |
hdat: Add model-name property for OpenPower system
Lets add model-name property for OpenPower system as well.
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hdata/vpd.c')
-rw-r--r-- | hdata/vpd.c | 14 |
1 files changed, 10 insertions, 4 deletions
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) |