[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) debian/bin/{abiupdate,buildcheck,gencontrol}.py (Closes: #773233)
* iov: Revert unwanted ABI 'fix' in 3.16.7-ckt2-1 * iov: Revert unwanted ABI 'fix' in 3.16.7-ckt2-1
* Ignore ABI changes in mm, of functions not really used by modules * 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 ] [ Ian Campbell ]
* [armhf] Enable support for support OMAP5432 uEVM by enabling: * [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 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> From: "Lee, Chun-Yi" <joeyli.kernel@gmail.com>
Subject: x86/efi: Autoload efivars Date: Wed, 9 Jul 2014 18:39:29 +0800
Date: Mon, 18 Mar 2013 22:59:14 +0000 Subject: efi: Autoload efivars
Bug-Debian: https://bugs.debian.org/703363 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 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 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 complete a boot loader update. At the same time we don't want to waste
less critical. At the same time we don't want to waste memory on memory on non-EFI systems by making them built-in.
non-EFI systems by making them built-in.
Instead, give them module aliases as if they are platform drivers, and Instead, give them module aliases as if they are platform drivers, and
register a corresponding platform device whenever EFI runtime services register a corresponding platform device whenever EFI runtime services
are available. This should trigger udev to load them. 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 drivers/firmware/efi/efi.c | 15 +++++++++++++++
+++ b/arch/x86/platform/efi/efi.c drivers/firmware/efi/efivars.c | 1 +
@@ -42,6 +42,7 @@ 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/io.h>
#include <linux/reboot.h>
#include <linux/bcd.h>
+#include <linux/platform_device.h> +#include <linux/platform_device.h>
#include <asm/setup.h> struct efi __read_mostly efi = {
#include <asm/efi.h> .mps = EFI_INVALID_TABLE_ADDR,
@@ -783,6 +784,20 @@ void __init efi_late_init(void) @@ -321,6 +322,20 @@ int __init efi_config_init(efi_config_ta
efi_bgrt_init(); return 0;
} }
+#ifdef CONFIG_EFI_VARS_MODULE +#ifdef CONFIG_EFI_VARS_MODULE
@ -43,12 +55,12 @@ are available. This should trigger udev to load them.
+device_initcall(efi_load_efivars); +device_initcall(efi_load_efivars);
+#endif +#endif
+ +
void __init efi_set_executable(efi_memory_desc_t *md, bool executable) #ifdef CONFIG_EFI_PARAMS_FROM_FDT
{
u64 addr, npages; #define UEFI_PARAM(name, prop, field) \
--- a/drivers/firmware/efi/efivars.c --- a/drivers/firmware/efi/efivars.c
+++ b/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_DESCRIPTION("sysfs interface to EFI Variables");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_VERSION(EFIVARS_VERSION); MODULE_VERSION(EFIVARS_VERSION);
@ -56,10 +68,3 @@ are available. This should trigger udev to load them.
LIST_HEAD(efivar_sysfs_list); LIST_HEAD(efivar_sysfs_list);
EXPORT_SYMBOL_GPL(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 # Miscellaneous features
features/all/efi-autoload-efivars.patch features/all/efi-autoload-efivars.patch
features/all/efi-autoload-efi-pstore.patch
features/all/virtio-scsi-Implement-change_queue_depth-for-virtscs.patch features/all/virtio-scsi-Implement-change_queue_depth-for-virtscs.patch
debian/revert-staging-sm7xxfb-remove-driver.patch debian/revert-staging-sm7xxfb-remove-driver.patch
features/all/sfc-Adding-PCI-ID-for-Solarflare-7000-series-40G-net.patch features/all/sfc-Adding-PCI-ID-for-Solarflare-7000-series-40G-net.patch