From 200f35319a302dc51964900c38c44fe2a347e717 Mon Sep 17 00:00:00 2001 From: roy_lee Date: Thu, 1 Nov 2018 15:17:06 +0800 Subject: [PATCH] [platform]as5916-26xb/as7316-26xb: onlpdump get psu capabilities of DC or AC. Signed-off-by: roy_lee --- .../onlp/builds/src/module/src/psui.c | 17 +++++++++++++++++ .../onlp/builds/src/module/src/psui.c | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) mode change 100644 => 100755 packages/platforms/accton/x86-64/x86-64-accton-as5916-26xb/onlp/builds/src/module/src/psui.c diff --git a/packages/platforms/accton/x86-64/x86-64-accton-as5916-26xb/onlp/builds/src/module/src/psui.c b/packages/platforms/accton/x86-64/x86-64-accton-as5916-26xb/onlp/builds/src/module/src/psui.c old mode 100644 new mode 100755 index 156f9bdb..15c2c7f6 --- a/packages/platforms/accton/x86-64/x86-64-accton-as5916-26xb/onlp/builds/src/module/src/psui.c +++ b/packages/platforms/accton/x86-64/x86-64-accton-as5916-26xb/onlp/builds/src/module/src/psui.c @@ -57,6 +57,22 @@ static onlp_psu_info_t pinfo[] = } }; +static int +get_DCorAC_cap(char *model) +{ + const char *dc_models[] = {"YM-2401U", "um400d", NULL }; + int i; + + i = 0; + while(dc_models[i]) { + if (!strncasecmp(model, dc_models[i], strlen(dc_models[i]))){ + return ONLP_PSU_CAPS_DC12; + } + i++; + } + return ONLP_PSU_CAPS_AC; +} + int onlp_psui_info_get(onlp_oid_t id, onlp_psu_info_t* info) { @@ -140,6 +156,7 @@ onlp_psui_info_get(onlp_oid_t id, onlp_psu_info_t* info) if (string && len) { strncpy(info->model, string, len); aim_free(string); + info->caps |= get_DCorAC_cap (info->model); } /* Read serial */ diff --git a/packages/platforms/accton/x86-64/x86-64-accton-as7316-26xb/onlp/builds/src/module/src/psui.c b/packages/platforms/accton/x86-64/x86-64-accton-as7316-26xb/onlp/builds/src/module/src/psui.c index 156f9bdb..15c2c7f6 100644 --- a/packages/platforms/accton/x86-64/x86-64-accton-as7316-26xb/onlp/builds/src/module/src/psui.c +++ b/packages/platforms/accton/x86-64/x86-64-accton-as7316-26xb/onlp/builds/src/module/src/psui.c @@ -57,6 +57,22 @@ static onlp_psu_info_t pinfo[] = } }; +static int +get_DCorAC_cap(char *model) +{ + const char *dc_models[] = {"YM-2401U", "um400d", NULL }; + int i; + + i = 0; + while(dc_models[i]) { + if (!strncasecmp(model, dc_models[i], strlen(dc_models[i]))){ + return ONLP_PSU_CAPS_DC12; + } + i++; + } + return ONLP_PSU_CAPS_AC; +} + int onlp_psui_info_get(onlp_oid_t id, onlp_psu_info_t* info) { @@ -140,6 +156,7 @@ onlp_psui_info_get(onlp_oid_t id, onlp_psu_info_t* info) if (string && len) { strncpy(info->model, string, len); aim_free(string); + info->caps |= get_DCorAC_cap (info->model); } /* Read serial */