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>
-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;
struct config *config, struct config *defaults)
{
char *tmp = NULL;
val = tmp = talloc_asprintf(platform, "%d",
config->autoboot_timeout_sec);
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);
update_string_config(platform, "petitboot,timeout", val);
if (tmp)
talloc_free(tmp);
update_network_config(platform, config);
update_bootdev_config(platform, config);
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,
}
static void set_ipmi_bootdev(struct config *config, enum ipmi_bootdev bootdev,
{
struct platform_powerpc *platform = to_platform_powerpc(p);
struct config *defaults;
{
struct platform_powerpc *platform = to_platform_powerpc(p);
struct config *defaults;
+
+ 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);
defaults = talloc_zero(platform, struct config);
config_set_defaults(defaults);
- rc = update_config(platform, config, defaults);
+ update_config(platform, config, defaults);
+ return write_nvram(platform);
}
static void pre_boot(struct platform *p, const struct config *config)
}
static void pre_boot(struct platform *p, const struct config *config)