Compare commits
8 Commits
cherry-91b
...
laba
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8c9ed25419 | ||
|
|
7fb94e9524 | ||
|
|
288a5c6802 | ||
|
|
f44128934e | ||
|
|
97344b18e7 | ||
|
|
66ca67a04f | ||
|
|
d8a97112e7 | ||
|
|
8e24ff9568 |
@@ -534,9 +534,6 @@ coreboot test.py:
|
|||||||
allow_failure: true
|
allow_failure: true
|
||||||
tags: [ 'lab' ]
|
tags: [ 'lab' ]
|
||||||
script:
|
script:
|
||||||
- if [[ -z "${SJG_LAB}" ]]; then
|
|
||||||
exit 0;
|
|
||||||
fi
|
|
||||||
# Environment:
|
# Environment:
|
||||||
# SRC - source tree
|
# SRC - source tree
|
||||||
# OUT - output directory for builds
|
# OUT - output directory for builds
|
||||||
@@ -579,10 +576,11 @@ pcduino3_nano:
|
|||||||
ROLE: pcduino3_nano
|
ROLE: pcduino3_nano
|
||||||
<<: *lab_dfn
|
<<: *lab_dfn
|
||||||
|
|
||||||
samus:
|
# samus has a hardware failure 30-Nov-24
|
||||||
variables:
|
#samus:
|
||||||
ROLE: samus
|
# variables:
|
||||||
<<: *lab_dfn
|
# ROLE: samus
|
||||||
|
# <<: *lab_dfn
|
||||||
|
|
||||||
link:
|
link:
|
||||||
variables:
|
variables:
|
||||||
@@ -634,25 +632,28 @@ rpi3z:
|
|||||||
ROLE: rpi3z
|
ROLE: rpi3z
|
||||||
<<: *lab_dfn
|
<<: *lab_dfn
|
||||||
|
|
||||||
bbb:
|
# bbb has a hardware failure 30-Nov-24
|
||||||
variables:
|
#bbb:
|
||||||
ROLE: bbb
|
# variables:
|
||||||
<<: *lab_dfn
|
# ROLE: bbb
|
||||||
|
# <<: *lab_dfn
|
||||||
|
|
||||||
kevin:
|
kevin:
|
||||||
variables:
|
variables:
|
||||||
ROLE: kevin
|
ROLE: kevin
|
||||||
<<: *lab_dfn
|
<<: *lab_dfn
|
||||||
|
|
||||||
pine64:
|
# pine64 has a hardware failure 30-Nov-24
|
||||||
variables:
|
#pine64:
|
||||||
ROLE: pine64
|
# variables:
|
||||||
<<: *lab_dfn
|
# ROLE: pine64
|
||||||
|
# <<: *lab_dfn
|
||||||
|
|
||||||
c4:
|
# c4 needs binman supported added, so signing works
|
||||||
variables:
|
#c4:
|
||||||
ROLE: c4
|
# variables:
|
||||||
<<: *lab_dfn
|
# ROLE: c4
|
||||||
|
# <<: *lab_dfn
|
||||||
|
|
||||||
rpi4:
|
rpi4:
|
||||||
variables:
|
variables:
|
||||||
|
|||||||
@@ -24,7 +24,9 @@ int arch_cpu_init(void)
|
|||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(HANDOFF) && IS_ENABLED(CONFIG_USE_HOB)
|
#if CONFIG_IS_ENABLED(HANDOFF) && IS_ENABLED(CONFIG_USE_HOB)
|
||||||
gd->arch.hob_list = handoff_get();
|
struct spl_handoff *ho = gd->spl_handoff;
|
||||||
|
|
||||||
|
gd->arch.hob_list = ho->arch.hob_list;
|
||||||
#endif
|
#endif
|
||||||
ret = x86_cpu_reinit_f();
|
ret = x86_cpu_reinit_f();
|
||||||
|
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ int dram_init(void)
|
|||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
#if CONFIG_IS_ENABLED(HANDOFF)
|
#if CONFIG_IS_ENABLED(HANDOFF)
|
||||||
struct spl_handoff *ho = handoff_get();
|
struct spl_handoff *ho = gd->spl_handoff;
|
||||||
|
|
||||||
if (!ho) {
|
if (!ho) {
|
||||||
log_debug("No SPL handoff found\n");
|
log_debug("No SPL handoff found\n");
|
||||||
@@ -82,7 +82,7 @@ phys_addr_t board_get_usable_ram_top(phys_size_t total_size)
|
|||||||
return gd->ram_size;
|
return gd->ram_size;
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(HANDOFF)
|
#if CONFIG_IS_ENABLED(HANDOFF)
|
||||||
struct spl_handoff *ho = handoff_get();
|
struct spl_handoff *ho = gd->spl_handoff;
|
||||||
|
|
||||||
log_debug("usable_ram_top = %lx\n", ho->arch.usable_ram_top);
|
log_debug("usable_ram_top = %lx\n", ho->arch.usable_ram_top);
|
||||||
|
|
||||||
|
|||||||
6
cmd/sb.c
6
cmd/sb.c
@@ -15,10 +15,8 @@ static int do_sb_handoff(struct cmd_tbl *cmdtp, int flag, int argc,
|
|||||||
char *const argv[])
|
char *const argv[])
|
||||||
{
|
{
|
||||||
#if CONFIG_IS_ENABLED(HANDOFF)
|
#if CONFIG_IS_ENABLED(HANDOFF)
|
||||||
struct spl_handoff *handoff = handoff_get();
|
if (gd->spl_handoff)
|
||||||
|
printf("SPL handoff magic %lx\n", gd->spl_handoff->arch.magic);
|
||||||
if (handoff)
|
|
||||||
printf("SPL handoff magic %lx\n", handoff->arch.magic);
|
|
||||||
else
|
else
|
||||||
printf("SPL handoff info not received\n");
|
printf("SPL handoff info not received\n");
|
||||||
|
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ static struct tag_name {
|
|||||||
{ BLOBLISTT_INTEL_VBT, "Intel Video-BIOS table" },
|
{ BLOBLISTT_INTEL_VBT, "Intel Video-BIOS table" },
|
||||||
{ BLOBLISTT_SMBIOS_TABLES, "SMBIOS tables for x86" },
|
{ BLOBLISTT_SMBIOS_TABLES, "SMBIOS tables for x86" },
|
||||||
{ BLOBLISTT_VBOOT_CTX, "Chrome OS vboot context" },
|
{ BLOBLISTT_VBOOT_CTX, "Chrome OS vboot context" },
|
||||||
|
{ BLOBLISTT_CONTROL_FDT, "Control FDT" },
|
||||||
|
|
||||||
/* BLOBLISTT_PROJECT_AREA */
|
/* BLOBLISTT_PROJECT_AREA */
|
||||||
{ BLOBLISTT_U_BOOT_SPL_HANDOFF, "SPL hand-off" },
|
{ BLOBLISTT_U_BOOT_SPL_HANDOFF, "SPL hand-off" },
|
||||||
|
|||||||
@@ -305,6 +305,17 @@ static int setup_mon_len(void)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int setup_spl_handoff(void)
|
||||||
|
{
|
||||||
|
#if CONFIG_IS_ENABLED(HANDOFF)
|
||||||
|
gd->spl_handoff = bloblist_find(BLOBLISTT_U_BOOT_SPL_HANDOFF,
|
||||||
|
sizeof(struct spl_handoff));
|
||||||
|
debug("Found SPL hand-off info %p\n", gd->spl_handoff);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
__weak int arch_cpu_init(void)
|
__weak int arch_cpu_init(void)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
@@ -880,6 +891,7 @@ static const init_fnc_t init_sequence_f[] = {
|
|||||||
initf_bootstage, /* uses its own timer, so does not need DM */
|
initf_bootstage, /* uses its own timer, so does not need DM */
|
||||||
event_init,
|
event_init,
|
||||||
bloblist_maybe_init,
|
bloblist_maybe_init,
|
||||||
|
setup_spl_handoff,
|
||||||
#if defined(CONFIG_CONSOLE_RECORD_INIT_F)
|
#if defined(CONFIG_CONSOLE_RECORD_INIT_F)
|
||||||
console_record_init,
|
console_record_init,
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
* Copyright 2018 Google, Inc
|
* Copyright 2018 Google, Inc
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <bloblist.h>
|
|
||||||
#include <handoff.h>
|
#include <handoff.h>
|
||||||
#include <asm/global_data.h>
|
#include <asm/global_data.h>
|
||||||
|
|
||||||
@@ -39,14 +38,3 @@ void handoff_load_dram_banks(struct spl_handoff *ho)
|
|||||||
bd->bi_dram[i].size = ho->ram_bank[i].size;
|
bd->bi_dram[i].size = ho->ram_bank[i].size;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct spl_handoff *handoff_get(void)
|
|
||||||
{
|
|
||||||
struct spl_handoff *handoff;
|
|
||||||
|
|
||||||
handoff = bloblist_find(BLOBLISTT_U_BOOT_SPL_HANDOFF,
|
|
||||||
sizeof(struct spl_handoff));
|
|
||||||
debug("Found SPL hand-off info %p\n", handoff);
|
|
||||||
|
|
||||||
return handoff;
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -137,10 +137,10 @@ If `OF_BOARD` is selected by Kconfig, a board-specific routine will provide the
|
|||||||
devicetree at runtime, for example if an earlier bootloader stage creates
|
devicetree at runtime, for example if an earlier bootloader stage creates
|
||||||
it and passes it to U-Boot.
|
it and passes it to U-Boot.
|
||||||
|
|
||||||
If `BLOBLIST` is selected by Kconfig, the devicetree may come from a bloblist
|
If CONFIG_OF_BLOBLIST is defined, the devicetree comes from a bloblist passed
|
||||||
passed from a previous stage, if present.
|
from a previous stage.
|
||||||
|
|
||||||
If `SANDBOX` is selected by Kconfig, then it will be read from a file on
|
If CONFIG_SANDBOX is defined, then it will be read from a file on
|
||||||
startup. Use the -d flag to U-Boot to specify the file to read, -D for the
|
startup. Use the -d flag to U-Boot to specify the file to read, -D for the
|
||||||
default and -T for the test devicetree, used to run sandbox unit tests.
|
default and -T for the test devicetree, used to run sandbox unit tests.
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,6 @@
|
|||||||
#include <dm.h>
|
#include <dm.h>
|
||||||
#include <dt-structs.h>
|
#include <dt-structs.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <handoff.h>
|
|
||||||
#include <log.h>
|
#include <log.h>
|
||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
#include <mapmem.h>
|
#include <mapmem.h>
|
||||||
@@ -1468,7 +1467,7 @@ static int rk3399_clk_probe(struct udevice *dev)
|
|||||||
init_clocks = true;
|
init_clocks = true;
|
||||||
#elif CONFIG_IS_ENABLED(HANDOFF)
|
#elif CONFIG_IS_ENABLED(HANDOFF)
|
||||||
if (!(gd->flags & GD_FLG_RELOC)) {
|
if (!(gd->flags & GD_FLG_RELOC)) {
|
||||||
if (!handoff_get())
|
if (!(gd->spl_handoff))
|
||||||
init_clocks = true;
|
init_clocks = true;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -433,8 +433,6 @@ static int regulator_post_bind(struct udevice *dev)
|
|||||||
const char *property = "regulator-name";
|
const char *property = "regulator-name";
|
||||||
|
|
||||||
uc_pdata = dev_get_uclass_plat(dev);
|
uc_pdata = dev_get_uclass_plat(dev);
|
||||||
uc_pdata->always_on = dev_read_bool(dev, "regulator-always-on");
|
|
||||||
uc_pdata->boot_on = dev_read_bool(dev, "regulator-boot-on");
|
|
||||||
|
|
||||||
/* Regulator's mandatory constraint */
|
/* Regulator's mandatory constraint */
|
||||||
uc_pdata->name = dev_read_string(dev, property);
|
uc_pdata->name = dev_read_string(dev, property);
|
||||||
@@ -446,23 +444,15 @@ static int regulator_post_bind(struct udevice *dev)
|
|||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!regulator_name_is_unique(dev, uc_pdata->name)) {
|
if (regulator_name_is_unique(dev, uc_pdata->name))
|
||||||
|
return 0;
|
||||||
|
|
||||||
debug("'%s' of dev: '%s', has nonunique value: '%s\n",
|
debug("'%s' of dev: '%s', has nonunique value: '%s\n",
|
||||||
property, dev->name, uc_pdata->name);
|
property, dev->name, uc_pdata->name);
|
||||||
|
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* In case the regulator has regulator-always-on or
|
|
||||||
* regulator-boot-on DT property, trigger probe() to
|
|
||||||
* configure its default state during startup.
|
|
||||||
*/
|
|
||||||
if (uc_pdata->always_on || uc_pdata->boot_on)
|
|
||||||
dev_or_flags(dev, DM_FLAG_PROBE_AFTER_BIND);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int regulator_pre_probe(struct udevice *dev)
|
static int regulator_pre_probe(struct udevice *dev)
|
||||||
{
|
{
|
||||||
struct dm_regulator_uclass_plat *uc_pdata;
|
struct dm_regulator_uclass_plat *uc_pdata;
|
||||||
@@ -483,6 +473,8 @@ static int regulator_pre_probe(struct udevice *dev)
|
|||||||
-ENODATA);
|
-ENODATA);
|
||||||
uc_pdata->max_uA = dev_read_u32_default(dev, "regulator-max-microamp",
|
uc_pdata->max_uA = dev_read_u32_default(dev, "regulator-max-microamp",
|
||||||
-ENODATA);
|
-ENODATA);
|
||||||
|
uc_pdata->always_on = dev_read_bool(dev, "regulator-always-on");
|
||||||
|
uc_pdata->boot_on = dev_read_bool(dev, "regulator-boot-on");
|
||||||
uc_pdata->ramp_delay = dev_read_u32_default(dev, "regulator-ramp-delay",
|
uc_pdata->ramp_delay = dev_read_u32_default(dev, "regulator-ramp-delay",
|
||||||
0);
|
0);
|
||||||
uc_pdata->force_off = dev_read_bool(dev, "regulator-force-boot-off");
|
uc_pdata->force_off = dev_read_bool(dev, "regulator-force-boot-off");
|
||||||
|
|||||||
@@ -167,6 +167,14 @@ config OF_INITIAL_DTB_READONLY
|
|||||||
If initial DTB for DT control is read-only (e.g. points to
|
If initial DTB for DT control is read-only (e.g. points to
|
||||||
memory-mapped flash memory), then set this option.
|
memory-mapped flash memory), then set this option.
|
||||||
|
|
||||||
|
config OF_BLOBLIST
|
||||||
|
bool "DTB is provided by a bloblist"
|
||||||
|
help
|
||||||
|
Select this to read the devicetree from the bloblist. This allows
|
||||||
|
using a bloblist to transfer the devicetree between U-Boot phases.
|
||||||
|
The devicetree is stored in the bloblist by an early phase so that
|
||||||
|
U-Boot can read it.
|
||||||
|
|
||||||
config OF_BOARD
|
config OF_BOARD
|
||||||
bool "Provided by the board (e.g a previous loader) at runtime"
|
bool "Provided by the board (e.g a previous loader) at runtime"
|
||||||
default y if SANDBOX || OF_HAS_PRIOR_STAGE
|
default y if SANDBOX || OF_HAS_PRIOR_STAGE
|
||||||
|
|||||||
@@ -400,6 +400,12 @@ struct global_data {
|
|||||||
*/
|
*/
|
||||||
struct bloblist_hdr *bloblist;
|
struct bloblist_hdr *bloblist;
|
||||||
#endif
|
#endif
|
||||||
|
#if CONFIG_IS_ENABLED(HANDOFF)
|
||||||
|
/**
|
||||||
|
* @spl_handoff: SPL hand-off information
|
||||||
|
*/
|
||||||
|
struct spl_handoff *spl_handoff;
|
||||||
|
#endif
|
||||||
#if defined(CONFIG_TRANSLATION_OFFSET)
|
#if defined(CONFIG_TRANSLATION_OFFSET)
|
||||||
/**
|
/**
|
||||||
* @translation_offset: optional translation offset
|
* @translation_offset: optional translation offset
|
||||||
|
|||||||
@@ -1191,8 +1191,7 @@ int fdtdec_resetup(int *rescan);
|
|||||||
*
|
*
|
||||||
* The existing devicetree is available at gd->fdt_blob
|
* The existing devicetree is available at gd->fdt_blob
|
||||||
*
|
*
|
||||||
* @err: 0 on success, -EEXIST if the devicetree is already correct, or other
|
* @err internal error code if we fail to setup a DTB
|
||||||
* internal error code if we fail to setup a DTB
|
|
||||||
* @returns new devicetree blob pointer
|
* @returns new devicetree blob pointer
|
||||||
*/
|
*/
|
||||||
void *board_fdt_blob_setup(int *err);
|
void *board_fdt_blob_setup(int *err);
|
||||||
|
|||||||
@@ -31,13 +31,6 @@ void handoff_save_dram(struct spl_handoff *ho);
|
|||||||
void handoff_load_dram_size(struct spl_handoff *ho);
|
void handoff_load_dram_size(struct spl_handoff *ho);
|
||||||
void handoff_load_dram_banks(struct spl_handoff *ho);
|
void handoff_load_dram_banks(struct spl_handoff *ho);
|
||||||
|
|
||||||
/**
|
|
||||||
* handoff_get() - Get the SPL handoff information
|
|
||||||
*
|
|
||||||
* Return: Pointer to SPL handoff if received, else NULL
|
|
||||||
*/
|
|
||||||
struct spl_handoff *handoff_get(void);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* handoff_arch_save() - Save arch-specific info into the handoff area
|
* handoff_arch_save() - Save arch-specific info into the handoff area
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -137,7 +137,6 @@ int binman_init(void)
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
return 0;
|
|
||||||
binman = malloc(sizeof(struct binman_info));
|
binman = malloc(sizeof(struct binman_info));
|
||||||
if (!binman)
|
if (!binman)
|
||||||
return log_msg_ret("space for binman", -ENOMEM);
|
return log_msg_ret("space for binman", -ENOMEM);
|
||||||
|
|||||||
43
lib/fdtdec.c
43
lib/fdtdec.c
@@ -1666,35 +1666,23 @@ static void setup_multi_dtb_fit(void)
|
|||||||
|
|
||||||
int fdtdec_setup(void)
|
int fdtdec_setup(void)
|
||||||
{
|
{
|
||||||
int ret = -ENOENT;
|
int ret;
|
||||||
|
|
||||||
/*
|
/* The devicetree is typically appended to U-Boot */
|
||||||
* If allowing a bloblist, check that first. There was discussion about
|
if (CONFIG_IS_ENABLED(OF_BLOBLIST)) {
|
||||||
* adding an OF_BLOBLIST Kconfig, but this was rejected.
|
|
||||||
*
|
|
||||||
* The necessary test is whether the previous phase passed a bloblist,
|
|
||||||
* not whether this phase creates one.
|
|
||||||
*/
|
|
||||||
if (CONFIG_IS_ENABLED(BLOBLIST) &&
|
|
||||||
(xpl_prev_phase() != PHASE_TPL ||
|
|
||||||
!IS_ENABLED(CONFIG_TPL_BLOBLIST))) {
|
|
||||||
ret = bloblist_maybe_init();
|
ret = bloblist_maybe_init();
|
||||||
if (!ret) {
|
if (ret)
|
||||||
|
return ret;
|
||||||
gd->fdt_blob = bloblist_find(BLOBLISTT_CONTROL_FDT, 0);
|
gd->fdt_blob = bloblist_find(BLOBLISTT_CONTROL_FDT, 0);
|
||||||
if (gd->fdt_blob) {
|
if (!gd->fdt_blob) {
|
||||||
|
printf("Not FDT found in bloblist\n");
|
||||||
|
bloblist_show_list();
|
||||||
|
return -ENOENT;
|
||||||
|
}
|
||||||
gd->fdt_src = FDTSRC_BLOBLIST;
|
gd->fdt_src = FDTSRC_BLOBLIST;
|
||||||
log_debug("Devicetree is in bloblist at %p\n",
|
bloblist_show_list();
|
||||||
gd->fdt_blob);
|
log_debug("Devicetree is in bloblist at %p\n", gd->fdt_blob);
|
||||||
ret = 0;
|
|
||||||
} else {
|
} else {
|
||||||
log_debug("No FDT found in bloblist\n");
|
|
||||||
ret = -ENOENT;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Otherwise, the devicetree is typically appended to U-Boot */
|
|
||||||
if (ret) {
|
|
||||||
if (IS_ENABLED(CONFIG_OF_SEPARATE)) {
|
if (IS_ENABLED(CONFIG_OF_SEPARATE)) {
|
||||||
gd->fdt_blob = fdt_find_separate();
|
gd->fdt_blob = fdt_find_separate();
|
||||||
gd->fdt_src = FDTSRC_SEPARATE;
|
gd->fdt_src = FDTSRC_SEPARATE;
|
||||||
@@ -1702,15 +1690,14 @@ int fdtdec_setup(void)
|
|||||||
gd->fdt_blob = dtb_dt_embedded();
|
gd->fdt_blob = dtb_dt_embedded();
|
||||||
gd->fdt_src = FDTSRC_EMBED;
|
gd->fdt_src = FDTSRC_EMBED;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/* Allow the board to override the fdt address. */
|
/* Allow the board to override the fdt address. */
|
||||||
if (IS_ENABLED(CONFIG_OF_BOARD)) {
|
if (IS_ENABLED(CONFIG_OF_BOARD)) {
|
||||||
gd->fdt_blob = board_fdt_blob_setup(&ret);
|
gd->fdt_blob = board_fdt_blob_setup(&ret);
|
||||||
if (!ret)
|
if (ret)
|
||||||
gd->fdt_src = FDTSRC_BOARD;
|
|
||||||
else if (ret != -EEXIST)
|
|
||||||
return ret;
|
return ret;
|
||||||
|
gd->fdt_src = FDTSRC_BOARD;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Allow the early environment to override the fdt address */
|
/* Allow the early environment to override the fdt address */
|
||||||
|
|||||||
@@ -186,7 +186,8 @@ int dm_test_power_regulator_set_enable_if_allowed(struct unit_test_state *uts)
|
|||||||
|
|
||||||
/* Get BUCK1 - always on regulator */
|
/* Get BUCK1 - always on regulator */
|
||||||
platname = regulator_names[BUCK1][PLATNAME];
|
platname = regulator_names[BUCK1][PLATNAME];
|
||||||
ut_asserteq(-EALREADY, regulator_autoset_by_name(platname, &dev_autoset));
|
ut_asserteq(-EALREADY,
|
||||||
|
regulator_autoset_by_name(platname, &dev_autoset));
|
||||||
ut_assertok(regulator_get_by_platname(platname, &dev));
|
ut_assertok(regulator_get_by_platname(platname, &dev));
|
||||||
|
|
||||||
/* Try disabling always-on regulator */
|
/* Try disabling always-on regulator */
|
||||||
@@ -288,7 +289,8 @@ static int dm_test_power_regulator_autoset(struct unit_test_state *uts)
|
|||||||
* Expected output state: uV=1200000; uA=200000; output enabled
|
* Expected output state: uV=1200000; uA=200000; output enabled
|
||||||
*/
|
*/
|
||||||
platname = regulator_names[BUCK1][PLATNAME];
|
platname = regulator_names[BUCK1][PLATNAME];
|
||||||
ut_asserteq(-EALREADY, regulator_autoset_by_name(platname, &dev_autoset));
|
ut_asserteq(-EALREADY,
|
||||||
|
regulator_autoset_by_name(platname, &dev_autoset));
|
||||||
|
|
||||||
/* Check, that the returned device is proper */
|
/* Check, that the returned device is proper */
|
||||||
ut_assertok(regulator_get_by_platname(platname, &dev));
|
ut_assertok(regulator_get_by_platname(platname, &dev));
|
||||||
|
|||||||
Reference in New Issue
Block a user