Page MenuHomeFreeBSD

D13993.id38554.diff
No OneTemporary

D13993.id38554.diff

Index: stand/efi/fdt/efi_fdt.c
===================================================================
--- stand/efi/fdt/efi_fdt.c
+++ stand/efi/fdt/efi_fdt.c
@@ -53,12 +53,7 @@
return (1);
printf("Using DTB provided by EFI at %p.\n", hdr);
- s = getenv("fdt_overlays");
- if (s != NULL && *s != '\0') {
- printf("Loading DTB overlays: '%s'\n", s);
- fdt_load_dtb_overlays(s);
- }
-
+ fdt_load_dtb_overlays(NULL);
return (0);
}
Index: stand/fdt/fdt_loader_cmd.c
===================================================================
--- stand/fdt/fdt_loader_cmd.c
+++ stand/fdt/fdt_loader_cmd.c
@@ -75,6 +75,7 @@
static int fdt_load_dtb(vm_offset_t va);
static int fdt_cmd_nyi(int argc, char *argv[]);
+static int fdt_load_dtb_overlays_string(const char * filenames);
static int fdt_cmd_addr(int argc, char *argv[]);
static int fdt_cmd_mkprop(int argc, char *argv[]);
@@ -310,14 +311,14 @@
return (0);
}
-int
-fdt_load_dtb_overlays(const char * filenames)
+static int
+fdt_load_dtb_overlays_string(const char * filenames)
{
char *names;
char *name;
char *comaptr;
- debugf("fdt_load_dtb_overlay(%s)\n", filenames);
+ debugf("fdt_load_dtb_overlays_string(%s)\n", filenames);
names = strdup(filenames);
if (names == NULL)
@@ -794,6 +795,25 @@
}
}
+void
+fdt_load_dtb_overlays(const char *extras)
+{
+ const char *s;
+
+ /* Any extra overlays supplied by pre-loader environment */
+ if (extras != NULL && *extras != '\0') {
+ printf("Loading DTB overlays: '%s'\n", extras);
+ fdt_load_dtb_overlays_string(extras);
+ }
+
+ /* Any overlays supplied by loader environment */
+ s = getenv("fdt_overlays");
+ if (s != NULL && *s != '\0') {
+ printf("Loading DTB overlays: '%s'\n", s);
+ fdt_load_dtb_overlays_string(s);
+ }
+}
+
/*
* Locate the blob, fix it up and return its location.
*/
Index: stand/fdt/fdt_platform.h
===================================================================
--- stand/fdt/fdt_platform.h
+++ stand/fdt/fdt_platform.h
@@ -46,7 +46,7 @@
void fdt_apply_overlays(void);
int fdt_load_dtb_addr(struct fdt_header *);
int fdt_load_dtb_file(const char *);
-int fdt_load_dtb_overlays(const char *);
+void fdt_load_dtb_overlays(const char *);
int fdt_setup_fdtp(void);
/* The platform library needs to implement these functions */
Index: stand/uboot/fdt/uboot_fdt.c
===================================================================
--- stand/uboot/fdt/uboot_fdt.c
+++ stand/uboot/fdt/uboot_fdt.c
@@ -89,16 +89,8 @@
}
exit:
- if (rv == 0) {
- s = getenv("fdt_overlays");
- if (s == NULL)
- s = ub_env_get("fdt_overlays");
- if (s != NULL && *s != '\0') {
- printf("Loading DTB overlays: '%s'\n", s);
- fdt_load_dtb_overlays(s);
- }
- }
-
+ if (rv == 0)
+ fdt_load_dtb_overlays(ub_env_get("fdt_overlays"));
return (rv);
}

File Metadata

Mime Type
text/plain
Expires
Wed, Jun 24, 6:08 PM (8 h, 35 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34290700
Default Alt Text
D13993.id38554.diff (2 KB)

Event Timeline