uboot/env/nowhere.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0+
   2/*
   3 * (C) Copyright 2000-2010
   4 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   5 *
   6 * (C) Copyright 2001 Sysgo Real-Time Solutions, GmbH <www.elinos.com>
   7 * Andreas Heppel <aheppel@sysgo.de>
   8 */
   9
  10#include <common.h>
  11#include <command.h>
  12#include <env.h>
  13#include <env_internal.h>
  14#include <asm/global_data.h>
  15#include <linux/stddef.h>
  16
  17DECLARE_GLOBAL_DATA_PTR;
  18
  19/*
  20 * Because we only ever have the default environment available we must mark
  21 * it as invalid.
  22 */
  23static int env_nowhere_init(void)
  24{
  25        gd->env_valid = ENV_INVALID;
  26
  27        return 0;
  28}
  29
  30static int env_nowhere_load(void)
  31{
  32        /*
  33         * For SPL, setting env_valid = ENV_INVALID is enough, as env_get()
  34         * searches default_environment array in that case.
  35         * For U-Boot proper, import the default environment to allow reload.
  36         */
  37        if (!IS_ENABLED(CONFIG_SPL_BUILD))
  38                env_set_default(NULL, 0);
  39
  40        gd->env_valid = ENV_INVALID;
  41
  42        return 0;
  43}
  44
  45U_BOOT_ENV_LOCATION(nowhere) = {
  46        .location       = ENVL_NOWHERE,
  47        .init           = env_nowhere_init,
  48        .load           = env_nowhere_load,
  49        ENV_NAME("nowhere")
  50};
  51