fdtdec: encapsulate dtb_dt_embedded() within
Patch keeps the access to dtb_dt_embedded() within fdtdec API,
by means of new API function introduction. This new function is a
common place for updating appropriate global_data fields for
OF_EMBED case.
Also, the consequence of the patch is movement of '___dtb_dt_*begin'
symbols' declaration from header file, because nobody used symbols
outside the lib/fdtdec.c.
Signed-off-by: Evgeny Bachinin <EABachinin@salutedevices.com>
Suggested-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
(cherry picked from commit 623f5cf517)
This commit is contained in:
committed by
Simon Glass
parent
e094e2095e
commit
94e9d64ffc
26
lib/fdtdec.c
26
lib/fdtdec.c
@@ -94,6 +94,23 @@ static const char *const fdt_src_name[] = {
|
||||
[FDTSRC_PASSAGE] = "passage",
|
||||
};
|
||||
|
||||
extern u8 __dtb_dt_begin[]; /* embedded device tree blob */
|
||||
extern u8 __dtb_dt_spl_begin[]; /* embedded device tree blob for SPL/TPL */
|
||||
|
||||
/* Get a pointer to the embedded devicetree, if there is one, else NULL */
|
||||
static u8 *dtb_dt_embedded(void)
|
||||
{
|
||||
#ifdef CONFIG_OF_EMBED
|
||||
# ifdef CONFIG_XPL_BUILD
|
||||
return __dtb_dt_spl_begin;
|
||||
# else
|
||||
return __dtb_dt_begin;
|
||||
# endif
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
const char *fdtdec_get_srcname(void)
|
||||
{
|
||||
return fdt_src_name[gd->fdt_src];
|
||||
@@ -1670,6 +1687,12 @@ static void setup_multi_dtb_fit(void)
|
||||
}
|
||||
}
|
||||
|
||||
void fdtdec_setup_embed(void)
|
||||
{
|
||||
gd->fdt_blob = dtb_dt_embedded();
|
||||
gd->fdt_src = FDTSRC_EMBED;
|
||||
}
|
||||
|
||||
int fdtdec_setup(void)
|
||||
{
|
||||
int ret;
|
||||
@@ -1690,8 +1713,7 @@ int fdtdec_setup(void)
|
||||
gd->fdt_blob = fdt_find_separate();
|
||||
gd->fdt_src = FDTSRC_SEPARATE;
|
||||
} else { /* embed dtb in ELF file for testing / development */
|
||||
gd->fdt_blob = dtb_dt_embedded();
|
||||
gd->fdt_src = FDTSRC_EMBED;
|
||||
fdtdec_setup_embed();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user