aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/firmware/efi/efi.c15
-rw-r--r--drivers/firmware/efi/efivars.c1
2 files changed, 16 insertions, 0 deletions
diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
index ac88ec05eb70..36ffa1747e84 100644
--- a/drivers/firmware/efi/efi.c
+++ b/drivers/firmware/efi/efi.c
@@ -23,6 +23,7 @@
23#include <linux/of.h> 23#include <linux/of.h>
24#include <linux/of_fdt.h> 24#include <linux/of_fdt.h>
25#include <linux/io.h> 25#include <linux/io.h>
26#include <linux/platform_device.h>
26 27
27struct efi __read_mostly efi = { 28struct efi __read_mostly efi = {
28 .mps = EFI_INVALID_TABLE_ADDR, 29 .mps = EFI_INVALID_TABLE_ADDR,
@@ -324,6 +325,20 @@ int __init efi_config_init(efi_config_table_type_t *arch_tables)
324 return 0; 325 return 0;
325} 326}
326 327
328#ifdef CONFIG_EFI_VARS_MODULE
329static int __init efi_load_efivars(void)
330{
331 struct platform_device *pdev;
332
333 if (!efi_enabled(EFI_RUNTIME_SERVICES))
334 return 0;
335
336 pdev = platform_device_register_simple("efivars", 0, NULL, 0);
337 return IS_ERR(pdev) ? PTR_ERR(pdev) : 0;
338}
339device_initcall(efi_load_efivars);
340#endif
341
327#ifdef CONFIG_EFI_PARAMS_FROM_FDT 342#ifdef CONFIG_EFI_PARAMS_FROM_FDT
328 343
329#define UEFI_PARAM(name, prop, field) \ 344#define UEFI_PARAM(name, prop, field) \
diff --git a/drivers/firmware/efi/efivars.c b/drivers/firmware/efi/efivars.c
index 463c56545ae8..f256ecd8a176 100644
--- a/drivers/firmware/efi/efivars.c
+++ b/drivers/firmware/efi/efivars.c
@@ -78,6 +78,7 @@ MODULE_AUTHOR("Matt Domsch <Matt_Domsch@Dell.com>");
78MODULE_DESCRIPTION("sysfs interface to EFI Variables"); 78MODULE_DESCRIPTION("sysfs interface to EFI Variables");
79MODULE_LICENSE("GPL"); 79MODULE_LICENSE("GPL");
80MODULE_VERSION(EFIVARS_VERSION); 80MODULE_VERSION(EFIVARS_VERSION);
81MODULE_ALIAS("platform:efivars");
81 82
82LIST_HEAD(efivar_sysfs_list); 83LIST_HEAD(efivar_sysfs_list);
83EXPORT_SYMBOL_GPL(efivar_sysfs_list); 84EXPORT_SYMBOL_GPL(efivar_sysfs_list);