[arm64] Enable pstore, efi-pstore, etc. (Closes: #773309)

Enable PSTORE as built-in and EFI_VARS_PSTORE as module.

Auto-load efivars and efi-pstore:
- Replace features/all/efi-autoload-efivars.patch with the version
  that was committed upstream, which is not x86-specific.
- Add a separate patch to make efi-pstore auto-load, as this was not
  included in the upstream commit.

svn path=/dists/sid/linux/; revision=22227
This commit is contained in:
Ben Hutchings 2014-12-24 16:54:34 +00:00
parent cb5a9360cf
commit a6291ddc67
5 changed files with 56 additions and 27 deletions

2
debian/changelog vendored
View File

@ -6,6 +6,8 @@ linux (3.16.7-ckt2-2) UNRELEASED; urgency=medium
debian/bin/{abiupdate,buildcheck,gencontrol}.py (Closes: #773233)
* iov: Revert unwanted ABI 'fix' in 3.16.7-ckt2-1
* Ignore ABI changes in mm, of functions not really used by modules
* [arm64] Enable PSTORE as built-in and EFI_VARS_PSTORE as module;
ensure efivars and efi-pstore are loaded on EFI systems (Closes: #773309)
[ Ian Campbell ]
* [armhf] Enable support for support OMAP5432 uEVM by enabling:

View File

@ -126,3 +126,8 @@ CONFIG_USB_OHCI_HCD_PLATFORM=m
##
CONFIG_VIRTIO_MMIO=m
##
## file: fs/pstore/Kconfig
##
CONFIG_PSTORE=y

View File

@ -0,0 +1,16 @@
From: Ben Hutchings <ben@decadent.org.uk>
Subject: x86/efi: Autoload efi-pstore
Date: Wed, 24 Dec 2014 17:44:06 +0100
Bug-Debian: https://bugs.debian.org/703363
Bug-Debian: https://bugs.debian.org/773309
Forwarded: no
efi-pstore should be auto-loaded on EFI systems, same as efivars.
--- a/drivers/firmware/efi/efi-pstore.c
+++ b/drivers/firmware/efi/efi-pstore.c
@@ -400,3 +400,4 @@ module_exit(efivars_pstore_exit);
MODULE_DESCRIPTION("EFI variable backend for pstore");
MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:efivars");

View File

@ -1,32 +1,44 @@
From: Ben Hutchings <ben@decadent.org.uk>
Subject: x86/efi: Autoload efivars
Date: Mon, 18 Mar 2013 22:59:14 +0000
From: "Lee, Chun-Yi" <joeyli.kernel@gmail.com>
Date: Wed, 9 Jul 2014 18:39:29 +0800
Subject: efi: Autoload efivars
Bug-Debian: https://bugs.debian.org/703363
Forwarded: no
Origin: https://git.kernel.org/linus/28d54022e6ff9c16bf4dacb5f64a97443a38caa9
The original patch is from Ben Hutchings's contribution to debian
kernel. Got Ben's permission to remove the code of efi-pstore.c and
send to linux-efi:
https://github.com/BlankOn/linux-debian/blob/master/debian/patches/features/all/efi-autoload-efivars.patch
efivars is generally useful to have on EFI systems, and in some cases
it may be impossible to load it after a kernel upgrade in order to
complete a boot loader update. efi-pstore is similarly useful though
less critical. At the same time we don't want to waste memory on
non-EFI systems by making them built-in.
complete a boot loader update. At the same time we don't want to waste
memory on non-EFI systems by making them built-in.
Instead, give them module aliases as if they are platform drivers, and
register a corresponding platform device whenever EFI runtime services
are available. This should trigger udev to load them.
Signed-off-by: Lee, Chun-Yi <jlee@suse.com>
Cc: Ben Hutchings <ben@decadent.org.uk>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
---
--- a/arch/x86/platform/efi/efi.c
+++ b/arch/x86/platform/efi/efi.c
@@ -42,6 +42,7 @@
drivers/firmware/efi/efi.c | 15 +++++++++++++++
drivers/firmware/efi/efivars.c | 1 +
2 files changed, 16 insertions(+)
--- a/drivers/firmware/efi/efi.c
+++ b/drivers/firmware/efi/efi.c
@@ -23,6 +23,7 @@
#include <linux/of.h>
#include <linux/of_fdt.h>
#include <linux/io.h>
#include <linux/reboot.h>
#include <linux/bcd.h>
+#include <linux/platform_device.h>
#include <asm/setup.h>
#include <asm/efi.h>
@@ -783,6 +784,20 @@ void __init efi_late_init(void)
efi_bgrt_init();
struct efi __read_mostly efi = {
.mps = EFI_INVALID_TABLE_ADDR,
@@ -321,6 +322,20 @@ int __init efi_config_init(efi_config_ta
return 0;
}
+#ifdef CONFIG_EFI_VARS_MODULE
@ -43,12 +55,12 @@ are available. This should trigger udev to load them.
+device_initcall(efi_load_efivars);
+#endif
+
void __init efi_set_executable(efi_memory_desc_t *md, bool executable)
{
u64 addr, npages;
#ifdef CONFIG_EFI_PARAMS_FROM_FDT
#define UEFI_PARAM(name, prop, field) \
--- a/drivers/firmware/efi/efivars.c
+++ b/drivers/firmware/efi/efivars.c
@@ -77,6 +77,7 @@ MODULE_AUTHOR("Matt Domsch <Matt_Domsch@
@@ -78,6 +78,7 @@ MODULE_AUTHOR("Matt Domsch <Matt_Domsch@
MODULE_DESCRIPTION("sysfs interface to EFI Variables");
MODULE_LICENSE("GPL");
MODULE_VERSION(EFIVARS_VERSION);
@ -56,10 +68,3 @@ are available. This should trigger udev to load them.
LIST_HEAD(efivar_sysfs_list);
EXPORT_SYMBOL_GPL(efivar_sysfs_list);
--- a/drivers/firmware/efi/efi-pstore.c
+++ b/drivers/firmware/efi/efi-pstore.c
@@ -250,3 +250,4 @@ module_exit(efivars_pstore_exit);
MODULE_DESCRIPTION("EFI variable backend for pstore");
MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:efivars");

View File

@ -176,6 +176,7 @@ features/all/kdbus/powerpc-Wire-up-sys_seccomp-sys_getrandom-and-sys_me.patch
# Miscellaneous features
features/all/efi-autoload-efivars.patch
features/all/efi-autoload-efi-pstore.patch
features/all/virtio-scsi-Implement-change_queue_depth-for-virtscs.patch
debian/revert-staging-sm7xxfb-remove-driver.patch
features/all/sfc-Adding-PCI-ID-for-Solarflare-7000-series-40G-net.patch