diff options
author | Ge Song <ge.song@hxt-semitech.com> | 2018-08-02 17:29:38 +0000 |
---|---|---|
committer | Samuel Mendoza-Jonas <sam@mendozajonas.com> | 2018-08-07 11:30:36 +1000 |
commit | b5ab295d9cbddd1570d05471528f4d2ad7abae07 (patch) | |
tree | fd5fd05a243ded9c8cc738d8566a5deef6944d36 /discover | |
parent | db0ea9230e5d0c7ffe1febc6096395cb306eca7d (diff) | |
download | talos-petitboot-b5ab295d9cbddd1570d05471528f4d2ad7abae07.tar.gz talos-petitboot-b5ab295d9cbddd1570d05471528f4d2ad7abae07.zip |
discover/powerpc: Rearange save_config
Rearange update_config and save_config so that update_config
only operates on the platform params list.
Signed-off-by: Ge Song <ge.song@hxt-semitech.com>
[Split from a larger patch and cleaned up]
Signed-off-by: Geoff Levand <geoff@infradead.org>
Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Diffstat (limited to 'discover')
-rw-r--r-- | discover/platform-powerpc.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/discover/platform-powerpc.c b/discover/platform-powerpc.c index d7bd949..c7432fb 100644 --- a/discover/platform-powerpc.c +++ b/discover/platform-powerpc.c @@ -680,7 +680,7 @@ static void update_bootdev_config(struct platform_powerpc *platform, talloc_free(boot_str); } -static int update_config(struct platform_powerpc *platform, +static void update_config(struct platform_powerpc *platform, struct config *config, struct config *defaults) { char *tmp = NULL; @@ -698,14 +698,6 @@ static int update_config(struct platform_powerpc *platform, val = tmp = talloc_asprintf(platform, "%d", config->autoboot_timeout_sec); - if (config->ipmi_bootdev == IPMI_BOOTDEV_INVALID && - platform->clear_ipmi_bootdev) { - platform->clear_ipmi_bootdev(platform, - config->ipmi_bootdev_persistent); - config->ipmi_bootdev = IPMI_BOOTDEV_NONE; - config->ipmi_bootdev_persistent = false; - } - update_string_config(platform, "petitboot,timeout", val); if (tmp) talloc_free(tmp); @@ -732,8 +724,6 @@ static int update_config(struct platform_powerpc *platform, update_network_config(platform, config); update_bootdev_config(platform, config); - - return write_nvram(platform); } static void set_ipmi_bootdev(struct config *config, enum ipmi_bootdev bootdev, @@ -1154,15 +1144,22 @@ static int save_config(struct platform *p, struct config *config) { struct platform_powerpc *platform = to_platform_powerpc(p); struct config *defaults; - int rc; + + if (config->ipmi_bootdev == IPMI_BOOTDEV_INVALID && + platform->clear_ipmi_bootdev) { + platform->clear_ipmi_bootdev(platform, + config->ipmi_bootdev_persistent); + config->ipmi_bootdev = IPMI_BOOTDEV_NONE; + config->ipmi_bootdev_persistent = false; + } defaults = talloc_zero(platform, struct config); config_set_defaults(defaults); - rc = update_config(platform, config, defaults); + update_config(platform, config, defaults); talloc_free(defaults); - return rc; + return write_nvram(platform); } static void pre_boot(struct platform *p, const struct config *config) |