diff options
Diffstat (limited to 'drivers/firmware/efi')
-rw-r--r-- | drivers/firmware/efi/efi.c | 22 | ||||
-rw-r--r-- | drivers/firmware/efi/fdt.c | 10 |
2 files changed, 15 insertions, 17 deletions
diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c index eff1a2f22f09..dc79346689e6 100644 --- a/drivers/firmware/efi/efi.c +++ b/drivers/firmware/efi/efi.c | |||
@@ -346,6 +346,7 @@ static __initdata struct { | |||
346 | 346 | ||
347 | struct param_info { | 347 | struct param_info { |
348 | int verbose; | 348 | int verbose; |
349 | int found; | ||
349 | void *params; | 350 | void *params; |
350 | }; | 351 | }; |
351 | 352 | ||
@@ -362,16 +363,12 @@ static int __init fdt_find_uefi_params(unsigned long node, const char *uname, | |||
362 | (strcmp(uname, "chosen") != 0 && strcmp(uname, "chosen@0") != 0)) | 363 | (strcmp(uname, "chosen") != 0 && strcmp(uname, "chosen@0") != 0)) |
363 | return 0; | 364 | return 0; |
364 | 365 | ||
365 | pr_info("Getting parameters from FDT:\n"); | ||
366 | |||
367 | for (i = 0; i < ARRAY_SIZE(dt_params); i++) { | 366 | for (i = 0; i < ARRAY_SIZE(dt_params); i++) { |
368 | prop = of_get_flat_dt_prop(node, dt_params[i].propname, &len); | 367 | prop = of_get_flat_dt_prop(node, dt_params[i].propname, &len); |
369 | if (!prop) { | 368 | if (!prop) |
370 | pr_err("Can't find %s in device tree!\n", | ||
371 | dt_params[i].name); | ||
372 | return 0; | 369 | return 0; |
373 | } | ||
374 | dest = info->params + dt_params[i].offset; | 370 | dest = info->params + dt_params[i].offset; |
371 | info->found++; | ||
375 | 372 | ||
376 | val = of_read_number(prop, len / sizeof(u32)); | 373 | val = of_read_number(prop, len / sizeof(u32)); |
377 | 374 | ||
@@ -390,10 +387,21 @@ static int __init fdt_find_uefi_params(unsigned long node, const char *uname, | |||
390 | int __init efi_get_fdt_params(struct efi_fdt_params *params, int verbose) | 387 | int __init efi_get_fdt_params(struct efi_fdt_params *params, int verbose) |
391 | { | 388 | { |
392 | struct param_info info; | 389 | struct param_info info; |
390 | int ret; | ||
391 | |||
392 | pr_info("Getting EFI parameters from FDT:\n"); | ||
393 | 393 | ||
394 | info.verbose = verbose; | 394 | info.verbose = verbose; |
395 | info.found = 0; | ||
395 | info.params = params; | 396 | info.params = params; |
396 | 397 | ||
397 | return of_scan_flat_dt(fdt_find_uefi_params, &info); | 398 | ret = of_scan_flat_dt(fdt_find_uefi_params, &info); |
399 | if (!info.found) | ||
400 | pr_info("UEFI not found.\n"); | ||
401 | else if (!ret) | ||
402 | pr_err("Can't find '%s' in device tree!\n", | ||
403 | dt_params[info.found].name); | ||
404 | |||
405 | return ret; | ||
398 | } | 406 | } |
399 | #endif /* CONFIG_EFI_PARAMS_FROM_FDT */ | 407 | #endif /* CONFIG_EFI_PARAMS_FROM_FDT */ |
diff --git a/drivers/firmware/efi/fdt.c b/drivers/firmware/efi/fdt.c index 82d774161cc9..507a3df46a5d 100644 --- a/drivers/firmware/efi/fdt.c +++ b/drivers/firmware/efi/fdt.c | |||
@@ -23,16 +23,6 @@ static efi_status_t update_fdt(efi_system_table_t *sys_table, void *orig_fdt, | |||
23 | u32 fdt_val32; | 23 | u32 fdt_val32; |
24 | u64 fdt_val64; | 24 | u64 fdt_val64; |
25 | 25 | ||
26 | /* | ||
27 | * Copy definition of linux_banner here. Since this code is | ||
28 | * built as part of the decompressor for ARM v7, pulling | ||
29 | * in version.c where linux_banner is defined for the | ||
30 | * kernel brings other kernel dependencies with it. | ||
31 | */ | ||
32 | const char linux_banner[] = | ||
33 | "Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@" | ||
34 | LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n"; | ||
35 | |||
36 | /* Do some checks on provided FDT, if it exists*/ | 26 | /* Do some checks on provided FDT, if it exists*/ |
37 | if (orig_fdt) { | 27 | if (orig_fdt) { |
38 | if (fdt_check_header(orig_fdt)) { | 28 | if (fdt_check_header(orig_fdt)) { |