From c33dae81dc559b3ae2feb151fa3fffa44a0ccb90 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Mon, 29 Sep 2014 09:54:15 -0400 Subject: [PATCH 01/67] Linux v3.17-rc7 --- ACPI-Limit-access-to-custom_method.patch | 2 +- ARM-tegra-usb-no-reset.patch | 2 +- Add-EFI-signature-data-types.patch | 2 +- ...signature-blob-parser-and-key-loader.patch | 2 +- ...tomatically-enforce-module-signature.patch | 10 ++-- Add-secure_modules-call.patch | 2 +- ...q-option-to-disable-secure-boot-mode.patch | 2 +- ...Add-support-for-the-Cintiq-Companion.patch | 2 +- KEYS-Add-a-system-blacklist-keyring.patch | 2 +- ...PERM-for-a-key-type-name-beginning-w.patch | 2 +- ...t-certificates-from-UEFI-Secure-Boot.patch | 2 +- ...-Support-not-importing-certs-from-db.patch | 2 +- ...R-access-when-module-security-is-ena.patch | 2 +- ...-and-dev-kmem-when-module-loading-is.patch | 2 +- ...PI-video-change-acpi-video-brightnes.patch | 4 +- ..._rsdp-kernel-parameter-when-module-l.patch | 2 +- ...-new-models-to-the-use_native_backli.patch | 4 +- ...se-native-backlight-quirk-for-the-Th.patch | 4 +- ...se_native_backlight-quirk-for-HP-Pro.patch | 4 +- ...one-common-add-uart2_pins-uart4_pins.patch | 2 +- ...335x-bone-common-enable-and-use-i2c2.patch | 2 +- ...one-common-setup-default-pinmux-http.patch | 2 +- ...am335x-boneblack-add-cpu0-opp-points.patch | 2 +- ...am335x-boneblack-lcdc-add-panel-info.patch | 2 +- arm-i.MX6-Utilite-device-dtb.patch | 2 +- ...t-debugfs-interface-when-module-load.patch | 2 +- ath9k-rx-dma-stop-check.patch | 2 +- crash-driver.patch | 2 +- criu-no-expert.patch | 2 +- die-floppy-die.patch | 2 +- disable-i8042-check-on-apple-mac.patch | 2 +- disable-libdw-unwind-on-non-x86.patch | 2 +- drm-i915-hush-check-crtc-state.patch | 2 +- drm-vmwgfx-Fix-drm.h-include.patch | 2 +- efi-Add-EFI_SECURE_BOOT-bit.patch | 2 +- ...ure-boot-if-shim-is-in-insecure-mode.patch | 8 +-- ...ECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch | 2 +- ...able-in-a-signed-modules-environment.patch | 2 +- input-kill-stupid-messages.patch | 2 +- input-silence-i8042-noise.patch | 2 +- kbuild-AFTER_LINK.patch | 2 +- kernel.spec | 11 ++--- ...-runtime-if-the-kernel-enforces-modu.patch | 2 +- ...-CPUMASK_OFFSTACK-usable-without-deb.patch | 2 +- lis3-improve-handling-of-null-rate.patch | 2 +- no-pcspkr-modalias.patch | 2 +- perf-install-trace-event-plugins.patch | 2 +- ...trl-single-must-be-initialized-early.patch | 2 +- ...mouse_matches_pnp_id-helper-function.patch | 2 +- ...ort-for-detecting-FocalTech-PS-2-tou.patch | 2 +- ...dd-broken-acpi-video-quirk-for-NC210.patch | 2 +- ...validate_disk-prevent-NULL-ptr-deref.patch | 2 +- silence-fbcon-logo.patch | 2 +- sources | 3 +- ...Disable-watchdog-on-virtual-machines.patch | 2 +- ...-port-access-when-module-security-is.patch | 2 +- ...-access-when-module-loading-is-restr.patch | 2 +- ...-misleading-efi_printk-error-message.patch | 49 ------------------- 58 files changed, 72 insertions(+), 123 deletions(-) delete mode 100644 x86-efi-Delete-misleading-efi_printk-error-message.patch diff --git a/ACPI-Limit-access-to-custom_method.patch b/ACPI-Limit-access-to-custom_method.patch index 9fe5fc641..a31d465ad 100644 --- a/ACPI-Limit-access-to-custom_method.patch +++ b/ACPI-Limit-access-to-custom_method.patch @@ -1,4 +1,4 @@ -From b191661e0e244a142b1a4dd89ef493aacfc0130b Mon Sep 17 00:00:00 2001 +From a25ba80a6a66924d20e859a96fb69bdad4a91030 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Mar 2012 08:39:37 -0500 Subject: [PATCH] ACPI: Limit access to custom_method diff --git a/ARM-tegra-usb-no-reset.patch b/ARM-tegra-usb-no-reset.patch index 1e54636d5..d4542d2b3 100644 --- a/ARM-tegra-usb-no-reset.patch +++ b/ARM-tegra-usb-no-reset.patch @@ -1,4 +1,4 @@ -From 9d8673e4006ce1aaddfc326e46dbaf2010eda926 Mon Sep 17 00:00:00 2001 +From 39ee0406157ea6afdd9860d48547f1901c010307 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Thu, 3 May 2012 20:27:11 +0100 Subject: [PATCH] ARM: tegra: usb no reset diff --git a/Add-EFI-signature-data-types.patch b/Add-EFI-signature-data-types.patch index 59ccda5c5..960237d07 100644 --- a/Add-EFI-signature-data-types.patch +++ b/Add-EFI-signature-data-types.patch @@ -1,4 +1,4 @@ -From 3b0e4981b752ac9177aab3bb1c387b1d33fe7f25 Mon Sep 17 00:00:00 2001 +From a1a2e1306158d3050e71e5e13323a0eb72fc5521 Mon Sep 17 00:00:00 2001 From: Dave Howells Date: Tue, 23 Oct 2012 09:30:54 -0400 Subject: [PATCH] Add EFI signature data types diff --git a/Add-an-EFI-signature-blob-parser-and-key-loader.patch b/Add-an-EFI-signature-blob-parser-and-key-loader.patch index bcac67611..f659faca1 100644 --- a/Add-an-EFI-signature-blob-parser-and-key-loader.patch +++ b/Add-an-EFI-signature-blob-parser-and-key-loader.patch @@ -1,4 +1,4 @@ -From d80c67904150376c95efef5e89fd3c71a9a6b372 Mon Sep 17 00:00:00 2001 +From 3709cc1f011b87baa31d6d546c96f296fbbd670c Mon Sep 17 00:00:00 2001 From: Dave Howells Date: Tue, 23 Oct 2012 09:36:28 -0400 Subject: [PATCH] Add an EFI signature blob parser and key loader. diff --git a/Add-option-to-automatically-enforce-module-signature.patch b/Add-option-to-automatically-enforce-module-signature.patch index b8cd8031e..4f33f8770 100644 --- a/Add-option-to-automatically-enforce-module-signature.patch +++ b/Add-option-to-automatically-enforce-module-signature.patch @@ -1,4 +1,4 @@ -From c33f1163a808514d13b7f5c21dfe9776ff744ef4 Mon Sep 17 00:00:00 2001 +From 15d77b7f33d75a7d43bba6595b40a2a3101e2aca Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Aug 2013 18:36:30 -0400 Subject: [PATCH] Add option to automatically enforce module signatures when in @@ -55,7 +55,7 @@ index 36327438caf0..61542c282e70 100644 def_bool y prompt "Enable seccomp to safely compute untrusted bytecode" diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c -index dca9842d8f91..baab83bcec44 100644 +index de8eebd6f67c..975d11bfaf5b 100644 --- a/arch/x86/boot/compressed/eboot.c +++ b/arch/x86/boot/compressed/eboot.c @@ -12,6 +12,7 @@ @@ -66,7 +66,7 @@ index dca9842d8f91..baab83bcec44 100644 #undef memcpy /* Use memcpy from misc.c */ -@@ -803,6 +804,37 @@ out: +@@ -814,6 +815,37 @@ out: return status; } @@ -104,7 +104,7 @@ index dca9842d8f91..baab83bcec44 100644 /* * See if we have Graphics Output Protocol */ -@@ -1378,6 +1410,10 @@ struct boot_params *efi_main(struct efi_config *c, +@@ -1389,6 +1421,10 @@ struct boot_params *efi_main(struct efi_config *c, else setup_boot_services32(efi_early); @@ -114,7 +114,7 @@ index dca9842d8f91..baab83bcec44 100644 + setup_graphics(boot_params); - status = setup_efi_pci(boot_params); + setup_efi_pci(boot_params); diff --git a/arch/x86/include/uapi/asm/bootparam.h b/arch/x86/include/uapi/asm/bootparam.h index 225b0988043a..90dbfb73e11f 100644 --- a/arch/x86/include/uapi/asm/bootparam.h diff --git a/Add-secure_modules-call.patch b/Add-secure_modules-call.patch index e4a1e9949..8775eed52 100644 --- a/Add-secure_modules-call.patch +++ b/Add-secure_modules-call.patch @@ -1,4 +1,4 @@ -From d62226e7a2a7361b09154ee92a21cc478a160ca4 Mon Sep 17 00:00:00 2001 +From e139620c35ecd430b9406ed5d5400d3c33cfac74 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Aug 2013 17:58:15 -0400 Subject: [PATCH] Add secure_modules() call diff --git a/Add-sysrq-option-to-disable-secure-boot-mode.patch b/Add-sysrq-option-to-disable-secure-boot-mode.patch index 5dd86ceb8..a1aafedfe 100644 --- a/Add-sysrq-option-to-disable-secure-boot-mode.patch +++ b/Add-sysrq-option-to-disable-secure-boot-mode.patch @@ -1,4 +1,4 @@ -From 2c6e707e281b5bd3277b10cdfb9fdde74df97561 Mon Sep 17 00:00:00 2001 +From 1d500fb32fc39992afd385057c544b09843fd83b Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Fri, 30 Aug 2013 09:28:51 -0400 Subject: [PATCH] Add sysrq option to disable secure boot mode diff --git a/HID-wacom-Add-support-for-the-Cintiq-Companion.patch b/HID-wacom-Add-support-for-the-Cintiq-Companion.patch index 3af0d3467..ed64a7f1f 100644 --- a/HID-wacom-Add-support-for-the-Cintiq-Companion.patch +++ b/HID-wacom-Add-support-for-the-Cintiq-Companion.patch @@ -1,4 +1,4 @@ -From 46c887fcfa556e158406dd41858509d4250b1b97 Mon Sep 17 00:00:00 2001 +From ed2e9011145b80e5261cdf2659eacb9ca0197ecf Mon Sep 17 00:00:00 2001 From: Benjamin Tissoires Date: Wed, 3 Sep 2014 15:43:25 -0400 Subject: [PATCH] HID: wacom: Add support for the Cintiq Companion diff --git a/KEYS-Add-a-system-blacklist-keyring.patch b/KEYS-Add-a-system-blacklist-keyring.patch index 79bf4d6e1..ee5db23bc 100644 --- a/KEYS-Add-a-system-blacklist-keyring.patch +++ b/KEYS-Add-a-system-blacklist-keyring.patch @@ -1,4 +1,4 @@ -From f6576d5b1a6527cc51e99ad52ed4ae8abb463e8c Mon Sep 17 00:00:00 2001 +From 22a16fc75804c9696ac2382e7d5b4511e00cca8d Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 26 Oct 2012 12:36:24 -0400 Subject: [PATCH] KEYS: Add a system blacklist keyring diff --git a/KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch b/KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch index b76622313..a9e2aba69 100644 --- a/KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch +++ b/KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch @@ -1,4 +1,4 @@ -From 97ae62050594a612dc6c590de7e550528811eb72 Mon Sep 17 00:00:00 2001 +From b139c7a00d0d47e4f3d54664e00c71090da3544b Mon Sep 17 00:00:00 2001 From: David Howells Date: Tue, 16 Sep 2014 17:29:03 +0100 Subject: [PATCH] KEYS: Reinstate EPERM for a key type name beginning with a diff --git a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch index 5ab81a686..32bce4836 100644 --- a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch +++ b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch @@ -1,4 +1,4 @@ -From 79428d5399e61484bbe6210cc6a18160120da05f Mon Sep 17 00:00:00 2001 +From 0c1f61a1f442f2f9749dfaad4e6e475da387c1fe Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 26 Oct 2012 12:42:16 -0400 Subject: [PATCH] MODSIGN: Import certificates from UEFI Secure Boot diff --git a/MODSIGN-Support-not-importing-certs-from-db.patch b/MODSIGN-Support-not-importing-certs-from-db.patch index eeb9195f4..df09a11a2 100644 --- a/MODSIGN-Support-not-importing-certs-from-db.patch +++ b/MODSIGN-Support-not-importing-certs-from-db.patch @@ -1,4 +1,4 @@ -From 1e51a6528c217970894434458026f1b854f0ba6b Mon Sep 17 00:00:00 2001 +From c9adc1b950f06aded047d6b64d3124c71dd90ad1 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Thu, 3 Oct 2013 10:14:23 -0400 Subject: [PATCH] MODSIGN: Support not importing certs from db diff --git a/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch b/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch index 2762305bb..3d1bd2dc8 100644 --- a/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch +++ b/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch @@ -1,4 +1,4 @@ -From d0b2c36be73f821bb0cca096430d3138ffc68ac4 Mon Sep 17 00:00:00 2001 +From 98cfc0b892bc7c4ae18f93f60c579e520a03bc40 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Thu, 8 Mar 2012 10:10:38 -0500 Subject: [PATCH] PCI: Lock down BAR access when module security is enabled diff --git a/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch b/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch index 9f4733b26..e5c51d885 100644 --- a/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch +++ b/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch @@ -1,4 +1,4 @@ -From b1ddd8b3e3622d35ce5d3052278b85200538e136 Mon Sep 17 00:00:00 2001 +From e1ccc3ad521b0707b29dbf9c6030e53c77812480 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Mar 2012 09:28:15 -0500 Subject: [PATCH] Restrict /dev/mem and /dev/kmem when module loading is diff --git a/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch b/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch index 10b35a5a3..dcebf3f11 100644 --- a/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch +++ b/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch @@ -1,4 +1,4 @@ -From 9f977256a2a447b1ad2a3df2f54d7c9dc3ad892f Mon Sep 17 00:00:00 2001 +From d304b0c8f877afb07724853720872e3cf6c0b655 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Mon, 28 Jul 2014 12:59:48 -0400 Subject: [PATCH] Revert "Revert "ACPI / video: change acpi-video @@ -29,7 +29,7 @@ index 10d51c2f10d7..5b6ebe8b519e 100644 virtio_mmio.device= [VMMIO] Memory mapped virtio (platform) device. diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c -index fcbda105616e..2e0236af78b9 100644 +index 8e7e18567ae6..a3d293806f96 100644 --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c @@ -68,7 +68,7 @@ MODULE_AUTHOR("Bruno Ducrot"); diff --git a/acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch b/acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch index 2a73d2f11..29d8910f3 100644 --- a/acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch +++ b/acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch @@ -1,4 +1,4 @@ -From 66632f74336e8698f99a8e5b58bf9965b4582e6c Mon Sep 17 00:00:00 2001 +From 614872de7ece77faf2f9defa28f7f577336afdbf Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Mon, 25 Jun 2012 19:57:30 -0400 Subject: [PATCH] acpi: Ignore acpi_rsdp kernel parameter when module loading diff --git a/acpi-video-Add-4-new-models-to-the-use_native_backli.patch b/acpi-video-Add-4-new-models-to-the-use_native_backli.patch index f8c5e7534..ef2323701 100644 --- a/acpi-video-Add-4-new-models-to-the-use_native_backli.patch +++ b/acpi-video-Add-4-new-models-to-the-use_native_backli.patch @@ -1,4 +1,4 @@ -From a3dc621f23cb499ac51b5194805cb05cdf8e3c53 Mon Sep 17 00:00:00 2001 +From 7e2e06199a92d1d81682f1a3de63c1bf26bb6b67 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 30 Apr 2014 15:24:19 +0200 Subject: [PATCH] acpi-video: Add 4 new models to the use_native_backlight dmi @@ -21,7 +21,7 @@ Signed-off-by: Hans de Goede 1 file changed, 32 insertions(+) diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c -index 2e0236af78b9..df1626d2ba10 100644 +index a3d293806f96..5c8ce8c699fc 100644 --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c @@ -556,6 +556,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = { diff --git a/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch b/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch index 0c44774a0..a7d1e31fe 100644 --- a/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch +++ b/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch @@ -1,4 +1,4 @@ -From 48bda121e75f2cadc828ee722dfd7fd1f6593fa8 Mon Sep 17 00:00:00 2001 +From 64cba3fb53724038ece9e9713f5f33b381b78006 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 2 Jun 2014 17:41:10 +0200 Subject: [PATCH] acpi-video: Add use native backlight quirk for the ThinkPad @@ -22,7 +22,7 @@ Signed-off-by: Hans de Goede 1 file changed, 8 insertions(+) diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c -index df1626d2ba10..caa4d8fc3458 100644 +index 5c8ce8c699fc..d8a6ecb0b2b2 100644 --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c @@ -469,6 +469,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = { diff --git a/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch b/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch index 35b982b73..f871e5b3a 100644 --- a/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch +++ b/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch @@ -1,4 +1,4 @@ -From d766862c6a4a47eb49abc235f97f181109da9331 Mon Sep 17 00:00:00 2001 +From 8d7568f0fcdd3f5387f45e0a31ba22901bf25659 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 2 Jun 2014 17:41:11 +0200 Subject: [PATCH] acpi-video: Add use_native_backlight quirk for HP ProBook @@ -18,7 +18,7 @@ Signed-off-by: Hans de Goede 1 file changed, 8 insertions(+) diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c -index caa4d8fc3458..7e86097f7c2b 100644 +index d8a6ecb0b2b2..8dbf009521c7 100644 --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c @@ -693,6 +693,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = { diff --git a/arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch b/arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch index 662368a77..6acf48764 100644 --- a/arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch +++ b/arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch @@ -1,4 +1,4 @@ -From dc868e6a60619c5b6cc2196946c1a1a223abb1c7 Mon Sep 17 00:00:00 2001 +From 2cb56e4d0df3c1f52146c727aeea2d33555ea790 Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Thu, 13 Mar 2014 14:18:52 -0500 Subject: [PATCH] arm: dts: am335x-bone-common: add diff --git a/arm-dts-am335x-bone-common-enable-and-use-i2c2.patch b/arm-dts-am335x-bone-common-enable-and-use-i2c2.patch index a58540043..9c0d46db8 100644 --- a/arm-dts-am335x-bone-common-enable-and-use-i2c2.patch +++ b/arm-dts-am335x-bone-common-enable-and-use-i2c2.patch @@ -1,4 +1,4 @@ -From a37eef827de2081fb2fcf6e21f4688c08ec1360c Mon Sep 17 00:00:00 2001 +From b2cf380ccc533947320d36df84962c56e37f9677 Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Tue, 31 Dec 2013 11:17:45 -0600 Subject: [PATCH] arm: dts: am335x-bone-common: enable and use i2c2 diff --git a/arm-dts-am335x-bone-common-setup-default-pinmux-http.patch b/arm-dts-am335x-bone-common-setup-default-pinmux-http.patch index 710d3b157..b58ff8526 100644 --- a/arm-dts-am335x-bone-common-setup-default-pinmux-http.patch +++ b/arm-dts-am335x-bone-common-setup-default-pinmux-http.patch @@ -1,4 +1,4 @@ -From 848886fbd67ec1b03e525ef1f2a3b93569e3a5b9 Mon Sep 17 00:00:00 2001 +From f7f61ca4cbd0c1a1d1ef16cb45e74aecedccccc3 Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Tue, 31 Dec 2013 14:18:00 -0600 Subject: [PATCH] arm: dts: am335x-bone-common: setup default pinmux diff --git a/arm-dts-am335x-boneblack-add-cpu0-opp-points.patch b/arm-dts-am335x-boneblack-add-cpu0-opp-points.patch index bc4478bab..51dd7173c 100644 --- a/arm-dts-am335x-boneblack-add-cpu0-opp-points.patch +++ b/arm-dts-am335x-boneblack-add-cpu0-opp-points.patch @@ -1,4 +1,4 @@ -From 52dc0a6952f67e505f4f5efb7d7ac91c8e46fda1 Mon Sep 17 00:00:00 2001 +From 1f733e5341092b263e08572892655527cacff5a6 Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Fri, 27 Dec 2013 13:14:19 -0600 Subject: [PATCH] arm: dts: am335x-boneblack: add cpu0 opp points diff --git a/arm-dts-am335x-boneblack-lcdc-add-panel-info.patch b/arm-dts-am335x-boneblack-lcdc-add-panel-info.patch index ab987696f..56a533e22 100644 --- a/arm-dts-am335x-boneblack-lcdc-add-panel-info.patch +++ b/arm-dts-am335x-boneblack-lcdc-add-panel-info.patch @@ -1,4 +1,4 @@ -From b282db6857d9d2d4f8dcbf7a71af0b3585b35b24 Mon Sep 17 00:00:00 2001 +From 469ed1e3edeed20452a9db06b2cd2b75767873b2 Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Fri, 27 Dec 2013 13:05:09 -0600 Subject: [PATCH] arm: dts: am335x-boneblack: lcdc add panel-info diff --git a/arm-i.MX6-Utilite-device-dtb.patch b/arm-i.MX6-Utilite-device-dtb.patch index 9323f3a8d..e098390e1 100644 --- a/arm-i.MX6-Utilite-device-dtb.patch +++ b/arm-i.MX6-Utilite-device-dtb.patch @@ -1,4 +1,4 @@ -From b9a005e810a18ae331a42649be21401a79c0668a Mon Sep 17 00:00:00 2001 +From c8ba0805d1065a0f7f2879651a82fb264852fa25 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Fri, 11 Jul 2014 00:10:56 +0100 Subject: [PATCH] arm: i.MX6 Utilite device dtb diff --git a/asus-wmi-Restrict-debugfs-interface-when-module-load.patch b/asus-wmi-Restrict-debugfs-interface-when-module-load.patch index 5cb36d975..28e22dd9a 100644 --- a/asus-wmi-Restrict-debugfs-interface-when-module-load.patch +++ b/asus-wmi-Restrict-debugfs-interface-when-module-load.patch @@ -1,4 +1,4 @@ -From 0a132f3763f9726eb91a65411a0f644dc92f4870 Mon Sep 17 00:00:00 2001 +From a9905a9b81127e65862220baadc32907b725fc6f Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Mar 2012 08:46:50 -0500 Subject: [PATCH] asus-wmi: Restrict debugfs interface when module loading is diff --git a/ath9k-rx-dma-stop-check.patch b/ath9k-rx-dma-stop-check.patch index 24ea638ef..41deb7541 100644 --- a/ath9k-rx-dma-stop-check.patch +++ b/ath9k-rx-dma-stop-check.patch @@ -1,4 +1,4 @@ -From 5169f81b865a1ead5fd703d83f51c4d449ceeb7b Mon Sep 17 00:00:00 2001 +From ea87c96a4a5e9ca4d905acc31159d605d8e9b6b3 Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Wed, 6 Feb 2013 09:57:47 -0500 Subject: [PATCH] ath9k: rx dma stop check diff --git a/crash-driver.patch b/crash-driver.patch index 624d930b1..e37a4a754 100644 --- a/crash-driver.patch +++ b/crash-driver.patch @@ -1,4 +1,4 @@ -From 5b90ba692da0671bf1e07d032f8ab21ccc5e11f8 Mon Sep 17 00:00:00 2001 +From f6109b8233c8d6bb52fa987899a023bb93f4d974 Mon Sep 17 00:00:00 2001 From: Dave Anderson Date: Tue, 26 Nov 2013 12:42:46 -0500 Subject: [PATCH] crash-driver diff --git a/criu-no-expert.patch b/criu-no-expert.patch index b82e280f4..1ee88c700 100644 --- a/criu-no-expert.patch +++ b/criu-no-expert.patch @@ -1,4 +1,4 @@ -From 1dce5d85f095caf419aad8ef67f694f42648b1db Mon Sep 17 00:00:00 2001 +From 456f21a39ee46370f515f08b4af98cbf76bdddb4 Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Wed, 30 Jan 2013 10:55:31 -0500 Subject: [PATCH] criu: no expert diff --git a/die-floppy-die.patch b/die-floppy-die.patch index 86ca5f107..275dc12c2 100644 --- a/die-floppy-die.patch +++ b/die-floppy-die.patch @@ -1,4 +1,4 @@ -From 1c9df8cf509586b08c4ce3c4c8116c5a04158782 Mon Sep 17 00:00:00 2001 +From 94f33f4609a76458a6cfff51ee607576e69e394b Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Tue, 30 Mar 2010 00:04:29 -0400 Subject: [PATCH] die-floppy-die diff --git a/disable-i8042-check-on-apple-mac.patch b/disable-i8042-check-on-apple-mac.patch index 223980eef..a8fc147fb 100644 --- a/disable-i8042-check-on-apple-mac.patch +++ b/disable-i8042-check-on-apple-mac.patch @@ -1,4 +1,4 @@ -From 71ffa0d821869928e2ccbdb11caef742734c7a4a Mon Sep 17 00:00:00 2001 +From 53202e7db72582d2553f7fdf19a8e39a358e7685 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Thu, 20 May 2010 10:30:31 -0400 Subject: [PATCH] disable i8042 check on apple mac diff --git a/disable-libdw-unwind-on-non-x86.patch b/disable-libdw-unwind-on-non-x86.patch index 4a8a8d1ff..1d83ed840 100644 --- a/disable-libdw-unwind-on-non-x86.patch +++ b/disable-libdw-unwind-on-non-x86.patch @@ -1,4 +1,4 @@ -From f525693a93fb068434d3950f64cea5a8a0a8446d Mon Sep 17 00:00:00 2001 +From 9d9b29c6c9d755a56be803f33116f588f454eedf Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Fri, 18 Apr 2014 06:58:29 -0400 Subject: [PATCH] disable libdw unwind on non-x86 diff --git a/drm-i915-hush-check-crtc-state.patch b/drm-i915-hush-check-crtc-state.patch index e6b2b5509..d0fc5da2e 100644 --- a/drm-i915-hush-check-crtc-state.patch +++ b/drm-i915-hush-check-crtc-state.patch @@ -1,4 +1,4 @@ -From d518c164ce6f66749f3d74e440ce63a595ac0b75 Mon Sep 17 00:00:00 2001 +From ba48b03eeb78d9b7df0809981d411f0029874910 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Wed, 13 Nov 2013 10:17:24 -0500 Subject: [PATCH] drm/i915: hush check crtc state diff --git a/drm-vmwgfx-Fix-drm.h-include.patch b/drm-vmwgfx-Fix-drm.h-include.patch index 73f361eb1..903df033c 100644 --- a/drm-vmwgfx-Fix-drm.h-include.patch +++ b/drm-vmwgfx-Fix-drm.h-include.patch @@ -1,4 +1,4 @@ -From e46ffb46e7f5d09e91b565c0b1d4dbadeccca532 Mon Sep 17 00:00:00 2001 +From ca1144afd41fbdca779943f43158192f27959aad Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 5 Sep 2014 13:19:59 -0400 Subject: [PATCH] drm/vmwgfx: Fix drm.h include diff --git a/efi-Add-EFI_SECURE_BOOT-bit.patch b/efi-Add-EFI_SECURE_BOOT-bit.patch index 33e05d837..9ddb0ad30 100644 --- a/efi-Add-EFI_SECURE_BOOT-bit.patch +++ b/efi-Add-EFI_SECURE_BOOT-bit.patch @@ -1,4 +1,4 @@ -From 305c2c42f34e4f635a6fb842de7aae5a5c17dbb9 Mon Sep 17 00:00:00 2001 +From 20c2732c1d6dcaebbcb31c74166bd443de6ca707 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Tue, 27 Aug 2013 13:33:03 -0400 Subject: [PATCH] efi: Add EFI_SECURE_BOOT bit diff --git a/efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch b/efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch index 80883dbc7..d72b3bc88 100644 --- a/efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch +++ b/efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch @@ -1,4 +1,4 @@ -From e377b5c796779bcfbdd776f3e8b984aa54e0e3e3 Mon Sep 17 00:00:00 2001 +From 87f4dde157596400b8b1c98a58b6fd28fa0e8f58 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Tue, 5 Feb 2013 19:25:05 -0500 Subject: [PATCH] efi: Disable secure boot if shim is in insecure mode @@ -15,10 +15,10 @@ Signed-off-by: Josh Boyer 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c -index baab83bcec44..c32bc46bd699 100644 +index 975d11bfaf5b..94bf7819857a 100644 --- a/arch/x86/boot/compressed/eboot.c +++ b/arch/x86/boot/compressed/eboot.c -@@ -806,8 +806,9 @@ out: +@@ -817,8 +817,9 @@ out: static int get_secure_boot(void) { @@ -29,7 +29,7 @@ index baab83bcec44..c32bc46bd699 100644 efi_guid_t var_guid = EFI_GLOBAL_VARIABLE_GUID; efi_status_t status; -@@ -831,6 +832,23 @@ static int get_secure_boot(void) +@@ -842,6 +843,23 @@ static int get_secure_boot(void) if (setup == 1) return 0; diff --git a/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch b/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch index e874184d1..59d3c0993 100644 --- a/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch +++ b/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch @@ -1,4 +1,4 @@ -From 2939a16985d33e9a95e1f9a3ff8c14f9fbf5d2af Mon Sep 17 00:00:00 2001 +From b8f92575bb2f9a6cbeefa38c07a58607a5d22b6c Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Tue, 27 Aug 2013 13:28:43 -0400 Subject: [PATCH] efi: Make EFI_SECURE_BOOT_SIG_ENFORCE depend on EFI diff --git a/hibernate-Disable-in-a-signed-modules-environment.patch b/hibernate-Disable-in-a-signed-modules-environment.patch index e84c0dac8..79c9201c7 100644 --- a/hibernate-Disable-in-a-signed-modules-environment.patch +++ b/hibernate-Disable-in-a-signed-modules-environment.patch @@ -1,4 +1,4 @@ -From 720d3f956833c7d2bb8c13dd643496ef42636a0c Mon Sep 17 00:00:00 2001 +From 50d51cc3b6a5966db3a32a4e5d9a1db67fe944ce Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 20 Jun 2014 08:53:24 -0400 Subject: [PATCH] hibernate: Disable in a signed modules environment diff --git a/input-kill-stupid-messages.patch b/input-kill-stupid-messages.patch index 052e4b811..5ecf7b206 100644 --- a/input-kill-stupid-messages.patch +++ b/input-kill-stupid-messages.patch @@ -1,4 +1,4 @@ -From 68f5b99e1f63c1870802aa76faea0b483aef5501 Mon Sep 17 00:00:00 2001 +From 8487f83e4b073fff15f1d5baa4548c6fd2cb7a63 Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Thu, 29 Jul 2010 16:46:31 -0700 Subject: [PATCH] input: kill stupid messages diff --git a/input-silence-i8042-noise.patch b/input-silence-i8042-noise.patch index 4131e9b9b..631186ea1 100644 --- a/input-silence-i8042-noise.patch +++ b/input-silence-i8042-noise.patch @@ -1,4 +1,4 @@ -From cb7bff00e9f4c7c6fb2cbe96b9083db9eb3394f0 Mon Sep 17 00:00:00 2001 +From ddde1066e9e2f37c8f2bfbf74e0eb78ff367207f Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Thu, 25 Sep 2008 16:23:33 -0400 Subject: [PATCH] input: silence i8042 noise diff --git a/kbuild-AFTER_LINK.patch b/kbuild-AFTER_LINK.patch index 603aa8a22..f9ef3cec6 100644 --- a/kbuild-AFTER_LINK.patch +++ b/kbuild-AFTER_LINK.patch @@ -1,4 +1,4 @@ -From 6dab4669a443c0adab3ec1a37741cfba33c34350 Mon Sep 17 00:00:00 2001 +From d5d3af558eee2b04bab3984ff46be975bda3a0d3 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Mon, 6 Oct 2008 23:03:03 -0700 Subject: [PATCH] kbuild: AFTER_LINK diff --git a/kernel.spec b/kernel.spec index 4bceb01fb..47787cfb7 100644 --- a/kernel.spec +++ b/kernel.spec @@ -67,9 +67,9 @@ Summary: The Linux kernel # The next upstream release sublevel (base_sublevel+1) %define upstream_sublevel %(echo $((%{base_sublevel} + 1))) # The rc snapshot level -%define rcrev 6 +%define rcrev 7 # The git snapshot level -%define gitrev 2 +%define gitrev 0 # Set rpm version accordingly %define rpmversion 3.%{upstream_sublevel}.0 %endif @@ -616,8 +616,6 @@ Patch26020: psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch #rhbz 1138759 Patch26021: drm-vmwgfx-Fix-drm.h-include.patch -Patch26022: x86-efi-Delete-misleading-efi_printk-error-message.patch - #rhbz 1123584 Patch26028: HID-rmi-check-sanity-of-incoming-report.patch @@ -1351,8 +1349,6 @@ ApplyPatch psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch #rhbz 1138759 ApplyPatch drm-vmwgfx-Fix-drm.h-include.patch -ApplyPatch x86-efi-Delete-misleading-efi_printk-error-message.patch - #rhbz 1123584 ApplyPatch HID-rmi-check-sanity-of-incoming-report.patch @@ -2227,6 +2223,9 @@ fi # ||----w | # || || %changelog +* Mon Sep 29 2014 Josh Boyer - 3.17.0-0.rc7.git0.1 +- Linux v3.17-rc7 + * Wed Sep 24 2014 Josh Boyer - 3.17.0-0.rc6.git2.1 - Linux v3.17-rc6-180-g452b6361c4d9 diff --git a/kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch b/kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch index 28638a9d2..3e09a4771 100644 --- a/kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch +++ b/kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch @@ -1,4 +1,4 @@ -From 4663f10bc1005b82cf1a99419a83bab5ab2e6f80 Mon Sep 17 00:00:00 2001 +From 8f7454af46ae910298ad6c0b89cf7a044e340cd1 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Aug 2013 03:33:56 -0400 Subject: [PATCH] kexec: Disable at runtime if the kernel enforces module diff --git a/lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch b/lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch index 84dbe24fd..5320ef2e5 100644 --- a/lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch +++ b/lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch @@ -1,4 +1,4 @@ -From 8ac1e39af0a3511ddfdd730cda52f30d0d15e691 Mon Sep 17 00:00:00 2001 +From a4aaede1061f405a4e9798934077d8f7f9a08e12 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Mon, 11 Nov 2013 08:39:16 -0500 Subject: [PATCH] lib/cpumask: Make CPUMASK_OFFSTACK usable without debug diff --git a/lis3-improve-handling-of-null-rate.patch b/lis3-improve-handling-of-null-rate.patch index b8bed7458..f0bf4d499 100644 --- a/lis3-improve-handling-of-null-rate.patch +++ b/lis3-improve-handling-of-null-rate.patch @@ -1,4 +1,4 @@ -From be186dded4be8ffdc36b558e72083eb70e55ea1e Mon Sep 17 00:00:00 2001 +From 12807c9138ad437db44e13e3fde61aeb6cce8b60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Piel?= Date: Thu, 3 Nov 2011 16:22:40 +0100 Subject: [PATCH] lis3: improve handling of null rate diff --git a/no-pcspkr-modalias.patch b/no-pcspkr-modalias.patch index 3f86227fa..9e9856e44 100644 --- a/no-pcspkr-modalias.patch +++ b/no-pcspkr-modalias.patch @@ -1,4 +1,4 @@ -From 4567bf4b21dfbfd62384addbe60a32c399372ebe Mon Sep 17 00:00:00 2001 +From aba0660977722c48fa6034ae4ce70f978f99b9b4 Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Thu, 29 Jul 2010 16:46:31 -0700 Subject: [PATCH] no pcspkr modalias diff --git a/perf-install-trace-event-plugins.patch b/perf-install-trace-event-plugins.patch index fd06276f1..bbf900eb2 100644 --- a/perf-install-trace-event-plugins.patch +++ b/perf-install-trace-event-plugins.patch @@ -1,4 +1,4 @@ -From 2c58cbc0510ac955bffad71efadff30a398dc30f Mon Sep 17 00:00:00 2001 +From 57d08a3e8c73fef0722a88a256fe455bc4d462cb Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Mon, 2 Jun 2014 15:11:01 -0400 Subject: [PATCH] perf: install trace-event plugins diff --git a/pinctrl-pinctrl-single-must-be-initialized-early.patch b/pinctrl-pinctrl-single-must-be-initialized-early.patch index 6a523e160..35acd64f7 100644 --- a/pinctrl-pinctrl-single-must-be-initialized-early.patch +++ b/pinctrl-pinctrl-single-must-be-initialized-early.patch @@ -1,4 +1,4 @@ -From 1988697e1502e16dc01d4cbec0e8f2cb72380c54 Mon Sep 17 00:00:00 2001 +From 932bc43d4662a64075f002c37d0755a992ffe060 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Sat, 15 Sep 2012 12:00:41 +0300 Subject: [PATCH] pinctrl: pinctrl-single must be initialized early. diff --git a/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch b/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch index 59c7368cd..2bfda2f09 100644 --- a/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch +++ b/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch @@ -1,4 +1,4 @@ -From c6ca98a7027b27025540756bdd920e7e2332388d Mon Sep 17 00:00:00 2001 +From 496d5d919d6a17dc19cc83ffae03a5bdaa0a7bbf Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 27 Jun 2014 18:46:42 +0200 Subject: [PATCH] psmouse: Add psmouse_matches_pnp_id helper function diff --git a/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch b/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch index 343c656aa..06b3a8962 100644 --- a/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch +++ b/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch @@ -1,4 +1,4 @@ -From 71a0dab8b317e2b3dd8ae3f39c97ee1cc31c0ad4 Mon Sep 17 00:00:00 2001 +From 825aad4997c8d26152e22611b73dde249cad4257 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 27 Jun 2014 18:50:33 +0200 Subject: [PATCH] psmouse: Add support for detecting FocalTech PS/2 touchpads diff --git a/samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch b/samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch index ffa93729a..d726c5ebc 100644 --- a/samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch +++ b/samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch @@ -1,4 +1,4 @@ -From 9af36d1a2d9ad315ed104cde0edd1975b776e24a Mon Sep 17 00:00:00 2001 +From caac83a6e419105b021f61f9075b5db91d1004eb Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 2 Jun 2014 17:40:59 +0200 Subject: [PATCH] samsung-laptop: Add broken-acpi-video quirk for NC210/NC110 diff --git a/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch b/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch index 979e2e521..466c3b57f 100644 --- a/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch +++ b/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch @@ -1,4 +1,4 @@ -From db240c2d2d68149da3a8921c037c36f97e846080 Mon Sep 17 00:00:00 2001 +From 2a64d25d00e4a3e7f3a3afefb50ae027281a2737 Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Fri, 10 Feb 2012 14:56:13 -0500 Subject: [PATCH] scsi: sd_revalidate_disk prevent NULL ptr deref diff --git a/silence-fbcon-logo.patch b/silence-fbcon-logo.patch index 4eb24acd4..43fcabef6 100644 --- a/silence-fbcon-logo.patch +++ b/silence-fbcon-logo.patch @@ -1,4 +1,4 @@ -From 098fc8dfdf6b199478c1d5d93628bb507d07cd63 Mon Sep 17 00:00:00 2001 +From 06350e185a1b156d4cce013afcd769898cca1d0a Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Thu, 29 Jul 2010 16:46:31 -0700 Subject: [PATCH] silence fbcon logo diff --git a/sources b/sources index 2cf4ff694..e622c529c 100644 --- a/sources +++ b/sources @@ -1,4 +1,3 @@ 5c569ed649a0c9711879f333e90c5386 linux-3.16.tar.xz 49868ce6467b35cd9ffea1120d129462 perf-man-3.16.tar.gz -d3e9581611409e76e00f9391c3b0866c patch-3.17-rc6.xz -49093094fba3326530857bd66ddd4aa7 patch-3.17-rc6-git2.xz +225ad95c519089a2f9acc503f948c11a patch-3.17-rc7.xz diff --git a/watchdog-Disable-watchdog-on-virtual-machines.patch b/watchdog-Disable-watchdog-on-virtual-machines.patch index e4bc9da3d..5b892c557 100644 --- a/watchdog-Disable-watchdog-on-virtual-machines.patch +++ b/watchdog-Disable-watchdog-on-virtual-machines.patch @@ -1,4 +1,4 @@ -From d2d1a4dc3994ccdb4d82d1d5310fc2c49279fa43 Mon Sep 17 00:00:00 2001 +From 380409f26e63b0996f3f5e1ad5ef4a3d85e596c8 Mon Sep 17 00:00:00 2001 From: Dave Jones Date: Tue, 24 Jun 2014 08:43:34 -0400 Subject: [PATCH] watchdog: Disable watchdog on virtual machines. diff --git a/x86-Lock-down-IO-port-access-when-module-security-is.patch b/x86-Lock-down-IO-port-access-when-module-security-is.patch index 7d54d9f7e..632215c18 100644 --- a/x86-Lock-down-IO-port-access-when-module-security-is.patch +++ b/x86-Lock-down-IO-port-access-when-module-security-is.patch @@ -1,4 +1,4 @@ -From 9fef212b0fa081b86d9e8badee77f08dbe322b5d Mon Sep 17 00:00:00 2001 +From 364c622eb638d8482e648dc111ffe0e3c3fb8f0f Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Thu, 8 Mar 2012 10:35:59 -0500 Subject: [PATCH] x86: Lock down IO port access when module security is enabled diff --git a/x86-Restrict-MSR-access-when-module-loading-is-restr.patch b/x86-Restrict-MSR-access-when-module-loading-is-restr.patch index 9291c9a32..8bb2377f2 100644 --- a/x86-Restrict-MSR-access-when-module-loading-is-restr.patch +++ b/x86-Restrict-MSR-access-when-module-loading-is-restr.patch @@ -1,4 +1,4 @@ -From 1975e92ad85bd4ac618e82ca4648f5cb6077cc5c Mon Sep 17 00:00:00 2001 +From 9828822a4c49694917fab51828fa941e750aaabc Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 8 Feb 2013 11:12:13 -0800 Subject: [PATCH] x86: Restrict MSR access when module loading is restricted diff --git a/x86-efi-Delete-misleading-efi_printk-error-message.patch b/x86-efi-Delete-misleading-efi_printk-error-message.patch deleted file mode 100644 index fff88ccf5..000000000 --- a/x86-efi-Delete-misleading-efi_printk-error-message.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 47a2577d99c13db7ad5181200cd17229b828a883 Mon Sep 17 00:00:00 2001 -From: Matt Fleming -Date: Mon, 15 Sep 2014 16:20:54 +0100 -Subject: [PATCH] x86/efi: Delete misleading efi_printk() error message -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -A number of people are reporting seeing the "setup_efi_pci() failed!" -error message in what used to be a quiet boot, - - https://bugzilla.kernel.org/show_bug.cgi?id=81891 - -The message isn't all that helpful because setup_efi_pci() can return a -non-success error code for a variety of reasons, not all of them fatal. - -Drop the efi_printk() now that we have more fine-grained, and more -specific, error messages throughout the *setup_efi_pci*() code paths. - -Upstream-status: 3.18 - -Reported-by: Darren Hart -Reported-by: Josh Boyer -Cc: Ulf Winkelvos -Cc: Andre Müller -Signed-off-by: Matt Fleming ---- - arch/x86/boot/compressed/eboot.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c -index c32bc46bd699..9705cf1966c2 100644 ---- a/arch/x86/boot/compressed/eboot.c -+++ b/arch/x86/boot/compressed/eboot.c -@@ -1434,10 +1434,7 @@ struct boot_params *efi_main(struct efi_config *c, - - setup_graphics(boot_params); - -- status = setup_efi_pci(boot_params); -- if (status != EFI_SUCCESS) { -- efi_printk(sys_table, "setup_efi_pci() failed!\n"); -- } -+ setup_efi_pci(boot_params); - - status = efi_call_early(allocate_pool, EFI_LOADER_DATA, - sizeof(*gdt), (void **)&gdt); --- -1.9.3 - From 8462484ef2e9db49c8435ac67821f8b97e96159c Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Mon, 29 Sep 2014 14:14:17 -0400 Subject: [PATCH 02/67] Update kernel-arm64.patch from git. --- config-arm64 | 18 + config-generic | 2 + kernel-arm64.patch | 5364 +++++++++++++++++++++++++++++++++++++------- kernel.spec | 3 + 4 files changed, 4612 insertions(+), 775 deletions(-) diff --git a/config-arm64 b/config-arm64 index f6c244ef6..c9b8861b2 100644 --- a/config-arm64 +++ b/config-arm64 @@ -117,3 +117,21 @@ CONFIG_HOTPLUG_PCI=y # CONFIG_HOTPLUG_PCI_SHPC is not set # CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set + +# CONFIG_PNP_DEBUG_MESSAGES is not set +CONFIG_NET_SB1000=y +CONFIG_SBSAUART_TTY=y +CONFIG_I2C_SCMI=m +CONFIG_SENSORS_ACPI_POWER=m +CONFIG_IMX_THERMAL=m +CONFIG_PWM_LPSS=m +CONFIG_ACPI=y +CONFIG_ACPI_PROCFS_POWER=y +CONFIG_ACPI_EC_DEBUGFS=y +CONFIG_ACPI_BUTTON=m +CONFIG_ACPI_FAN=m +CONFIG_ACPI_DOCK=y +CONFIG_ACPI_IPMI=y +CONFIG_ACPI_CONTAINER=y +CONFIG_ACPI_HED=m +CONFIG_ACPI_CUSTOM_METHOD=m diff --git a/config-generic b/config-generic index 3f129610a..414db23ff 100644 --- a/config-generic +++ b/config-generic @@ -5390,3 +5390,5 @@ CONFIG_FMC_CHARDEV=m # CONFIG_NET_XGENE is not set # CONFIG_GLOB_SELFTEST is not set + +# CONFIG_SBSAUART_TTY is not set diff --git a/kernel-arm64.patch b/kernel-arm64.patch index 5334f7229..a8813c1fb 100644 --- a/kernel-arm64.patch +++ b/kernel-arm64.patch @@ -1,42 +1,329 @@ - .../devicetree/bindings/pci/xgene-pci.txt | 52 ++ - MAINTAINERS | 7 + - arch/arm64/Kconfig | 19 +- + Documentation/arm64/arm-acpi.txt | 218 +++++++ + .../devicetree/bindings/pci/xgene-pci.txt | 57 ++ + Documentation/kernel-parameters.txt | 3 +- + MAINTAINERS | 8 + + arch/arm/include/asm/io.h | 1 + + arch/arm/include/asm/kvm_mmu.h | 13 + + arch/arm/kvm/arm.c | 23 +- + arch/arm/mach-integrator/pci_v3.c | 23 +- + arch/arm64/Kconfig | 28 +- + arch/arm64/Makefile | 1 + arch/arm64/boot/dts/apm-mustang.dts | 8 + - arch/arm64/boot/dts/apm-storm.dtsi | 180 ++++- + arch/arm64/boot/dts/apm-storm.dtsi | 165 ++++++ arch/arm64/include/asm/Kbuild | 1 + + arch/arm64/include/asm/acenv.h | 18 + + arch/arm64/include/asm/acpi.h | 99 ++++ + arch/arm64/include/asm/cpu_ops.h | 1 + arch/arm64/include/asm/elf.h | 3 +- arch/arm64/include/asm/io.h | 3 +- - arch/arm64/include/asm/pci.h | 49 ++ - arch/arm64/kernel/Makefile | 1 + + arch/arm64/include/asm/kvm_arm.h | 17 +- + arch/arm64/include/asm/kvm_mmu.h | 75 +++ + arch/arm64/include/asm/pci.h | 37 ++ + arch/arm64/include/asm/pgtable.h | 2 + + arch/arm64/include/asm/psci.h | 3 +- + arch/arm64/include/asm/smp.h | 10 +- + arch/arm64/kernel/Makefile | 5 +- + arch/arm64/kernel/acpi.c | 397 +++++++++++++ + arch/arm64/kernel/cpu_ops.c | 8 +- arch/arm64/kernel/efi-stub.c | 16 +- arch/arm64/kernel/efi.c | 11 + arch/arm64/kernel/head.S | 6 +- - arch/arm64/kernel/pci.c | 38 ++ + arch/arm64/kernel/pci.c | 70 +++ arch/arm64/kernel/process.c | 6 + - arch/arm64/kernel/smp_spin_table.c | 21 +- - drivers/ata/ahci_xgene.c | 3 +- - drivers/irqchip/irq-gic.c | 32 +- - drivers/of/address.c | 108 +++ - drivers/of/of_pci.c | 136 ++++ - drivers/pci/host-bridge.c | 18 +- + arch/arm64/kernel/psci.c | 78 ++- + arch/arm64/kernel/setup.c | 42 +- + arch/arm64/kernel/smp.c | 2 +- + arch/arm64/kernel/smp_parking_protocol.c | 110 ++++ + arch/arm64/kernel/smp_spin_table.c | 22 +- + arch/arm64/kernel/time.c | 7 + + arch/arm64/kvm/hyp-init.S | 20 +- + arch/arm64/mm/dma-mapping.c | 65 +++ + arch/arm64/pci/Makefile | 1 + + arch/arm64/pci/pci.c | 28 + + drivers/acpi/Kconfig | 6 +- + drivers/acpi/Makefile | 6 +- + drivers/acpi/acpica/utresrc.c | 4 +- + drivers/acpi/bus.c | 3 + + drivers/acpi/internal.h | 5 + + drivers/acpi/osl.c | 6 +- + drivers/acpi/processor_core.c | 37 ++ + drivers/acpi/sleep-arm.c | 28 + + drivers/acpi/tables.c | 115 +++- + drivers/acpi/utils.c | 26 + + drivers/ata/Kconfig | 2 +- + drivers/ata/ahci_platform.c | 13 + + drivers/ata/ahci_xgene.c | 30 +- + drivers/clocksource/arm_arch_timer.c | 120 +++- + drivers/irqchip/irq-gic-v3.c | 10 + + drivers/irqchip/irq-gic.c | 116 ++++ + drivers/irqchip/irqchip.c | 3 + + drivers/of/address.c | 154 +++++ + drivers/of/of_pci.c | 142 +++++ drivers/pci/host/Kconfig | 10 + drivers/pci/host/Makefile | 1 + - drivers/pci/host/pci-xgene.c | 725 +++++++++++++++++++++ - drivers/pci/pci.c | 37 ++ - drivers/pci/probe.c | 68 +- + drivers/pci/host/pci-tegra.c | 10 +- + drivers/pci/host/pci-xgene.c | 646 +++++++++++++++++++++ + drivers/pci/host/pcie-rcar.c | 21 +- + drivers/pci/pci.c | 40 ++ + drivers/pci/probe.c | 46 +- + drivers/pnp/resource.c | 2 + + drivers/tty/Kconfig | 6 + + drivers/tty/Makefile | 1 + + drivers/tty/sbsauart.c | 355 +++++++++++ + drivers/tty/serial/8250/8250_dw.c | 9 + + include/acpi/acnames.h | 4 + + include/acpi/acpi_bus.h | 2 + + include/acpi/acpi_io.h | 6 + + include/acpi/acpixf.h | 2 +- + include/acpi/actbl1.h | 19 +- + include/acpi/actbl3.h | 9 +- include/asm-generic/io.h | 2 +- - include/linux/of_address.h | 14 +- - include/linux/of_pci.h | 10 + - include/linux/pci.h | 15 + + include/asm-generic/pgtable.h | 4 + + include/kvm/arm_vgic.h | 20 +- + include/linux/acpi.h | 5 + + include/linux/clocksource.h | 6 + + include/linux/irqchip/arm-gic-acpi.h | 31 + + include/linux/irqchip/arm-gic.h | 2 + + include/linux/of_address.h | 17 +- + include/linux/of_pci.h | 13 + + include/linux/pci.h | 64 +- tools/perf/arch/arm64/include/perf_regs.h | 2 + - 31 files changed, 1533 insertions(+), 69 deletions(-) + virt/kvm/arm/arch_timer.c | 108 ++-- + virt/kvm/arm/vgic-v2.c | 75 ++- + virt/kvm/arm/vgic-v3.c | 8 +- + virt/kvm/arm/vgic.c | 32 +- + 94 files changed, 3840 insertions(+), 275 deletions(-) +diff --git a/Documentation/arm64/arm-acpi.txt b/Documentation/arm64/arm-acpi.txt +new file mode 100644 +index 0000000..b7dc826 +--- /dev/null ++++ b/Documentation/arm64/arm-acpi.txt +@@ -0,0 +1,218 @@ ++ACPI on ARMv8 Servers ++--------------------- ++ ++ACPI can be used for ARMv8 general purpose servers designed to follow ++the SBSA specification (currently available to people with an ARM login at ++http://silver.arm.com). ++ ++The kernel will implement minimum ACPI version is 5.1 + errata as released by ++the UEFI Forum, which is available at . ++ ++If the machine does not meet the requirements of the SBSA, or cannot be ++described in the required ACPI specifications then it is likely that Device Tree ++(DT) is more suitable for the hardware. ++ ++Relationship with Device Tree ++----------------------------- ++ ++ACPI support in drivers and subsystems for ARMv8 should never be mutually ++exclusive with DT support at compile time. ++ ++At boot time the kernel will only use one description method depending on ++parameters passed from the bootloader (including kernel bootargs). ++ ++Regardless of whether DT or ACPI is used, the kernel must always be capable ++of booting with either scheme (in kernels with both schemes enabled at compile ++time). ++ ++When booting using ACPI tables the /chosen node in DT will still be parsed ++to extract the kernel command line and initrd path. No other section of ++the DT will be used. ++ ++Booting using ACPI tables ++------------------------- ++ ++Currently, the only defined method to pass ACPI tables to the kernel on ARMv8 ++is via the UEFI system configuration table. ++ ++The UEFI implementation MUST set the ACPI_20_TABLE_GUID to point to the ++RSDP table (the table with the ACPI signature "RSD PTR "). ++ ++The pointer to the RSDP table will be retrieved from EFI by the ACPI core. ++ ++Processing of ACPI tables may be disabled by passing acpi=off on the kernel ++command line. ++ ++DO use an XSDT; RSDTs are deprecated and should not be used on arm64. They ++only allow for 32-bit addresses. ++ ++DO NOT use the 32-bit address fields in the FADT; they are deprecated. The ++64-bit alternatives MUST be used. ++ ++The minimum set of tables MUST include RSDP, XSDT, FACS, FADT, DSDT, MADT ++and GTDT. If PCI is used the MCFG table MUST also be present. ++ ++ACPI Detection ++-------------- ++ ++Drivers should determine their probe() type by checking for ACPI_HANDLE, ++or .of_node, or other information in the device structure. This is ++detailed further in the "Driver Recommendations" section. ++ ++In non-driver code If the presence of ACPI needs to be detected at runtime, ++then check the value of acpi_disabled. If CONFIG_ACPI is not set, ++acpi_disabled will always be 1. ++ ++Device Enumeration ++------------------ ++ ++Device descriptions in ACPI should use standard recognized ACPI interfaces. ++These are far simpler than the information provided via Device Tree. Drivers ++should take into account this simplicity and work with sensible defaults. ++ ++On no account should a Device Tree attempt to be replicated in ASL using such ++constructs as Name(KEY0, "Value1") type constructs. Additional driver specific ++data should be represented with the appropriate _DSD (ACPI Section 6.2.5) ++structure. _DSM (ACPI Section 9.14.1) should only be used if _DSD cannot ++represent the data required. ++ ++This data should be rare and not OS specific. For x86 ACPI has taken to ++identifying itself as Windows because it was found that only one path was ++routinely tested. For ARMv8 it would be preferable to have only one well ++tested path. ++ ++_DSD covers more than the generic server case and care should be taken not to ++replicate highly specific embedded behaviour from DT into generic servers. ++ ++Common _DSD bindings should be submitted to ASWG to be included in the ++document :- ++ ++http://www.uefi.org/sites/default/files/resources/_DSD-implementation-guide-toplevel.htm ++ ++If these bindings are mirrored from DT care should be taken to ensure they are ++reviewed as DT bindings before submission to limit divergance in bindings. ++ ++Programmable Power Control Resources ++------------------------------------ ++ ++Programmable power control resources include such resources as voltage/current ++providers (regulators) and clock sources. ++ ++For power control of these resources they should be represented with Power ++Resource Objects (ACPI Section 7.1). The ACPI core will then handle correctly ++enabling/disabling of resources as they are needed. ++ ++The ACPI 5.1 specification does not contain any standard binding for these ++objects to enable programmable levels or rates so this should be avoided if ++possible and the resources set to appropriate levels by the firmware. If this is ++not possible then any manipulation should be abstracted in ASL. ++ ++Each device in ACPI has D-states and these can be controlled through ++the optional methods _PS0..._PS3 where _PS0 is full on and _PS3 is full off. ++ ++If either _PS0 or _PS3 is implemented, then the other method must also be ++implemented. ++ ++If a device requires usage or setup of a power resource when on, the ASL ++should organize that it is allocated/enabled using the _PS0 method. ++ ++Resources allocated/enabled in the _PS0 method should be disabled/de-allocated ++in the _PS3 method. ++ ++Such code in _PS? methods will of course be very platform specific but ++should allow the driver to operate the device without special non-standard ++values being read from ASL. Further, abstracting the use of these resources ++allows hardware revisions without requiring updates to the kernel. ++ ++Clocks ++------ ++ ++Like clocks that are part of the power resources there is no standard way ++to represent a clock tree in ACPI 5.1 in a similar manner to how it is ++described in DT. ++ ++Devices affected by this include things like UARTs, SoC driven LCD displays, ++etc. ++ ++The firmware (for example, UEFI) should initialize these clocks to fixed working ++values before the kernel is executed. ++ ++Driver Recommendations ++---------------------- ++ ++DO NOT remove any FDT handling when adding ACPI support for a driver. Different ++systems may use the same device. ++ ++DO try and keep complex sections of ACPI and DT functionality separate. This ++may mean a patch to break out some complex DT to another function before ++the patch to add ACPI. This may happen in other functions but is most likely ++in probe function. This gives a clearer flow of data for reviewing driver ++source. ++ ++probe() :- ++ ++static int device_probe_dt(struct platform_device *pdev) ++{ ++ /* DT specific functionality */ ++ ... ++} ++ ++static int device_probe_acpi(struct platform_device *pdev) ++{ ++ /* ACPI specific functionality */ ++ ... ++} ++ ++static int device_probe(stuct platform_device *pdev) ++{ ++ ... ++ struct device_node node = pdev->dev.of_node; ++ ... ++ ++ if (node) ++ ret = device_probe_dt(pdev); ++ else if (ACPI_HANDLE(&pdev->dev)) ++ ret = device_probe_acpi(pdev); ++ else ++ /* other initialization */ ++ ... ++ /* Continue with any generic probe operations */ ++ ... ++} ++ ++DO keep the MODULE_DEVICE_TABLE entries together in the driver to make it clear ++the different names the driver is probed for, both from DT and from ACPI. ++ ++module device tables :- ++ ++static struct of_device_id virtio_mmio_match[] = { ++ { .compatible = "virtio,mmio", }, ++ { } ++}; ++MODULE_DEVICE_TABLE(of, virtio_mmio_match); ++ ++static const struct acpi_device_id virtio_mmio_acpi_match[] = { ++ { "LNRO0005", }, ++ { } ++}; ++MODULE_DEVICE_TABLE(acpi, virtio_mmio_acpi_match); ++ ++ASWG ++---- ++ ++The following areas are not yet well defined for ARM in the current ACPI ++specification and are expected to be worked through in the UEFI ACPI ++Specification Working Group (ASWG) . ++Participation in this group is open to all UEFI members. ++ ++ - ACPI based CPU topology ++ - ACPI based Power management ++ - CPU idle control based on PSCI ++ - CPU performance control (CPPC) ++ - ACPI based SMMU ++ - ITS support for GIC in MADT ++ ++No code shall be accepted into the kernel unless it complies with the released ++standards from UEFI ASWG. If there are features missing from ACPI to make it ++function on a platform, ECRs should be submitted to ASWG and go through the ++approval process. diff --git a/Documentation/devicetree/bindings/pci/xgene-pci.txt b/Documentation/devicetree/bindings/pci/xgene-pci.txt new file mode 100644 -index 0000000..e19fdb8 +index 0000000..1070b06 --- /dev/null +++ b/Documentation/devicetree/bindings/pci/xgene-pci.txt -@@ -0,0 +1,52 @@ +@@ -0,0 +1,57 @@ +* AppliedMicro X-Gene PCIe interface + +Required properties: @@ -60,10 +347,12 @@ index 0000000..e19fdb8 + +Optional properties: +- status: Either "ok" or "disabled". ++- dma-coherent: Present if dma operations are coherent + +Example: + +SoC specific DT Entry: ++ + pcie0: pcie@1f2b0000 { + status = "disabled"; + device_type = "pci"; @@ -72,28 +361,52 @@ index 0000000..e19fdb8 + #size-cells = <2>; + #address-cells = <3>; + reg = < 0x00 0x1f2b0000 0x0 0x00010000 /* Controller registers */ -+ 0xe0 0xd0000000 0x0 0x00200000>; /* PCI config space */ ++ 0xe0 0xd0000000 0x0 0x00040000>; /* PCI config space */ + reg-names = "csr", "cfg"; -+ ranges = <0x01000000 0x00 0x00000000 0xe0 0x00000000 0x00 0x00010000 /* io */ -+ 0x02000000 0x00 0x10000000 0xe0 0x10000000 0x00 0x80000000>; /* mem */ -+ dma-ranges = <0x42000000 0x40 0x00000000 0x40 0x00000000 0x40 0x00000000>; ++ ranges = <0x01000000 0x00 0x00000000 0xe0 0x10000000 0x00 0x00010000 /* io */ ++ 0x02000000 0x00 0x80000000 0xe1 0x80000000 0x00 0x80000000>; /* mem */ ++ dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 ++ 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; + interrupt-map-mask = <0x0 0x0 0x0 0x7>; + interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc2 0x1 + 0x0 0x0 0x0 0x2 &gic 0x0 0xc3 0x1 + 0x0 0x0 0x0 0x3 &gic 0x0 0xc4 0x1 + 0x0 0x0 0x0 0x4 &gic 0x0 0xc5 0x1>; ++ dma-coherent; + clocks = <&pcie0clk 0>; + }; + ++ +Board specific DT Entry: + &pcie0 { + status = "ok"; + }; +diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt +index 10d51c2..9464c6d 100644 +--- a/Documentation/kernel-parameters.txt ++++ b/Documentation/kernel-parameters.txt +@@ -165,7 +165,7 @@ multipliers 'Kilo', 'Mega', and 'Giga', equalling 2^10, 2^20, and 2^30 + bytes respectively. Such letter suffixes can also be entirely omitted. + + +- acpi= [HW,ACPI,X86] ++ acpi= [HW,ACPI,X86,ARM] + Advanced Configuration and Power Interface + Format: { force | off | strict | noirq | rsdt } + force -- enable ACPI if default was off +@@ -175,6 +175,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. + strictly ACPI specification compliant. + rsdt -- prefer RSDT over (default) XSDT + copy_dsdt -- copy DSDT to memory ++ For ARM64, ONLY "acpi=off" is available. + + See also Documentation/power/runtime_pm.txt, pci=noacpi + diff --git a/MAINTAINERS b/MAINTAINERS -index 2f85f55..8980971 100644 +index 670b3dc..b18bc49 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -6894,6 +6894,13 @@ L: linux-pci@vger.kernel.org +@@ -6942,6 +6942,14 @@ L: linux-pci@vger.kernel.org S: Maintained F: drivers/pci/host/*spear* @@ -102,16 +415,202 @@ index 2f85f55..8980971 100644 +L: linux-pci@vger.kernel.org +L: linux-arm-kernel@lists.infradead.org +S: Maintained ++F: Documentation/devicetree/bindings/pci/xgene-pci.txt +F: drivers/pci/host/pci-xgene.c + PCMCIA SUBSYSTEM P: Linux PCMCIA Team L: linux-pcmcia@lists.infradead.org +diff --git a/arch/arm/include/asm/io.h b/arch/arm/include/asm/io.h +index 3d23418..22b7529 100644 +--- a/arch/arm/include/asm/io.h ++++ b/arch/arm/include/asm/io.h +@@ -178,6 +178,7 @@ static inline void __iomem *__typesafe_io(unsigned long addr) + + /* PCI fixed i/o mapping */ + #define PCI_IO_VIRT_BASE 0xfee00000 ++#define PCI_IOBASE PCI_IO_VIRT_BASE + + #if defined(CONFIG_PCI) + void pci_ioremap_set_mem_type(int mem_type); +diff --git a/arch/arm/include/asm/kvm_mmu.h b/arch/arm/include/asm/kvm_mmu.h +index 5cc0b0f..03a08bb 100644 +--- a/arch/arm/include/asm/kvm_mmu.h ++++ b/arch/arm/include/asm/kvm_mmu.h +@@ -21,6 +21,7 @@ + + #include + #include ++#include + + /* + * We directly use the kernel VA for the HYP, as we can directly share +@@ -178,6 +179,18 @@ static inline void coherent_cache_guest_page(struct kvm_vcpu *vcpu, hva_t hva, + + void stage2_flush_vm(struct kvm *kvm); + ++static inline int kvm_get_phys_addr_shift(void) ++{ ++ return KVM_PHYS_SHIFT; ++} ++ ++ ++static inline u32 get_vttbr_baddr_mask(void) ++{ ++ return VTTBR_BADDR_MASK; ++} ++ ++ + #endif /* !__ASSEMBLY__ */ + + #endif /* __ARM_KVM_MMU_H__ */ +diff --git a/arch/arm/kvm/arm.c b/arch/arm/kvm/arm.c +index a99e0cd..d0fca8f 100644 +--- a/arch/arm/kvm/arm.c ++++ b/arch/arm/kvm/arm.c +@@ -37,6 +37,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -61,6 +62,12 @@ static atomic64_t kvm_vmid_gen = ATOMIC64_INIT(1); + static u8 kvm_next_vmid; + static DEFINE_SPINLOCK(kvm_vmid_lock); + ++#ifdef CONFIG_ARM64 ++static u64 vttbr_baddr_mask; ++#else ++static u32 vttbr_baddr_mask; ++#endif ++ + static bool vgic_present; + + static void kvm_arm_set_running_vcpu(struct kvm_vcpu *vcpu) +@@ -429,8 +436,14 @@ static void update_vttbr(struct kvm *kvm) + /* update vttbr to be used with the new vmid */ + pgd_phys = virt_to_phys(kvm->arch.pgd); + vmid = ((u64)(kvm->arch.vmid) << VTTBR_VMID_SHIFT) & VTTBR_VMID_MASK; +- kvm->arch.vttbr = pgd_phys & VTTBR_BADDR_MASK; +- kvm->arch.vttbr |= vmid; ++ ++ /* ++ * If the VTTBR isn't aligned there is something wrong with the system ++ * or kernel. ++ */ ++ BUG_ON(pgd_phys & ~vttbr_baddr_mask); ++ ++ kvm->arch.vttbr = pgd_phys | vmid; + + spin_unlock(&kvm_vmid_lock); + } +@@ -1015,6 +1028,12 @@ int kvm_arch_init(void *opaque) + } + } + ++ vttbr_baddr_mask = get_vttbr_baddr_mask(); ++ if (vttbr_baddr_mask == ~0) { ++ kvm_err("Cannot set vttbr_baddr_mask\n"); ++ return -EINVAL; ++ } ++ + cpu_notifier_register_begin(); + + err = init_hyp_mode(); +diff --git a/arch/arm/mach-integrator/pci_v3.c b/arch/arm/mach-integrator/pci_v3.c +index 05e1f73..c186a17 100644 +--- a/arch/arm/mach-integrator/pci_v3.c ++++ b/arch/arm/mach-integrator/pci_v3.c +@@ -660,6 +660,7 @@ static void __init pci_v3_preinit(void) + { + unsigned long flags; + unsigned int temp; ++ phys_addr_t io_address = pci_pio_to_address(io_mem.start); + + pcibios_min_mem = 0x00100000; + +@@ -701,7 +702,7 @@ static void __init pci_v3_preinit(void) + /* + * Setup window 2 - PCI IO + */ +- v3_writel(V3_LB_BASE2, v3_addr_to_lb_base2(io_mem.start) | ++ v3_writel(V3_LB_BASE2, v3_addr_to_lb_base2(io_address) | + V3_LB_BASE_ENABLE); + v3_writew(V3_LB_MAP2, v3_addr_to_lb_map2(0)); + +@@ -742,6 +743,7 @@ static void __init pci_v3_preinit(void) + static void __init pci_v3_postinit(void) + { + unsigned int pci_cmd; ++ phys_addr_t io_address = pci_pio_to_address(io_mem.start); + + pci_cmd = PCI_COMMAND_MEMORY | + PCI_COMMAND_MASTER | PCI_COMMAND_INVALIDATE; +@@ -758,7 +760,7 @@ static void __init pci_v3_postinit(void) + "interrupt: %d\n", ret); + #endif + +- register_isa_ports(non_mem.start, io_mem.start, 0); ++ register_isa_ports(non_mem.start, io_address, 0); + } + + /* +@@ -867,33 +869,32 @@ static int __init pci_v3_probe(struct platform_device *pdev) + + for_each_of_pci_range(&parser, &range) { + if (!range.flags) { +- of_pci_range_to_resource(&range, np, &conf_mem); ++ ret = of_pci_range_to_resource(&range, np, &conf_mem); + conf_mem.name = "PCIv3 config"; + } + if (range.flags & IORESOURCE_IO) { +- of_pci_range_to_resource(&range, np, &io_mem); ++ ret = of_pci_range_to_resource(&range, np, &io_mem); + io_mem.name = "PCIv3 I/O"; + } + if ((range.flags & IORESOURCE_MEM) && + !(range.flags & IORESOURCE_PREFETCH)) { + non_mem_pci = range.pci_addr; + non_mem_pci_sz = range.size; +- of_pci_range_to_resource(&range, np, &non_mem); ++ ret = of_pci_range_to_resource(&range, np, &non_mem); + non_mem.name = "PCIv3 non-prefetched mem"; + } + if ((range.flags & IORESOURCE_MEM) && + (range.flags & IORESOURCE_PREFETCH)) { + pre_mem_pci = range.pci_addr; + pre_mem_pci_sz = range.size; +- of_pci_range_to_resource(&range, np, &pre_mem); ++ ret = of_pci_range_to_resource(&range, np, &pre_mem); + pre_mem.name = "PCIv3 prefetched mem"; + } +- } + +- if (!conf_mem.start || !io_mem.start || +- !non_mem.start || !pre_mem.start) { +- dev_err(&pdev->dev, "missing ranges in device node\n"); +- return -EINVAL; ++ if (ret < 0) { ++ dev_err(&pdev->dev, "missing ranges in device node\n"); ++ return ret; ++ } + } + + pci_v3.map_irq = of_irq_parse_and_map_pci; diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index fd4e81a..e8559bb 100644 +index fd4e81a..e57b91a 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -81,7 +81,7 @@ config MMU +@@ -1,5 +1,6 @@ + config ARM64 + def_bool y ++ select ACPI_REDUCED_HARDWARE_ONLY if ACPI + select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE + select ARCH_HAS_SG_CHAIN + select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST +@@ -81,7 +82,7 @@ config MMU def_bool y config NO_IOPORT_MAP @@ -120,20 +619,23 @@ index fd4e81a..e8559bb 100644 config STACKTRACE_SUPPORT def_bool y -@@ -156,6 +156,23 @@ menu "Bus support" +@@ -156,6 +157,26 @@ menu "Bus support" config ARM_AMBA bool +config PCI + bool "PCI support" + help -+ This feature enables support for PCIe bus system. If you say Y ++ This feature enables support for PCI bus system. If you say Y + here, the kernel will include drivers and infrastructure code -+ to support PCIe bus devices. ++ to support PCI bus devices. + +config PCI_DOMAINS + def_bool PCI + ++config PCI_DOMAINS_GENERIC ++ def_bool PCI ++ +config PCI_SYSCALL + def_bool PCI + @@ -144,15 +646,45 @@ index fd4e81a..e8559bb 100644 endmenu menu "Kernel Features" +@@ -235,6 +256,9 @@ config SMP + + If you don't know what to do here, say N. + ++config ARM_PARKING_PROTOCOL ++ def_bool y if SMP ++ + config SCHED_MC + bool "Multi-core scheduler support" + depends on SMP +@@ -421,6 +445,8 @@ source "drivers/Kconfig" + + source "drivers/firmware/Kconfig" + ++source "drivers/acpi/Kconfig" ++ + source "fs/Kconfig" + + source "arch/arm64/kvm/Kconfig" +diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile +index 2df5e5d..bddd4e3 100644 +--- a/arch/arm64/Makefile ++++ b/arch/arm64/Makefile +@@ -50,6 +50,7 @@ core-y += arch/arm64/kernel/ arch/arm64/mm/ + core-$(CONFIG_KVM) += arch/arm64/kvm/ + core-$(CONFIG_XEN) += arch/arm64/xen/ + core-$(CONFIG_CRYPTO) += arch/arm64/crypto/ ++drivers-$(CONFIG_PCI) += arch/arm64/pci/ + libs-y := arch/arm64/lib/ $(libs-y) + libs-y += $(LIBGCC) + libs-$(CONFIG_EFI_STUB) += drivers/firmware/efi/libstub/ diff --git a/arch/arm64/boot/dts/apm-mustang.dts b/arch/arm64/boot/dts/apm-mustang.dts -index b2f5622..0cb67fc 100644 +index b2f5622..f649000 100644 --- a/arch/arm64/boot/dts/apm-mustang.dts +++ b/arch/arm64/boot/dts/apm-mustang.dts -@@ -32,3 +32,11 @@ - &menet { - status = "ok"; +@@ -25,6 +25,14 @@ + }; }; -+ + +&pcie0clk { + status = "ok"; +}; @@ -160,88 +692,15 @@ index b2f5622..0cb67fc 100644 +&pcie0 { + status = "ok"; +}; ++ + &serial0 { + status = "ok"; + }; diff --git a/arch/arm64/boot/dts/apm-storm.dtsi b/arch/arm64/boot/dts/apm-storm.dtsi -index c0aceef..fb2ee54 100644 +index c0aceef..403197a 100644 --- a/arch/arm64/boot/dts/apm-storm.dtsi +++ b/arch/arm64/boot/dts/apm-storm.dtsi -@@ -24,56 +24,56 @@ - compatible = "apm,potenza", "arm,armv8"; - reg = <0x0 0x000>; - enable-method = "spin-table"; -- cpu-release-addr = <0x1 0x0000fff8>; -+ cpu-release-addr = <0x40 0x0000f000>; - }; - cpu@001 { - device_type = "cpu"; - compatible = "apm,potenza", "arm,armv8"; - reg = <0x0 0x001>; - enable-method = "spin-table"; -- cpu-release-addr = <0x1 0x0000fff8>; -+ cpu-release-addr = <0x40 0x0000f000>; - }; - cpu@100 { - device_type = "cpu"; - compatible = "apm,potenza", "arm,armv8"; - reg = <0x0 0x100>; - enable-method = "spin-table"; -- cpu-release-addr = <0x1 0x0000fff8>; -+ cpu-release-addr = <0x40 0x0000f000>; - }; - cpu@101 { - device_type = "cpu"; - compatible = "apm,potenza", "arm,armv8"; - reg = <0x0 0x101>; - enable-method = "spin-table"; -- cpu-release-addr = <0x1 0x0000fff8>; -+ cpu-release-addr = <0x40 0x0000f000>; - }; - cpu@200 { - device_type = "cpu"; - compatible = "apm,potenza", "arm,armv8"; - reg = <0x0 0x200>; - enable-method = "spin-table"; -- cpu-release-addr = <0x1 0x0000fff8>; -+ cpu-release-addr = <0x40 0x0000f000>; - }; - cpu@201 { - device_type = "cpu"; - compatible = "apm,potenza", "arm,armv8"; - reg = <0x0 0x201>; - enable-method = "spin-table"; -- cpu-release-addr = <0x1 0x0000fff8>; -+ cpu-release-addr = <0x40 0x0000f000>; - }; - cpu@300 { - device_type = "cpu"; - compatible = "apm,potenza", "arm,armv8"; - reg = <0x0 0x300>; - enable-method = "spin-table"; -- cpu-release-addr = <0x1 0x0000fff8>; -+ cpu-release-addr = <0x40 0x0000f000>; - }; - cpu@301 { - device_type = "cpu"; - compatible = "apm,potenza", "arm,armv8"; - reg = <0x0 0x301>; - enable-method = "spin-table"; -- cpu-release-addr = <0x1 0x0000fff8>; -+ cpu-release-addr = <0x40 0x0000f000>; - }; - }; - -@@ -97,6 +97,11 @@ - clock-frequency = <50000000>; - }; - -+ pmu { -+ compatible = "arm,armv8-pmuv3"; -+ interrupts = <1 12 0xff04>; -+ }; -+ - soc { - compatible = "simple-bus"; - #address-cells = <2>; -@@ -269,6 +274,161 @@ +@@ -269,6 +269,171 @@ enable-mask = <0x2>; clock-output-names = "rtcclk"; }; @@ -305,16 +764,18 @@ index c0aceef..fb2ee54 100644 + #size-cells = <2>; + #address-cells = <3>; + reg = < 0x00 0x1f2b0000 0x0 0x00010000 /* Controller registers */ -+ 0xe0 0xd0000000 0x0 0x00200000>; /* PCI config space */ ++ 0xe0 0xd0000000 0x0 0x00040000>; /* PCI config space */ + reg-names = "csr", "cfg"; -+ ranges = <0x01000000 0x00 0x00000000 0xe0 0x00000000 0x00 0x00010000 /* io */ -+ 0x02000000 0x00 0x10000000 0xe0 0x10000000 0x00 0x80000000>; /* mem */ -+ dma-ranges = <0x42000000 0x40 0x00000000 0x40 0x00000000 0x40 0x00000000>; ++ ranges = <0x01000000 0x00 0x00000000 0xe0 0x10000000 0x00 0x00010000 /* io */ ++ 0x02000000 0x00 0x80000000 0xe1 0x80000000 0x00 0x80000000>; /* mem */ ++ dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 ++ 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; + interrupt-map-mask = <0x0 0x0 0x0 0x7>; + interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc2 0x1 + 0x0 0x0 0x0 0x2 &gic 0x0 0xc3 0x1 + 0x0 0x0 0x0 0x3 &gic 0x0 0xc4 0x1 + 0x0 0x0 0x0 0x4 &gic 0x0 0xc5 0x1>; ++ dma-coherent; + clocks = <&pcie0clk 0>; + }; + @@ -326,16 +787,18 @@ index c0aceef..fb2ee54 100644 + #size-cells = <2>; + #address-cells = <3>; + reg = < 0x00 0x1f2c0000 0x0 0x00010000 /* Controller registers */ -+ 0xd0 0xd0000000 0x0 0x00200000>; /* PCI config space */ ++ 0xd0 0xd0000000 0x0 0x00040000>; /* PCI config space */ + reg-names = "csr", "cfg"; -+ ranges = <0x01000000 0x0 0x00000000 0xd0 0x00000000 0x00 0x00010000 /* io */ -+ 0x02000000 0x0 0x10000000 0xd0 0x10000000 0x00 0x80000000>; /* mem */ -+ dma-ranges = <0x42000000 0x40 0x00000000 0x40 0x00000000 0x40 0x00000000>; ++ ranges = <0x01000000 0x0 0x00000000 0xd0 0x10000000 0x00 0x00010000 /* io */ ++ 0x02000000 0x0 0x80000000 0xd1 0x80000000 0x00 0x80000000>; /* mem */ ++ dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 ++ 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; + interrupt-map-mask = <0x0 0x0 0x0 0x7>; + interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc8 0x1 + 0x0 0x0 0x0 0x2 &gic 0x0 0xc9 0x1 + 0x0 0x0 0x0 0x3 &gic 0x0 0xca 0x1 + 0x0 0x0 0x0 0x4 &gic 0x0 0xcb 0x1>; ++ dma-coherent; + clocks = <&pcie1clk 0>; + }; + @@ -347,16 +810,18 @@ index c0aceef..fb2ee54 100644 + #size-cells = <2>; + #address-cells = <3>; + reg = < 0x00 0x1f2d0000 0x0 0x00010000 /* Controller registers */ -+ 0x90 0xd0000000 0x0 0x00200000>; /* PCI config space */ ++ 0x90 0xd0000000 0x0 0x00040000>; /* PCI config space */ + reg-names = "csr", "cfg"; -+ ranges = <0x01000000 0x0 0x00000000 0x90 0x00000000 0x0 0x00010000 /* io */ -+ 0x02000000 0x0 0x10000000 0x90 0x10000000 0x0 0x80000000>; /* mem */ -+ dma-ranges = <0x42000000 0x40 0x00000000 0x40 0x00000000 0x40 0x00000000>; ++ ranges = <0x01000000 0x0 0x00000000 0x90 0x10000000 0x0 0x00010000 /* io */ ++ 0x02000000 0x0 0x80000000 0x91 0x80000000 0x0 0x80000000>; /* mem */ ++ dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 ++ 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; + interrupt-map-mask = <0x0 0x0 0x0 0x7>; + interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xce 0x1 + 0x0 0x0 0x0 0x2 &gic 0x0 0xcf 0x1 + 0x0 0x0 0x0 0x3 &gic 0x0 0xd0 0x1 + 0x0 0x0 0x0 0x4 &gic 0x0 0xd1 0x1>; ++ dma-coherent; + clocks = <&pcie2clk 0>; + }; + @@ -368,16 +833,18 @@ index c0aceef..fb2ee54 100644 + #size-cells = <2>; + #address-cells = <3>; + reg = < 0x00 0x1f500000 0x0 0x00010000 /* Controller registers */ -+ 0xa0 0xd0000000 0x0 0x00200000>; /* PCI config space */ ++ 0xa0 0xd0000000 0x0 0x00040000>; /* PCI config space */ + reg-names = "csr", "cfg"; -+ ranges = <0x01000000 0x0 0x00000000 0xa0 0x00000000 0x0 0x00010000 /* io */ -+ 0x02000000 0x0 0x10000000 0xa0 0x10000000 0x0 0x80000000>; /* mem */ -+ dma-ranges = <0x42000000 0x40 0x00000000 0x40 0x00000000 0x40 0x00000000>; ++ ranges = <0x01000000 0x0 0x00000000 0xa0 0x10000000 0x0 0x00010000 /* io */ ++ 0x02000000 0x0 0x80000000 0xa1 0x80000000 0x0 0x80000000>; /* mem */ ++ dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 ++ 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; + interrupt-map-mask = <0x0 0x0 0x0 0x7>; + interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xd4 0x1 + 0x0 0x0 0x0 0x2 &gic 0x0 0xd5 0x1 + 0x0 0x0 0x0 0x3 &gic 0x0 0xd6 0x1 + 0x0 0x0 0x0 0x4 &gic 0x0 0xd7 0x1>; ++ dma-coherent; + clocks = <&pcie3clk 0>; + }; + @@ -391,36 +858,20 @@ index c0aceef..fb2ee54 100644 + reg = < 0x00 0x1f510000 0x0 0x00010000 /* Controller registers */ + 0xc0 0xd0000000 0x0 0x00200000>; /* PCI config space */ + reg-names = "csr", "cfg"; -+ ranges = <0x01000000 0x0 0x00000000 0xc0 0x00000000 0x0 0x00010000 /* io */ -+ 0x02000000 0x0 0x10000000 0xc0 0x10000000 0x0 0x80000000>; /* mem */ -+ dma-ranges = <0x42000000 0x40 0x00000000 0x40 0x00000000 0x40 0x00000000>; ++ ranges = <0x01000000 0x0 0x00000000 0xc0 0x10000000 0x0 0x00010000 /* io */ ++ 0x02000000 0x0 0x80000000 0xc1 0x80000000 0x0 0x80000000>; /* mem */ ++ dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 ++ 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; + interrupt-map-mask = <0x0 0x0 0x0 0x7>; + interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xda 0x1 + 0x0 0x0 0x0 0x2 &gic 0x0 0xdb 0x1 + 0x0 0x0 0x0 0x3 &gic 0x0 0xdc 0x1 + 0x0 0x0 0x0 0x4 &gic 0x0 0xdd 0x1>; ++ dma-coherent; + clocks = <&pcie4clk 0>; }; serial0: serial@1c020000 { -@@ -277,7 +437,7 @@ - compatible = "ns16550a"; - reg = <0 0x1c020000 0x0 0x1000>; - reg-shift = <2>; -- clock-frequency = <10000000>; /* Updated by bootloader */ -+ clock-frequency = <50000000>; /* Updated by bootloader */ - interrupt-parent = <&gic>; - interrupts = <0x0 0x4c 0x4>; - }; -@@ -407,7 +567,7 @@ - interrupts = <0x0 0x3c 0x4>; - dma-coherent; - clocks = <&menetclk 0>; -- local-mac-address = [00 01 73 00 00 01]; -+ local-mac-address = [00 00 00 00 00 00]; - phy-connection-type = "rgmii"; - phy-handle = <&menetphy>; - mdio { diff --git a/arch/arm64/include/asm/Kbuild b/arch/arm64/include/asm/Kbuild index 0b3fcf8..07cb417 100644 --- a/arch/arm64/include/asm/Kbuild @@ -433,6 +884,147 @@ index 0b3fcf8..07cb417 100644 generic-y += poll.h generic-y += preempt.h generic-y += resource.h +diff --git a/arch/arm64/include/asm/acenv.h b/arch/arm64/include/asm/acenv.h +new file mode 100644 +index 0000000..b49166f +--- /dev/null ++++ b/arch/arm64/include/asm/acenv.h +@@ -0,0 +1,18 @@ ++/* ++ * ARM64 specific ACPICA environments and implementation ++ * ++ * Copyright (C) 2014, Linaro Ltd. ++ * Author: Hanjun Guo ++ * Author: Graeme Gregory ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ */ ++ ++#ifndef _ASM_ACENV_H ++#define _ASM_ACENV_H ++ ++/* It is required unconditionally by ACPI core, update it when needed. */ ++ ++#endif /* _ASM_ACENV_H */ +diff --git a/arch/arm64/include/asm/acpi.h b/arch/arm64/include/asm/acpi.h +new file mode 100644 +index 0000000..7f6cd91 +--- /dev/null ++++ b/arch/arm64/include/asm/acpi.h +@@ -0,0 +1,99 @@ ++/* ++ * Copyright (C) 2013-2014, Linaro Ltd. ++ * Author: Al Stone ++ * Author: Graeme Gregory ++ * Author: Hanjun Guo ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation; ++ */ ++ ++#ifndef _ASM_ACPI_H ++#define _ASM_ACPI_H ++ ++#include ++ ++/* Basic configuration for ACPI */ ++#ifdef CONFIG_ACPI ++#define acpi_strict 1 /* No out-of-spec workarounds on ARM64 */ ++extern int acpi_disabled; ++extern int acpi_noirq; ++extern int acpi_pci_disabled; ++ ++/* 1 to indicate PSCI 0.2+ is implemented */ ++static inline bool acpi_psci_present(void) ++{ ++ return acpi_gbl_FADT.arm_boot_flags & ACPI_FADT_PSCI_COMPLIANT; ++} ++ ++/* 1 to indicate HVC must be used instead of SMC as the PSCI conduit */ ++static inline bool acpi_psci_use_hvc(void) ++{ ++ return acpi_gbl_FADT.arm_boot_flags & ACPI_FADT_PSCI_USE_HVC; ++} ++ ++static inline void disable_acpi(void) ++{ ++ acpi_disabled = 1; ++ acpi_pci_disabled = 1; ++ acpi_noirq = 1; ++} ++ ++/* MPIDR value provided in GICC structure is 64 bits, but ++ * the acpi processor driver use the 32 bits cpu hardware ++ * ID (apic_id on intel platform) everywhere, it is pretty ++ * hard to modify the acpi processor driver to accept the ++ * 64 bits MPIDR value, at the same time, only 32 bits of ++ * the MPIDR is used in the 64 bits MPIDR, just pack the ++ * Affx fields into a single 32 bit identifier to accommodate ++ * the acpi processor drivers. ++ */ ++static inline u32 pack_mpidr_into_32_bits(u64 mpidr) ++{ ++ /* ++ * Bits [0:7] Aff0; ++ * Bits [8:15] Aff1; ++ * Bits [16:23] Aff2; ++ * Bits [32:39] Aff3; ++ */ ++ return (u32) ((mpidr & 0xff00000000) >> 8) | mpidr; ++} ++ ++/* ++ * The ACPI processor driver for ACPI core code needs this macro ++ * to find out this cpu was already mapped (mapping from CPU hardware ++ * ID to CPU logical ID) or not. ++ * ++ * cpu_logical_map(cpu) is the mapping of MPIDR and the logical cpu, ++ * and MPIDR is the cpu hardware ID we needed to pack. ++ */ ++#define cpu_physical_id(cpu) pack_mpidr_into_32_bits(cpu_logical_map(cpu)) ++ ++/* ++ * It's used from ACPI core in kdump to boot UP system with SMP kernel, ++ * with this check the ACPI core will not override the CPU index ++ * obtained from GICC with 0 and not print some error message as well. ++ * Since MADT must provide at least one GICC structure for GIC ++ * initialization, CPU will be always available in MADT on ARM64. ++ */ ++static inline bool acpi_has_cpu_in_madt(void) ++{ ++ return true; ++} ++ ++static inline void arch_fix_phys_package_id(int num, u32 slot) { } ++void __init acpi_smp_init_cpus(void); ++ ++extern int acpi_get_cpu_parked_address(int cpu, u64 *addr); ++ ++#else ++ ++static inline bool acpi_psci_present(void) { return false; } ++static inline bool acpi_psci_use_hvc(void) { return false; } ++static inline void acpi_smp_init_cpus(void) { } ++static inline int acpi_get_cpu_parked_address(int cpu, u64 *addr) { return -EOPNOTSUPP; } ++ ++#endif /* CONFIG_ACPI */ ++ ++#endif /*_ASM_ACPI_H*/ +diff --git a/arch/arm64/include/asm/cpu_ops.h b/arch/arm64/include/asm/cpu_ops.h +index d7b4b38..d149580 100644 +--- a/arch/arm64/include/asm/cpu_ops.h ++++ b/arch/arm64/include/asm/cpu_ops.h +@@ -61,6 +61,7 @@ struct cpu_operations { + }; + + extern const struct cpu_operations *cpu_ops[NR_CPUS]; ++const struct cpu_operations *cpu_get_ops(const char *name); + extern int __init cpu_read_ops(struct device_node *dn, int cpu); + extern void __init cpu_read_bootcpu_ops(void); + diff --git a/arch/arm64/include/asm/elf.h b/arch/arm64/include/asm/elf.h index 01d3aab..8186df6 100644 --- a/arch/arm64/include/asm/elf.h @@ -448,7 +1040,7 @@ index 01d3aab..8186df6 100644 #define CORE_DUMP_USE_REGSET #define ELF_EXEC_PAGESIZE PAGE_SIZE diff --git a/arch/arm64/include/asm/io.h b/arch/arm64/include/asm/io.h -index e0ecdcf..dc34039 100644 +index e0ecdcf..f998d90 100644 --- a/arch/arm64/include/asm/io.h +++ b/arch/arm64/include/asm/io.h @@ -121,7 +121,8 @@ static inline u64 __raw_readq(const volatile void __iomem *addr) @@ -457,16 +1049,162 @@ index e0ecdcf..dc34039 100644 */ -#define IO_SPACE_LIMIT 0xffff +#define arch_has_dev_port() (1) -+#define IO_SPACE_LIMIT 0x1ffffff ++#define IO_SPACE_LIMIT (SZ_32M - 1) #define PCI_IOBASE ((void __iomem *)(MODULES_VADDR - SZ_32M)) static inline u8 inb(unsigned long addr) +diff --git a/arch/arm64/include/asm/kvm_arm.h b/arch/arm64/include/asm/kvm_arm.h +index cc83520..ff4a4fa 100644 +--- a/arch/arm64/include/asm/kvm_arm.h ++++ b/arch/arm64/include/asm/kvm_arm.h +@@ -95,7 +95,6 @@ + /* TCR_EL2 Registers bits */ + #define TCR_EL2_TBI (1 << 20) + #define TCR_EL2_PS (7 << 16) +-#define TCR_EL2_PS_40B (2 << 16) + #define TCR_EL2_TG0 (1 << 14) + #define TCR_EL2_SH0 (3 << 12) + #define TCR_EL2_ORGN0 (3 << 10) +@@ -104,8 +103,6 @@ + #define TCR_EL2_MASK (TCR_EL2_TG0 | TCR_EL2_SH0 | \ + TCR_EL2_ORGN0 | TCR_EL2_IRGN0 | TCR_EL2_T0SZ) + +-#define TCR_EL2_FLAGS (TCR_EL2_PS_40B) +- + /* VTCR_EL2 Registers bits */ + #define VTCR_EL2_PS_MASK (7 << 16) + #define VTCR_EL2_TG0_MASK (1 << 14) +@@ -120,36 +117,28 @@ + #define VTCR_EL2_SL0_MASK (3 << 6) + #define VTCR_EL2_SL0_LVL1 (1 << 6) + #define VTCR_EL2_T0SZ_MASK 0x3f +-#define VTCR_EL2_T0SZ_40B 24 ++#define VTCR_EL2_T0SZ(bits) (64 - (bits)) + + #ifdef CONFIG_ARM64_64K_PAGES + /* + * Stage2 translation configuration: +- * 40bits output (PS = 2) +- * 40bits input (T0SZ = 24) + * 64kB pages (TG0 = 1) + * 2 level page tables (SL = 1) + */ + #define VTCR_EL2_FLAGS (VTCR_EL2_TG0_64K | VTCR_EL2_SH0_INNER | \ + VTCR_EL2_ORGN0_WBWA | VTCR_EL2_IRGN0_WBWA | \ +- VTCR_EL2_SL0_LVL1 | VTCR_EL2_T0SZ_40B) +-#define VTTBR_X (38 - VTCR_EL2_T0SZ_40B) ++ VTCR_EL2_SL0_LVL1) + #else + /* + * Stage2 translation configuration: +- * 40bits output (PS = 2) +- * 40bits input (T0SZ = 24) + * 4kB pages (TG0 = 0) + * 3 level page tables (SL = 1) + */ + #define VTCR_EL2_FLAGS (VTCR_EL2_TG0_4K | VTCR_EL2_SH0_INNER | \ + VTCR_EL2_ORGN0_WBWA | VTCR_EL2_IRGN0_WBWA | \ +- VTCR_EL2_SL0_LVL1 | VTCR_EL2_T0SZ_40B) +-#define VTTBR_X (37 - VTCR_EL2_T0SZ_40B) ++ VTCR_EL2_SL0_LVL1) + #endif + +-#define VTTBR_BADDR_SHIFT (VTTBR_X - 1) +-#define VTTBR_BADDR_MASK (((1LLU << (40 - VTTBR_X)) - 1) << VTTBR_BADDR_SHIFT) + #define VTTBR_VMID_SHIFT (48LLU) + #define VTTBR_VMID_MASK (0xffLLU << VTTBR_VMID_SHIFT) + +diff --git a/arch/arm64/include/asm/kvm_mmu.h b/arch/arm64/include/asm/kvm_mmu.h +index 8e138c7..1c70b2f 100644 +--- a/arch/arm64/include/asm/kvm_mmu.h ++++ b/arch/arm64/include/asm/kvm_mmu.h +@@ -167,5 +167,80 @@ static inline void coherent_cache_guest_page(struct kvm_vcpu *vcpu, hva_t hva, + + void stage2_flush_vm(struct kvm *kvm); + ++/* ++ * ARMv8 64K architecture limitations: ++ * 16 <= T0SZ <= 21 is valid under 3 level of translation tables ++ * 18 <= T0SZ <= 34 is valid under 2 level of translation tables ++ * 31 <= T0SZ <= 39 is valid under 1 level of transltaion tables ++ * ++ * ARMv8 4K architecture limitations: ++ * 16 <= T0SZ <= 24 is valid under 4 level of translation tables ++ * 21 <= T0SZ <= 33 is valid under 3 level of translation tables ++ * 30 <= T0SZ <= 39 is valid under 2 level of translation tables ++ * ++ * For 4K pages we only support 3 or 4 level, giving T0SZ a range of 16 to 33. ++ * For 64K pages we only support 2 or 3 level, giving T0SZ a range of 16 to 34. ++ * ++ * See Table D4-23 and Table D4-25 in ARM DDI 0487A.b to figure out ++ * the origin of the hardcoded values, 38 and 37. ++ */ ++ ++#ifdef CONFIG_ARM64_64K_PAGES ++static inline int t0sz_to_vttbr_x(int t0sz) ++{ ++ if (t0sz < 16 || t0sz > 34) { ++ kvm_err("Cannot support %d-bit address space\n", 64 - t0sz); ++ return -EINVAL; ++ } ++ ++ return 38 - t0sz; ++} ++#else /* 4K pages */ ++static inline int t0sz_to_vttbr_x(int t0sz) ++{ ++ if (t0sz < 16 || t0sz > 33) { ++ kvm_err("Cannot support %d-bit address space\n", 64 - t0sz); ++ return -EINVAL; ++ } ++ return 37 - t0sz; ++} ++#endif ++static inline int kvm_get_phys_addr_shift(void) ++{ ++ int pa_range = read_cpuid(ID_AA64MMFR0_EL1) & 0xf; ++ ++ switch (pa_range) { ++ case 0: return 32; ++ case 1: return 36; ++ case 2: return 40; ++ case 3: return 42; ++ case 4: return 44; ++ case 5: return 48; ++ default: ++ BUG(); ++ return 0; ++ } ++} ++ ++/** ++ * get_vttbr_baddr_mask - get mask value for vttbr base address ++ * ++ * In ARMv8, vttbr_baddr_mask cannot be determined in compile time since the ++ * stage2 input address size depends on hardware capability. Thus, we first ++ * need to read ID_AA64MMFR0_EL1.PARange and then set vttbr_baddr_mask with ++ * consideration of both the granule size and the level of translation tables. ++ */ ++static inline u64 get_vttbr_baddr_mask(void) ++{ ++ int t0sz, vttbr_x; ++ ++ t0sz = VTCR_EL2_T0SZ(kvm_get_phys_addr_shift()); ++ vttbr_x = t0sz_to_vttbr_x(t0sz); ++ if (vttbr_x < 0) ++ return ~0; ++ return GENMASK_ULL(48, (vttbr_x - 1)); ++ ++} ++ + #endif /* __ASSEMBLY__ */ + #endif /* __ARM64_KVM_MMU_H__ */ diff --git a/arch/arm64/include/asm/pci.h b/arch/arm64/include/asm/pci.h new file mode 100644 -index 0000000..3f7856e +index 0000000..872ba93 --- /dev/null +++ b/arch/arm64/include/asm/pci.h -@@ -0,0 +1,49 @@ +@@ -0,0 +1,37 @@ +#ifndef __ASM_PCI_H +#define __ASM_PCI_H +#ifdef __KERNEL__ @@ -482,8 +1220,6 @@ index 0000000..3f7856e +#define PCIBIOS_MIN_IO 0x1000 +#define PCIBIOS_MIN_MEM 0 + -+struct pci_host_bridge *find_pci_host_bridge(struct pci_bus *bus); -+ +/* + * Set to 1 if the kernel should re-assign all PCI bus numbers + */ @@ -498,16 +1234,6 @@ index 0000000..3f7856e +extern int isa_dma_bridge_buggy; + +#ifdef CONFIG_PCI -+static inline int pci_domain_nr(struct pci_bus *bus) -+{ -+ struct pci_host_bridge *bridge = find_pci_host_bridge(bus); -+ -+ if (bridge) -+ return bridge->domain_nr; -+ -+ return 0; -+} -+ +static inline int pci_proc_domain(struct pci_bus *bus) +{ + return 1; @@ -516,18 +1242,517 @@ index 0000000..3f7856e + +#endif /* __KERNEL__ */ +#endif /* __ASM_PCI_H */ +diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h +index ffe1ba0..a968523 100644 +--- a/arch/arm64/include/asm/pgtable.h ++++ b/arch/arm64/include/asm/pgtable.h +@@ -296,6 +296,8 @@ static inline int has_transparent_hugepage(void) + __pgprot_modify(prot, PTE_ATTRINDX_MASK, PTE_ATTRINDX(MT_DEVICE_nGnRnE) | PTE_PXN | PTE_UXN) + #define pgprot_writecombine(prot) \ + __pgprot_modify(prot, PTE_ATTRINDX_MASK, PTE_ATTRINDX(MT_NORMAL_NC) | PTE_PXN | PTE_UXN) ++#define pgprot_device(prot) \ ++ __pgprot_modify(prot, PTE_ATTRINDX_MASK, PTE_ATTRINDX(MT_DEVICE_nGnRE) | PTE_PXN | PTE_UXN) + #define __HAVE_PHYS_MEM_ACCESS_PROT + struct file; + extern pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn, +diff --git a/arch/arm64/include/asm/psci.h b/arch/arm64/include/asm/psci.h +index e5312ea..2454bc5 100644 +--- a/arch/arm64/include/asm/psci.h ++++ b/arch/arm64/include/asm/psci.h +@@ -14,6 +14,7 @@ + #ifndef __ASM_PSCI_H + #define __ASM_PSCI_H + +-int psci_init(void); ++int psci_dt_init(void); ++int psci_acpi_init(void); + + #endif /* __ASM_PSCI_H */ +diff --git a/arch/arm64/include/asm/smp.h b/arch/arm64/include/asm/smp.h +index a498f2c..2ebbd55 100644 +--- a/arch/arm64/include/asm/smp.h ++++ b/arch/arm64/include/asm/smp.h +@@ -39,9 +39,10 @@ extern void show_ipi_list(struct seq_file *p, int prec); + extern void handle_IPI(int ipinr, struct pt_regs *regs); + + /* +- * Setup the set of possible CPUs (via set_cpu_possible) ++ * Discover the set of possible CPUs and determine their ++ * SMP operations. + */ +-extern void smp_init_cpus(void); ++extern void of_smp_init_cpus(void); + + /* + * Provide a function to raise an IPI cross call on CPUs in callmap. +@@ -49,6 +50,11 @@ extern void smp_init_cpus(void); + extern void set_smp_cross_call(void (*)(const struct cpumask *, unsigned int)); + + /* ++ * Provide a function to signal a parked secondary CPU. ++ */ ++extern void set_smp_boot_wakeup_call(void (*)(int cpu)); ++ ++/* + * Called from the secondary holding pen, this is the secondary CPU entry point. + */ + asmlinkage void secondary_start_kernel(void); diff --git a/arch/arm64/kernel/Makefile b/arch/arm64/kernel/Makefile -index df7ef87..1ed5a06 100644 +index df7ef87..b0bad2e 100644 --- a/arch/arm64/kernel/Makefile +++ b/arch/arm64/kernel/Makefile -@@ -29,6 +29,7 @@ arm64-obj-$(CONFIG_ARM64_CPU_SUSPEND) += sleep.o suspend.o +@@ -21,7 +21,8 @@ arm64-obj-$(CONFIG_COMPAT) += sys32.o kuser32.o signal32.o \ + sys_compat.o + arm64-obj-$(CONFIG_FUNCTION_TRACER) += ftrace.o entry-ftrace.o + arm64-obj-$(CONFIG_MODULES) += arm64ksyms.o module.o +-arm64-obj-$(CONFIG_SMP) += smp.o smp_spin_table.o topology.o ++arm64-obj-$(CONFIG_SMP) += smp.o smp_spin_table.o topology.o \ ++ smp_parking_protocol.o + arm64-obj-$(CONFIG_PERF_EVENTS) += perf_regs.o + arm64-obj-$(CONFIG_HW_PERF_EVENTS) += perf_event.o + arm64-obj-$(CONFIG_HAVE_HW_BREAKPOINT) += hw_breakpoint.o +@@ -29,6 +30,8 @@ arm64-obj-$(CONFIG_ARM64_CPU_SUSPEND) += sleep.o suspend.o arm64-obj-$(CONFIG_JUMP_LABEL) += jump_label.o arm64-obj-$(CONFIG_KGDB) += kgdb.o arm64-obj-$(CONFIG_EFI) += efi.o efi-stub.o efi-entry.o +arm64-obj-$(CONFIG_PCI) += pci.o ++arm64-obj-$(CONFIG_ACPI) += acpi.o obj-y += $(arm64-obj-y) vdso/ obj-m += $(arm64-obj-m) +diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c +new file mode 100644 +index 0000000..5486426 +--- /dev/null ++++ b/arch/arm64/kernel/acpi.c +@@ -0,0 +1,397 @@ ++/* ++ * ARM64 Specific Low-Level ACPI Boot Support ++ * ++ * Copyright (C) 2013-2014, Linaro Ltd. ++ * Author: Al Stone ++ * Author: Graeme Gregory ++ * Author: Hanjun Guo ++ * Author: Tomasz Nowicki ++ * Author: Naresh Bhat ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ */ ++ ++#define pr_fmt(fmt) "ACPI: " fmt ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++#define ARM64_ACPI_DISABLED_DEFAULT 1 ++ ++int acpi_noirq; /* skip ACPI IRQ initialization */ ++int acpi_disabled = ARM64_ACPI_DISABLED_DEFAULT; ++EXPORT_SYMBOL(acpi_disabled); ++ ++int acpi_pci_disabled; /* skip ACPI PCI scan and IRQ initialization */ ++EXPORT_SYMBOL(acpi_pci_disabled); ++ ++static int enabled_cpus; /* Processors (GICC) with enabled flag in MADT */ ++ ++static char *boot_method; ++static u64 parked_address[NR_CPUS]; ++ ++/* ++ * Since we're on ARM, the default interrupt routing model ++ * clearly has to be GIC. ++ */ ++enum acpi_irq_model_id acpi_irq_model = ACPI_IRQ_MODEL_GIC; ++ ++/* ++ * __acpi_map_table() will be called before page_init(), so early_ioremap() ++ * or early_memremap() should be called here to for ACPI table mapping. ++ */ ++char *__init __acpi_map_table(unsigned long phys, unsigned long size) ++{ ++ if (!phys || !size) ++ return NULL; ++ ++ return early_memremap(phys, size); ++} ++ ++void __init __acpi_unmap_table(char *map, unsigned long size) ++{ ++ if (!map || !size) ++ return; ++ ++ early_memunmap(map, size); ++} ++ ++/** ++ * acpi_map_gic_cpu_interface - generates a logical cpu number ++ * and map to MPIDR represented by GICC structure ++ * @mpidr: CPU's hardware id to register, MPIDR represented in MADT ++ * @enabled: this cpu is enabled or not ++ * ++ * Returns the logical cpu number which maps to MPIDR ++ */ ++static int acpi_map_gic_cpu_interface(u64 mpidr, u64 parked_addr, u8 enabled) ++{ ++ int cpu; ++ ++ if (mpidr == INVALID_HWID) { ++ pr_info("Skip invalid cpu hardware ID\n"); ++ return -EINVAL; ++ } ++ ++ total_cpus++; ++ if (!enabled) ++ return -EINVAL; ++ ++ if (enabled_cpus >= NR_CPUS) { ++ pr_warn("NR_CPUS limit of %d reached, Processor %d/0x%llx ignored.\n", ++ NR_CPUS, total_cpus, mpidr); ++ return -EINVAL; ++ } ++ ++ /* No need to check duplicate MPIDRs for the first CPU */ ++ if (enabled_cpus) { ++ /* ++ * Duplicate MPIDRs are a recipe for disaster. Scan ++ * all initialized entries and check for ++ * duplicates. If any is found just ignore the CPU. ++ */ ++ for_each_possible_cpu(cpu) { ++ if (cpu_logical_map(cpu) == mpidr) { ++ pr_err("Firmware bug, duplicate CPU MPIDR: 0x%llx in MADT\n", ++ mpidr); ++ return -EINVAL; ++ } ++ } ++ ++ /* allocate a logical cpu id for the new comer */ ++ cpu = cpumask_next_zero(-1, cpu_possible_mask); ++ } else { ++ /* First GICC entry must be BSP as ACPI spec said */ ++ if (cpu_logical_map(0) != mpidr) { ++ pr_err("First GICC entry with MPIDR 0x%llx is not BSP\n", ++ mpidr); ++ return -EINVAL; ++ } ++ ++ /* ++ * boot_cpu_init() already hold bit 0 in cpu_present_mask ++ * for BSP, no need to allocate again. ++ */ ++ cpu = 0; ++ } ++ ++ parked_address[cpu] = parked_addr; ++ ++ /* CPU 0 was already initialized */ ++ if (cpu) { ++ cpu_ops[cpu] = cpu_get_ops(boot_method); ++ if (!cpu_ops[cpu]) ++ return -EINVAL; ++ ++ if (cpu_ops[cpu]->cpu_init(NULL, cpu)) ++ return -EOPNOTSUPP; ++ ++ /* map the logical cpu id to cpu MPIDR */ ++ cpu_logical_map(cpu) = mpidr; ++ ++ set_cpu_possible(cpu, true); ++ } else { ++ /* get cpu0's ops, no need to return if ops is null */ ++ cpu_ops[0] = cpu_get_ops(boot_method); ++ } ++ ++ enabled_cpus++; ++ return cpu; ++} ++ ++static int __init ++acpi_parse_gic_cpu_interface(struct acpi_subtable_header *header, ++ const unsigned long end) ++{ ++ struct acpi_madt_generic_interrupt *processor; ++ ++ processor = (struct acpi_madt_generic_interrupt *)header; ++ ++ if (BAD_MADT_ENTRY(processor, end)) ++ return -EINVAL; ++ ++ acpi_table_print_madt_entry(header); ++ ++ acpi_map_gic_cpu_interface(processor->arm_mpidr & MPIDR_HWID_BITMASK, ++ processor->parked_address, processor->flags & ACPI_MADT_ENABLED); ++ ++ return 0; ++} ++ ++/* Parse GIC cpu interface entries in MADT for SMP init */ ++void __init acpi_smp_init_cpus(void) ++{ ++ int count; ++ ++ /* ++ * do a partial walk of MADT to determine how many CPUs ++ * we have including disabled CPUs, and get information ++ * we need for SMP init ++ */ ++ count = acpi_table_parse_madt(ACPI_MADT_TYPE_GENERIC_INTERRUPT, ++ acpi_parse_gic_cpu_interface, 0); ++ ++ if (!count) { ++ pr_err("No GIC CPU interface entries present\n"); ++ return; ++ } else if (count < 0) { ++ pr_err("Error parsing GIC CPU interface entry\n"); ++ return; ++ } ++ ++ /* Make boot-up look pretty */ ++ pr_info("%d CPUs enabled, %d CPUs total\n", enabled_cpus, total_cpus); ++} ++ ++int acpi_gsi_to_irq(u32 gsi, unsigned int *irq) ++{ ++ *irq = irq_find_mapping(NULL, gsi); ++ ++ return 0; ++} ++EXPORT_SYMBOL_GPL(acpi_gsi_to_irq); ++ ++/* ++ * success: return IRQ number (>0) ++ * failure: return =< 0 ++ */ ++int acpi_register_gsi(struct device *dev, u32 gsi, int trigger, int polarity) ++{ ++ unsigned int irq; ++ unsigned int irq_type; ++ ++ /* ++ * ACPI have no bindings to indicate SPI or PPI, so we ++ * use different mappings from DT in ACPI. ++ * ++ * For FDT ++ * PPI interrupt: in the range [0, 15]; ++ * SPI interrupt: in the range [0, 987]; ++ * ++ * For ACPI, GSI should be unique so using ++ * the hwirq directly for the mapping: ++ * PPI interrupt: in the range [16, 31]; ++ * SPI interrupt: in the range [32, 1019]; ++ */ ++ ++ if (trigger == ACPI_EDGE_SENSITIVE && ++ polarity == ACPI_ACTIVE_LOW) ++ irq_type = IRQ_TYPE_EDGE_FALLING; ++ else if (trigger == ACPI_EDGE_SENSITIVE && ++ polarity == ACPI_ACTIVE_HIGH) ++ irq_type = IRQ_TYPE_EDGE_RISING; ++ else if (trigger == ACPI_LEVEL_SENSITIVE && ++ polarity == ACPI_ACTIVE_LOW) ++ irq_type = IRQ_TYPE_LEVEL_LOW; ++ else if (trigger == ACPI_LEVEL_SENSITIVE && ++ polarity == ACPI_ACTIVE_HIGH) ++ irq_type = IRQ_TYPE_LEVEL_HIGH; ++ else ++ irq_type = IRQ_TYPE_NONE; ++ ++ /* ++ * Since only one GIC is supported in ACPI 5.0, we can ++ * create mapping refer to the default domain ++ */ ++ irq = irq_create_mapping(NULL, gsi); ++ if (!irq) ++ return irq; ++ ++ /* Set irq type if specified and different than the current one */ ++ if (irq_type != IRQ_TYPE_NONE && ++ irq_type != irq_get_trigger_type(irq)) ++ irq_set_irq_type(irq, irq_type); ++ return irq; ++} ++EXPORT_SYMBOL_GPL(acpi_register_gsi); ++ ++void acpi_unregister_gsi(u32 gsi) ++{ ++} ++EXPORT_SYMBOL_GPL(acpi_unregister_gsi); ++ ++static int __init acpi_parse_fadt(struct acpi_table_header *table) ++{ ++ struct acpi_table_fadt *fadt = (struct acpi_table_fadt *)table; ++ ++ /* ++ * Revision in table header is the FADT Major revision, ++ * and there is a minor revision of FADT which was introduced ++ * by ACPI 5.1, we only deal with ACPI 5.1 or higher revision ++ * to get arm boot flags, or we will disable ACPI. ++ */ ++ if (table->revision > 5 || ++ (table->revision == 5 && fadt->minor_revision >= 1)) { ++ /* ++ * ACPI 5.1 only has two explicit methods to boot up SMP, ++ * PSCI and Parking protocol, but the Parking protocol is ++ * only specified for ARMv7 now, so make PSCI as the only ++ * way for the SMP boot protocol before some updates for ++ * the ACPI spec or the Parking protocol spec. ++ */ ++ if (acpi_psci_present()) ++ boot_method = "psci"; ++ else if (IS_ENABLED(CONFIG_ARM_PARKING_PROTOCOL)) ++ boot_method = "parking-protocol"; ++ ++ if (!boot_method) ++ pr_warn("has no boot support, will not bring up secondary CPUs\n"); ++ return -EOPNOTSUPP; ++ } ++ ++ pr_warn("Unsupported FADT revision %d.%d, should be 5.1+, will disable ACPI\n", ++ table->revision, fadt->minor_revision); ++ disable_acpi(); ++ ++ return -EINVAL; ++} ++ ++/* ++ * acpi_boot_table_init() called from setup_arch(), always. ++ * 1. find RSDP and get its address, and then find XSDT ++ * 2. extract all tables and checksums them all ++ * 3. check ACPI FADT revisoin ++ * ++ * We can parse ACPI boot-time tables such as MADT after ++ * this function is called. ++ */ ++void __init acpi_boot_table_init(void) ++{ ++ /* If acpi_disabled, bail out */ ++ if (acpi_disabled) ++ return; ++ ++ /* Initialize the ACPI boot-time table parser. */ ++ if (acpi_table_init()) { ++ disable_acpi(); ++ return; ++ } ++ ++ if (acpi_table_parse(ACPI_SIG_FADT, acpi_parse_fadt)) ++ pr_err("Can't find FADT or error happened during parsing FADT\n"); ++} ++ ++void __init acpi_gic_init(void) ++{ ++ struct acpi_table_header *table; ++ acpi_status status; ++ acpi_size tbl_size; ++ int err; ++ ++ status = acpi_get_table_with_size(ACPI_SIG_MADT, 0, &table, &tbl_size); ++ if (ACPI_FAILURE(status)) { ++ const char *msg = acpi_format_exception(status); ++ ++ pr_err("Failed to get MADT table, %s\n", msg); ++ return; ++ } ++ ++ err = gic_v2_acpi_init(table); ++ if (err) ++ pr_err("Failed to initialize GIC IRQ controller"); ++ ++ early_acpi_os_unmap_memory((char *)table, tbl_size); ++} ++ ++/* ++ * Parked Address in ACPI GIC structure will be used as the CPU ++ * release address ++ */ ++int acpi_get_cpu_parked_address(int cpu, u64 *addr) ++{ ++ if (!addr || !parked_address[cpu]) ++ return -EINVAL; ++ ++ *addr = parked_address[cpu]; ++ ++ return 0; ++} ++ ++static int __init parse_acpi(char *arg) ++{ ++ if (!arg) ++ return -EINVAL; ++ ++ /* "acpi=off" disables both ACPI table parsing and interpreter */ ++ if (strcmp(arg, "off") == 0) ++ acpi_disabled = 1; ++ else if (strcmp(arg, "on") == 0) ++ acpi_disabled = 0; ++ else ++ return -EINVAL; /* Core will print when we return error */ ++ ++ return 0; ++} ++early_param("acpi", parse_acpi); ++ ++int acpi_isa_irq_to_gsi(unsigned isa_irq, u32 *gsi) ++{ ++ return -1; ++} ++ ++int acpi_register_ioapic(acpi_handle handle, u64 phys_addr, u32 gsi_base) ++{ ++ /* TBD */ ++ return -EINVAL; ++} ++EXPORT_SYMBOL(acpi_register_ioapic); ++ ++int acpi_unregister_ioapic(acpi_handle handle, u32 gsi_base) ++{ ++ /* TBD */ ++ return -EINVAL; ++} ++EXPORT_SYMBOL(acpi_unregister_ioapic); ++ +diff --git a/arch/arm64/kernel/cpu_ops.c b/arch/arm64/kernel/cpu_ops.c +index cce9524..1d90f31 100644 +--- a/arch/arm64/kernel/cpu_ops.c ++++ b/arch/arm64/kernel/cpu_ops.c +@@ -23,19 +23,23 @@ + #include + + extern const struct cpu_operations smp_spin_table_ops; ++extern const struct cpu_operations smp_parking_protocol_ops; + extern const struct cpu_operations cpu_psci_ops; + + const struct cpu_operations *cpu_ops[NR_CPUS]; + +-static const struct cpu_operations *supported_cpu_ops[] __initconst = { ++static const struct cpu_operations *supported_cpu_ops[] = { + #ifdef CONFIG_SMP + &smp_spin_table_ops, ++#ifdef CONFIG_ARM_PARKING_PROTOCOL ++ &smp_parking_protocol_ops, ++#endif + #endif + &cpu_psci_ops, + NULL, + }; + +-static const struct cpu_operations * __init cpu_get_ops(const char *name) ++const struct cpu_operations *cpu_get_ops(const char *name) + { + const struct cpu_operations **ops = supported_cpu_ops; + diff --git a/arch/arm64/kernel/efi-stub.c b/arch/arm64/kernel/efi-stub.c index 1317fef..d27dd98 100644 --- a/arch/arm64/kernel/efi-stub.c @@ -560,10 +1785,10 @@ index 1317fef..d27dd98 100644 diff --git a/arch/arm64/kernel/efi.c b/arch/arm64/kernel/efi.c -index e72f310..72ee260 100644 +index 03aaa99..6c4de44 100644 --- a/arch/arm64/kernel/efi.c +++ b/arch/arm64/kernel/efi.c -@@ -475,3 +475,14 @@ err_unmap: +@@ -479,3 +479,14 @@ err_unmap: return -1; } early_initcall(arm64_enter_virtual_mode); @@ -579,7 +1804,7 @@ index e72f310..72ee260 100644 + return pm_power_off == NULL; +} diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S -index 144f105..b6ca95a 100644 +index 8730690..0a6e4f9 100644 --- a/arch/arm64/kernel/head.S +++ b/arch/arm64/kernel/head.S @@ -151,7 +151,7 @@ optional_header: @@ -611,10 +1836,10 @@ index 144f105..b6ca95a 100644 .long stext - efi_head // PointerToRawData diff --git a/arch/arm64/kernel/pci.c b/arch/arm64/kernel/pci.c new file mode 100644 -index 0000000..955d6d1 +index 0000000..ce5836c --- /dev/null +++ b/arch/arm64/kernel/pci.c -@@ -0,0 +1,38 @@ +@@ -0,0 +1,70 @@ +/* + * Code borrowed from powerpc/kernel/pci-common.c + * @@ -653,8 +1878,40 @@ index 0000000..955d6d1 +{ + return res->start; +} ++ ++/* ++ * Try to assign the IRQ number from DT when adding a new device ++ */ ++int pcibios_add_device(struct pci_dev *dev) ++{ ++ dev->irq = of_irq_parse_and_map_pci(dev, 0, 0); ++ ++ return 0; ++} ++ ++ ++#ifdef CONFIG_PCI_DOMAINS_GENERIC ++static bool dt_domain_found = false; ++ ++void pci_bus_assign_domain_nr(struct pci_bus *bus, struct device *parent) ++{ ++ int domain = of_get_pci_domain_nr(parent->of_node); ++ ++ if (domain >= 0) { ++ dt_domain_found = true; ++ } else if (dt_domain_found == true) { ++ dev_err(parent, "Node %s is missing \"linux,pci-domain\" property in DT\n", ++ parent->of_node->full_name); ++ return; ++ } else { ++ domain = pci_get_new_domain_nr(); ++ } ++ ++ bus->domain_nr = domain; ++} ++#endif diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c -index 1309d64..8ff5208 100644 +index 29d4869..c0427bc 100644 --- a/arch/arm64/kernel/process.c +++ b/arch/arm64/kernel/process.c @@ -43,6 +43,7 @@ @@ -677,8 +1934,345 @@ index 1309d64..8ff5208 100644 * Whoops - the architecture was unable to reboot. */ printk("Reboot failed -- System halted\n"); +diff --git a/arch/arm64/kernel/psci.c b/arch/arm64/kernel/psci.c +index 5539547..15ba470 100644 +--- a/arch/arm64/kernel/psci.c ++++ b/arch/arm64/kernel/psci.c +@@ -15,6 +15,7 @@ + + #define pr_fmt(fmt) "psci: " fmt + ++#include + #include + #include + #include +@@ -23,6 +24,7 @@ + #include + #include + ++#include + #include + #include + #include +@@ -231,6 +233,33 @@ static void psci_sys_poweroff(void) + invoke_psci_fn(PSCI_0_2_FN_SYSTEM_OFF, 0, 0, 0); + } + ++static void psci_0_2_set_functions(void) ++{ ++ pr_info("Using standard PSCI v0.2 function IDs\n"); ++ psci_function_id[PSCI_FN_CPU_SUSPEND] = PSCI_0_2_FN64_CPU_SUSPEND; ++ psci_ops.cpu_suspend = psci_cpu_suspend; ++ ++ psci_function_id[PSCI_FN_CPU_OFF] = PSCI_0_2_FN_CPU_OFF; ++ psci_ops.cpu_off = psci_cpu_off; ++ ++ psci_function_id[PSCI_FN_CPU_ON] = PSCI_0_2_FN64_CPU_ON; ++ psci_ops.cpu_on = psci_cpu_on; ++ ++ psci_function_id[PSCI_FN_MIGRATE] = PSCI_0_2_FN64_MIGRATE; ++ psci_ops.migrate = psci_migrate; ++ ++ psci_function_id[PSCI_FN_AFFINITY_INFO] = PSCI_0_2_FN64_AFFINITY_INFO; ++ psci_ops.affinity_info = psci_affinity_info; ++ ++ psci_function_id[PSCI_FN_MIGRATE_INFO_TYPE] = ++ PSCI_0_2_FN_MIGRATE_INFO_TYPE; ++ psci_ops.migrate_info_type = psci_migrate_info_type; ++ ++ arm_pm_restart = psci_sys_reset; ++ ++ pm_power_off = psci_sys_poweroff; ++} ++ + /* + * PSCI Function IDs for v0.2+ are well defined so use + * standard values. +@@ -264,29 +293,7 @@ static int __init psci_0_2_init(struct device_node *np) + } + } + +- pr_info("Using standard PSCI v0.2 function IDs\n"); +- psci_function_id[PSCI_FN_CPU_SUSPEND] = PSCI_0_2_FN64_CPU_SUSPEND; +- psci_ops.cpu_suspend = psci_cpu_suspend; +- +- psci_function_id[PSCI_FN_CPU_OFF] = PSCI_0_2_FN_CPU_OFF; +- psci_ops.cpu_off = psci_cpu_off; +- +- psci_function_id[PSCI_FN_CPU_ON] = PSCI_0_2_FN64_CPU_ON; +- psci_ops.cpu_on = psci_cpu_on; +- +- psci_function_id[PSCI_FN_MIGRATE] = PSCI_0_2_FN64_MIGRATE; +- psci_ops.migrate = psci_migrate; +- +- psci_function_id[PSCI_FN_AFFINITY_INFO] = PSCI_0_2_FN64_AFFINITY_INFO; +- psci_ops.affinity_info = psci_affinity_info; +- +- psci_function_id[PSCI_FN_MIGRATE_INFO_TYPE] = +- PSCI_0_2_FN_MIGRATE_INFO_TYPE; +- psci_ops.migrate_info_type = psci_migrate_info_type; +- +- arm_pm_restart = psci_sys_reset; +- +- pm_power_off = psci_sys_poweroff; ++ psci_0_2_set_functions(); + + out_put_node: + of_node_put(np); +@@ -339,7 +346,7 @@ static const struct of_device_id psci_of_match[] __initconst = { + {}, + }; + +-int __init psci_init(void) ++int __init psci_dt_init(void) + { + struct device_node *np; + const struct of_device_id *matched_np; +@@ -354,6 +361,29 @@ int __init psci_init(void) + return init_fn(np); + } + ++/* ++ * We use PSCI 0.2+ when ACPI is deployed on ARM64 and it's ++ * explicitly clarified in SBBR ++ */ ++int __init psci_acpi_init(void) ++{ ++ if (!acpi_psci_present()) { ++ pr_info("is not implemented in ACPI.\n"); ++ return -EOPNOTSUPP; ++ } ++ ++ pr_info("probing for conduit method from ACPI.\n"); ++ ++ if (acpi_psci_use_hvc()) ++ invoke_psci_fn = __invoke_psci_fn_hvc; ++ else ++ invoke_psci_fn = __invoke_psci_fn_smc; ++ ++ psci_0_2_set_functions(); ++ ++ return 0; ++} ++ + #ifdef CONFIG_SMP + + static int __init cpu_psci_cpu_init(struct device_node *dn, unsigned int cpu) +diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c +index edb146d..4758443 100644 +--- a/arch/arm64/kernel/setup.c ++++ b/arch/arm64/kernel/setup.c +@@ -43,6 +43,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -59,6 +60,10 @@ + #include + #include + #include ++#include ++ ++int acadia_kvm_acpi=0; ++EXPORT_SYMBOL(acadia_kvm_acpi); + + unsigned int processor_id; + EXPORT_SYMBOL(processor_id); +@@ -385,22 +390,34 @@ void __init setup_arch(char **cmdline_p) + + parse_early_param(); + ++ if (acpi_disabled) ++ disable_acpi(); ++ + efi_init(); + arm64_memblock_init(); + ++ /* Parse the ACPI tables for possible boot-time configuration */ ++ acpi_boot_table_init(); ++ + paging_init(); + request_standard_resources(); + + efi_idmap_init(); + +- unflatten_device_tree(); +- +- psci_init(); +- + cpu_logical_map(0) = read_cpuid_mpidr() & MPIDR_HWID_BITMASK; +- cpu_read_bootcpu_ops(); ++ if (acpi_disabled) { ++ unflatten_device_tree(); ++ psci_dt_init(); ++ cpu_read_bootcpu_ops(); ++#ifdef CONFIG_SMP ++ of_smp_init_cpus(); ++#endif ++ } else { ++ psci_acpi_init(); ++ acpi_smp_init_cpus(); ++ } ++ + #ifdef CONFIG_SMP +- smp_init_cpus(); + smp_build_mpidr_hash(); + #endif + +@@ -413,6 +430,19 @@ void __init setup_arch(char **cmdline_p) + #endif + } + ++static int __init parse_kvm_acpi(char *arg) ++{ ++ if (!arg) ++ return -EINVAL; ++ ++ if (strcmp(arg, "on") == 0) { ++ acadia_kvm_acpi = 1; ++ } ++ ++ return 0; ++} ++early_param("kvmacpi", parse_kvm_acpi); ++ + static int __init arm64_device_init(void) + { + of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); +diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c +index 4743397..4e390ac 100644 +--- a/arch/arm64/kernel/smp.c ++++ b/arch/arm64/kernel/smp.c +@@ -321,7 +321,7 @@ void __init smp_prepare_boot_cpu(void) + * cpu logical map array containing MPIDR values related to logical + * cpus. Assumes that cpu_logical_map(0) has already been initialized. + */ +-void __init smp_init_cpus(void) ++void __init of_smp_init_cpus(void) + { + struct device_node *dn = NULL; + unsigned int i, cpu = 1; +diff --git a/arch/arm64/kernel/smp_parking_protocol.c b/arch/arm64/kernel/smp_parking_protocol.c +new file mode 100644 +index 0000000..e1153ce +--- /dev/null ++++ b/arch/arm64/kernel/smp_parking_protocol.c +@@ -0,0 +1,110 @@ ++/* ++ * Parking Protocol SMP initialisation ++ * ++ * Based largely on spin-table method. ++ * ++ * Copyright (C) 2013 ARM Ltd. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program. If not, see . ++ */ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++ ++static phys_addr_t cpu_mailbox_addr[NR_CPUS]; ++ ++static void (*__smp_boot_wakeup)(int cpu); ++ ++void set_smp_boot_wakeup_call(void (*fn)(int cpu)) ++{ ++ __smp_boot_wakeup = fn; ++} ++ ++static int smp_parking_protocol_cpu_init(struct device_node *dn, ++ unsigned int cpu) ++{ ++ /* ++ * Determine the mailbox address. ++ */ ++ if (!acpi_get_cpu_parked_address(cpu, &cpu_mailbox_addr[cpu])) { ++ pr_info("%s: ACPI parked addr=%llx\n", ++ __func__, cpu_mailbox_addr[cpu]); ++ return 0; ++ } ++ ++ pr_err("CPU %d: missing or invalid parking protocol mailbox\n", cpu); ++ ++ return -1; ++} ++ ++static int smp_parking_protocol_cpu_prepare(unsigned int cpu) ++{ ++ return 0; ++} ++ ++struct parking_protocol_mailbox { ++ __le32 cpu_id; ++ __le32 reserved; ++ __le64 entry_point; ++}; ++ ++static int smp_parking_protocol_cpu_boot(unsigned int cpu) ++{ ++ struct parking_protocol_mailbox __iomem *mailbox; ++ ++ if (!cpu_mailbox_addr[cpu] || !__smp_boot_wakeup) ++ return -ENODEV; ++ ++ /* ++ * The mailbox may or may not be inside the linear mapping. ++ * As ioremap_cache will either give us a new mapping or reuse the ++ * existing linear mapping, we can use it to cover both cases. In ++ * either case the memory will be MT_NORMAL. ++ */ ++ mailbox = ioremap_cache(cpu_mailbox_addr[cpu], sizeof(*mailbox)); ++ if (!mailbox) ++ return -ENOMEM; ++ ++ /* ++ * We write the entry point and cpu id as LE regardless of the ++ * native endianess of the kernel. Therefore, any boot-loaders ++ * that read this address need to convert this address to the ++ * Boot-Loader's endianess before jumping. ++ */ ++ writeq(__pa(secondary_entry), &mailbox->entry_point); ++ writel(cpu, &mailbox->cpu_id); ++ __flush_dcache_area(mailbox, sizeof(*mailbox)); ++ __smp_boot_wakeup(cpu); ++ ++ /* temp hack for broken firmware */ ++ sev(); ++ ++ iounmap(mailbox); ++ ++ return 0; ++} ++ ++const struct cpu_operations smp_parking_protocol_ops = { ++ .name = "parking-protocol", ++ .cpu_init = smp_parking_protocol_cpu_init, ++ .cpu_prepare = smp_parking_protocol_cpu_prepare, ++ .cpu_boot = smp_parking_protocol_cpu_boot, ++}; diff --git a/arch/arm64/kernel/smp_spin_table.c b/arch/arm64/kernel/smp_spin_table.c -index 0347d38..70181c1 100644 +index 0347d38..4f93c67 100644 --- a/arch/arm64/kernel/smp_spin_table.c +++ b/arch/arm64/kernel/smp_spin_table.c @@ -20,6 +20,7 @@ @@ -713,7 +2307,7 @@ index 0347d38..70181c1 100644 /* * We write the release address as LE regardless of the native -@@ -79,15 +89,16 @@ static int smp_spin_table_cpu_prepare(unsigned int cpu) +@@ -79,15 +89,17 @@ static int smp_spin_table_cpu_prepare(unsigned int cpu) * boot-loader's endianess before jumping. This is mandated by * the boot protocol. */ @@ -721,7 +2315,8 @@ index 0347d38..70181c1 100644 - - __flush_dcache_area(release_addr, sizeof(release_addr[0])); + writeq_relaxed(__pa(secondary_holding_pen), release_addr); -+ __flush_dcache_area(release_addr, sizeof(*release_addr)); ++ __flush_dcache_area((__force void *)release_addr, ++ sizeof(*release_addr)); /* * Send an event to wake up the secondary CPU. @@ -733,11 +2328,702 @@ index 0347d38..70181c1 100644 return 0; } +diff --git a/arch/arm64/kernel/time.c b/arch/arm64/kernel/time.c +index 1a7125c..42f9195 100644 +--- a/arch/arm64/kernel/time.c ++++ b/arch/arm64/kernel/time.c +@@ -35,6 +35,7 @@ + #include + #include + #include ++#include + + #include + +@@ -72,6 +73,12 @@ void __init time_init(void) + + tick_setup_hrtimer_broadcast(); + ++ /* ++ * Since ACPI or FDT will only one be available in the system, ++ * we can use acpi_generic_timer_init() here safely ++ */ ++ acpi_generic_timer_init(); ++ + arch_timer_rate = arch_timer_get_rate(); + if (!arch_timer_rate) + panic("Unable to initialise architected timer.\n"); +diff --git a/arch/arm64/kvm/hyp-init.S b/arch/arm64/kvm/hyp-init.S +index c319116..fa7e67e 100644 +--- a/arch/arm64/kvm/hyp-init.S ++++ b/arch/arm64/kvm/hyp-init.S +@@ -63,17 +63,21 @@ __do_hyp_init: + mrs x4, tcr_el1 + ldr x5, =TCR_EL2_MASK + and x4, x4, x5 +- ldr x5, =TCR_EL2_FLAGS +- orr x4, x4, x5 +- msr tcr_el2, x4 +- +- ldr x4, =VTCR_EL2_FLAGS + /* + * Read the PARange bits from ID_AA64MMFR0_EL1 and set the PS bits in +- * VTCR_EL2. ++ * TCR_EL2 and both PS bits and T0SZ bits in VTCR_EL2. + */ + mrs x5, ID_AA64MMFR0_EL1 + bfi x4, x5, #16, #3 ++ msr tcr_el2, x4 ++ ++ ldr x4, =VTCR_EL2_FLAGS ++ bfi x4, x5, #16, #3 ++ and x5, x5, #0xf ++ adr x6, t0sz ++ add x6, x6, x5, lsl #2 ++ ldr w5, [x6] ++ orr x4, x4, x5 + msr vtcr_el2, x4 + + mrs x4, mair_el1 +@@ -113,6 +117,10 @@ target: /* We're now in the trampoline code, switch page tables */ + + /* Hello, World! */ + eret ++ ++t0sz: ++ .word VTCR_EL2_T0SZ(32), VTCR_EL2_T0SZ(36), VTCR_EL2_T0SZ(40) ++ .word VTCR_EL2_T0SZ(42), VTCR_EL2_T0SZ(44), VTCR_EL2_T0SZ(48) + ENDPROC(__kvm_hyp_init) + + .ltorg +diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c +index 4164c5a..b864a24 100644 +--- a/arch/arm64/mm/dma-mapping.c ++++ b/arch/arm64/mm/dma-mapping.c +@@ -23,10 +23,13 @@ + #include + #include + #include ++#include + #include + #include + #include + #include ++#include ++#include + + #include + +@@ -319,6 +322,63 @@ static int dma_bus_notifier(struct notifier_block *nb, + if (of_property_read_bool(dev->of_node, "dma-coherent")) + set_dma_ops(dev, &coherent_swiotlb_dma_ops); + ++#ifdef CONFIG_ACPI ++ else if (ACPI_HANDLE(dev)) { ++ acpi_status status; ++ int coherent; ++ ++ /* ++ * Kernel defaults to noncoherent ops but ACPI 5.1 spec says arm64 ++ * defaults to coherent. Set coherent ops if _CCA not found or _CCA ++ * found and non-zero. ++ */ ++ status = acpi_check_coherency(ACPI_HANDLE(dev), &coherent); ++ if (ACPI_FAILURE(status) || coherent) ++ set_dma_ops(dev, &coherent_swiotlb_dma_ops); ++ } ++#endif ++ return NOTIFY_OK; ++} ++ ++static int dma_bus_notifier_pci(struct notifier_block *nb, ++ unsigned long event, void *_dev) ++{ ++ struct device *dev = _dev; ++ ++ if (event != BUS_NOTIFY_ADD_DEVICE) ++ return NOTIFY_DONE; ++ ++ /* ++ * PCI devices won't have an of_node but the bridge will. ++ * Search up the device chain until we find an of_node ++ * to check. ++ */ ++ while (dev) { ++ if (dev->of_node) { ++ if (of_dma_is_coherent(dev->of_node)) ++ set_dma_ops(_dev, &coherent_swiotlb_dma_ops); ++ break; ++ } ++#ifdef CONFIG_ACPI ++ if (ACPI_HANDLE(dev)) { ++ acpi_status status; ++ int coherent; ++ ++ /* ++ * Kernel defaults to noncoherent ops but ACPI 5.1 spec says arm64 ++ * defaults to coherent. Set coherent ops if _CCA not found or _CCA ++ * found and non-zero. ++ */ ++ status = acpi_check_coherency(ACPI_HANDLE(dev), &coherent); ++ if (ACPI_FAILURE(status) || coherent) { ++ set_dma_ops(dev, &coherent_swiotlb_dma_ops); ++ break; ++ } ++ } ++#endif ++ dev = dev->parent; ++ } ++ + return NOTIFY_OK; + } + +@@ -330,6 +390,10 @@ static struct notifier_block amba_bus_nb = { + .notifier_call = dma_bus_notifier, + }; + ++static struct notifier_block pci_bus_nb = { ++ .notifier_call = dma_bus_notifier_pci, ++}; ++ + extern int swiotlb_late_init_with_default_size(size_t default_size); + + static int __init swiotlb_late_init(void) +@@ -341,6 +405,7 @@ static int __init swiotlb_late_init(void) + */ + bus_register_notifier(&platform_bus_type, &platform_bus_nb); + bus_register_notifier(&amba_bustype, &amba_bus_nb); ++ bus_register_notifier(&pci_bus_type, &pci_bus_nb); + + dma_ops = &noncoherent_swiotlb_dma_ops; + +diff --git a/arch/arm64/pci/Makefile b/arch/arm64/pci/Makefile +new file mode 100644 +index 0000000..b8d5dbd +--- /dev/null ++++ b/arch/arm64/pci/Makefile +@@ -0,0 +1 @@ ++obj-y += pci.o +diff --git a/arch/arm64/pci/pci.c b/arch/arm64/pci/pci.c +new file mode 100644 +index 0000000..b03b0eb +--- /dev/null ++++ b/arch/arm64/pci/pci.c +@@ -0,0 +1,28 @@ ++#include ++#include ++#include ++#include ++ ++/** ++ * raw_pci_read - Platform-specific PCI config space access. ++ * ++ * Default empty implementation. Replace with an architecture-specific setup ++ * routine, if necessary. ++ */ ++int __weak raw_pci_read(unsigned int domain, unsigned int bus, ++ unsigned int devfn, int reg, int len, u32 *val) ++{ ++ return -EINVAL; ++} ++ ++int __weak raw_pci_write(unsigned int domain, unsigned int bus, ++ unsigned int devfn, int reg, int len, u32 val) ++{ ++ return -EINVAL; ++} ++ ++/* Root bridge scanning */ ++struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root) ++{ ++ return NULL; ++} +diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig +index d0f3265..3343080 100644 +--- a/drivers/acpi/Kconfig ++++ b/drivers/acpi/Kconfig +@@ -5,8 +5,7 @@ + menuconfig ACPI + bool "ACPI (Advanced Configuration and Power Interface) Support" + depends on !IA64_HP_SIM +- depends on IA64 || X86 +- depends on PCI ++ depends on ((IA64 || X86) && PCI) || ARM64 + select PNP + default y + help +@@ -163,6 +162,7 @@ config ACPI_PROCESSOR + tristate "Processor" + select THERMAL + select CPU_IDLE ++ depends on X86 || IA64 + default y + help + This driver installs ACPI as the idle handler for Linux and uses +@@ -263,7 +263,7 @@ config ACPI_DEBUG + + config ACPI_PCI_SLOT + bool "PCI slot detection driver" +- depends on SYSFS ++ depends on SYSFS && PCI + default n + help + This driver creates entries in /sys/bus/pci/slots/ for all PCI +diff --git a/drivers/acpi/Makefile b/drivers/acpi/Makefile +index 505d4d7..6f3a74d 100644 +--- a/drivers/acpi/Makefile ++++ b/drivers/acpi/Makefile +@@ -23,7 +23,11 @@ acpi-y += nvs.o + + # Power management related files + acpi-y += wakeup.o ++ifeq ($(ARCH), arm64) ++acpi-y += sleep-arm.o ++else # X86, IA64 + acpi-y += sleep.o ++endif + acpi-y += device_pm.o + acpi-$(CONFIG_ACPI_SLEEP) += proc.o + +@@ -39,7 +43,7 @@ acpi-y += processor_core.o + acpi-$(CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC) += processor_pdc.o + acpi-y += ec.o + acpi-$(CONFIG_ACPI_DOCK) += dock.o +-acpi-y += pci_root.o pci_link.o pci_irq.o ++acpi-$(CONFIG_PCI) += pci_root.o pci_link.o pci_irq.o + acpi-y += acpi_lpss.o + acpi-y += acpi_platform.o + acpi-y += acpi_pnp.o +diff --git a/drivers/acpi/acpica/utresrc.c b/drivers/acpi/acpica/utresrc.c +index 14cb6c0..5cd017c 100644 +--- a/drivers/acpi/acpica/utresrc.c ++++ b/drivers/acpi/acpica/utresrc.c +@@ -87,7 +87,9 @@ const char *acpi_gbl_io_decode[] = { + + const char *acpi_gbl_ll_decode[] = { + "ActiveHigh", +- "ActiveLow" ++ "ActiveLow", ++ "ActiveBoth", ++ "Reserved" + }; + + const char *acpi_gbl_max_decode[] = { +diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c +index 8b67bd0..c412fdb 100644 +--- a/drivers/acpi/bus.c ++++ b/drivers/acpi/bus.c +@@ -448,6 +448,9 @@ static int __init acpi_bus_init_irq(void) + case ACPI_IRQ_MODEL_IOSAPIC: + message = "IOSAPIC"; + break; ++ case ACPI_IRQ_MODEL_GIC: ++ message = "GIC"; ++ break; + case ACPI_IRQ_MODEL_PLATFORM: + message = "platform specific model"; + break; +diff --git a/drivers/acpi/internal.h b/drivers/acpi/internal.h +index 4c5cf77..e1e6487 100644 +--- a/drivers/acpi/internal.h ++++ b/drivers/acpi/internal.h +@@ -26,8 +26,13 @@ + acpi_status acpi_os_initialize1(void); + int init_acpi_device_notify(void); + int acpi_scan_init(void); ++#ifdef CONFIG_PCI + void acpi_pci_root_init(void); + void acpi_pci_link_init(void); ++#else ++static inline void acpi_pci_root_init(void) {} ++static inline void acpi_pci_link_init(void) {} ++#endif + void acpi_processor_init(void); + void acpi_platform_init(void); + void acpi_pnp_init(void); +diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c +index 3abe9b2..c50757b 100644 +--- a/drivers/acpi/osl.c ++++ b/drivers/acpi/osl.c +@@ -326,11 +326,11 @@ acpi_map_lookup_virt(void __iomem *virt, acpi_size size) + return NULL; + } + +-#ifndef CONFIG_IA64 +-#define should_use_kmap(pfn) page_is_ram(pfn) +-#else ++#if defined(CONFIG_IA64) || defined(CONFIG_ARM) || defined(CONFIG_ARM64) + /* ioremap will take care of cache attributes */ + #define should_use_kmap(pfn) 0 ++#else ++#define should_use_kmap(pfn) page_is_ram(pfn) + #endif + + static void __iomem *acpi_map(acpi_physical_address pg_off, unsigned long pg_sz) +diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c +index e32321c..4007313 100644 +--- a/drivers/acpi/processor_core.c ++++ b/drivers/acpi/processor_core.c +@@ -64,6 +64,38 @@ static int map_lsapic_id(struct acpi_subtable_header *entry, + return 0; + } + ++/* ++ * On ARM platform, MPIDR value is the hardware ID as apic ID ++ * on Intel platforms ++ */ ++static int map_gicc_mpidr(struct acpi_subtable_header *entry, ++ int device_declaration, u32 acpi_id, int *mpidr) ++{ ++ struct acpi_madt_generic_interrupt *gicc = ++ container_of(entry, struct acpi_madt_generic_interrupt, header); ++ ++ if (!(gicc->flags & ACPI_MADT_ENABLED)) ++ return -ENODEV; ++ ++ /* In the GIC interrupt model, logical processors are ++ * required to have a Processor Device object in the DSDT, ++ * so we should check device_declaration here ++ */ ++ if (device_declaration && (gicc->uid == acpi_id)) { ++ /* ++ * Only bits [0:7] Aff0, bits [8:15] Aff1, bits [16:23] Aff2 ++ * and bits [32:39] Aff3 are meaningful, so pack the Affx ++ * fields into a single 32 bit identifier to accommodate the ++ * acpi processor drivers. ++ */ ++ *mpidr = ((gicc->arm_mpidr & 0xff00000000) >> 8) ++ | gicc->arm_mpidr; ++ return 0; ++ } ++ ++ return -EINVAL; ++} ++ + static int map_madt_entry(int type, u32 acpi_id) + { + unsigned long madt_end, entry; +@@ -99,6 +131,9 @@ static int map_madt_entry(int type, u32 acpi_id) + } else if (header->type == ACPI_MADT_TYPE_LOCAL_SAPIC) { + if (!map_lsapic_id(header, type, acpi_id, &apic_id)) + break; ++ } else if (header->type == ACPI_MADT_TYPE_GENERIC_INTERRUPT) { ++ if (!map_gicc_mpidr(header, type, acpi_id, &apic_id)) ++ break; + } + entry += header->length; + } +@@ -131,6 +166,8 @@ static int map_mat_entry(acpi_handle handle, int type, u32 acpi_id) + map_lsapic_id(header, type, acpi_id, &apic_id); + } else if (header->type == ACPI_MADT_TYPE_LOCAL_X2APIC) { + map_x2apic_id(header, type, acpi_id, &apic_id); ++ } else if (header->type == ACPI_MADT_TYPE_GENERIC_INTERRUPT) { ++ map_gicc_mpidr(header, type, acpi_id, &apic_id); + } + + exit: +diff --git a/drivers/acpi/sleep-arm.c b/drivers/acpi/sleep-arm.c +new file mode 100644 +index 0000000..54578ef +--- /dev/null ++++ b/drivers/acpi/sleep-arm.c +@@ -0,0 +1,28 @@ ++/* ++ * ARM64 Specific Sleep Functionality ++ * ++ * Copyright (C) 2013-2014, Linaro Ltd. ++ * Author: Graeme Gregory ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ */ ++ ++#include ++ ++/* ++ * Currently the ACPI 5.1 standard does not define S states in a ++ * manner which is usable for ARM64. These two stubs are sufficient ++ * that system initialises and device PM works. ++ */ ++u32 acpi_target_system_state(void) ++{ ++ return ACPI_STATE_S0; ++} ++EXPORT_SYMBOL_GPL(acpi_target_system_state); ++ ++int __init acpi_sleep_init(void) ++{ ++ return -ENOSYS; ++} +diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c +index 6d5a6cd..47f36d4 100644 +--- a/drivers/acpi/tables.c ++++ b/drivers/acpi/tables.c +@@ -183,6 +183,49 @@ void acpi_table_print_madt_entry(struct acpi_subtable_header *header) + } + break; + ++ case ACPI_MADT_TYPE_GENERIC_INTERRUPT: ++ { ++ struct acpi_madt_generic_interrupt *p = ++ (struct acpi_madt_generic_interrupt *)header; ++ pr_info("GICC (acpi_id[0x%04x] address[%p] MPDIR[0x%llx] %s)\n", ++ p->uid, (void *)(unsigned long)p->base_address, ++ p->arm_mpidr, ++ (p->flags & ACPI_MADT_ENABLED) ? "enabled" : "disabled"); ++ ++ } ++ break; ++ ++ case ACPI_MADT_TYPE_GENERIC_DISTRIBUTOR: ++ { ++ struct acpi_madt_generic_distributor *p = ++ (struct acpi_madt_generic_distributor *)header; ++ pr_info("GIC Distributor (gic_id[0x%04x] address[%p] gsi_base[%d])\n", ++ p->gic_id, ++ (void *)(unsigned long)p->base_address, ++ p->global_irq_base); ++ } ++ break; ++ ++ case ACPI_MADT_TYPE_GENERIC_MSI_FRAME: ++ { ++ struct acpi_madt_generic_msi_frame *p = ++ (struct acpi_madt_generic_msi_frame *)header; ++ pr_info("GIC MSI Frame (msi_fame_id[%d] address[%p])\n", ++ p->msi_frame_id, ++ (void *)(unsigned long)p->base_address); ++ } ++ break; ++ ++ case ACPI_MADT_TYPE_GENERIC_REDISTRIBUTOR: ++ { ++ struct acpi_madt_generic_redistributor *p = ++ (struct acpi_madt_generic_redistributor *)header; ++ pr_info("GIC Redistributor (address[%p] region_size[0x%x])\n", ++ (void *)(unsigned long)p->base_address, ++ p->length); ++ } ++ break; ++ + default: + pr_warn("Found unsupported MADT entry (type = 0x%x)\n", + header->type); +@@ -192,17 +235,14 @@ void acpi_table_print_madt_entry(struct acpi_subtable_header *header) + + + int __init +-acpi_table_parse_entries(char *id, +- unsigned long table_size, +- int entry_id, +- acpi_tbl_entry_handler handler, +- unsigned int max_entries) ++acpi_parse_entries(unsigned long table_size, ++ acpi_tbl_entry_handler handler, ++ struct acpi_table_header *table_header, ++ int entry_id, unsigned int max_entries) + { +- struct acpi_table_header *table_header = NULL; + struct acpi_subtable_header *entry; +- unsigned int count = 0; ++ int count = 0; + unsigned long table_end; +- acpi_size tbl_size; + + if (acpi_disabled) + return -ENODEV; +@@ -210,13 +250,11 @@ acpi_table_parse_entries(char *id, + if (!handler) + return -EINVAL; + +- if (strncmp(id, ACPI_SIG_MADT, 4) == 0) +- acpi_get_table_with_size(id, acpi_apic_instance, &table_header, &tbl_size); +- else +- acpi_get_table_with_size(id, 0, &table_header, &tbl_size); ++ if (!table_size) ++ return -EINVAL; + + if (!table_header) { +- pr_warn("%4.4s not present\n", id); ++ pr_warn("Table header not present\n"); + return -ENODEV; + } + +@@ -230,32 +268,67 @@ acpi_table_parse_entries(char *id, + while (((unsigned long)entry) + sizeof(struct acpi_subtable_header) < + table_end) { + if (entry->type == entry_id +- && (!max_entries || count++ < max_entries)) ++ && (!max_entries || count < max_entries)) { + if (handler(entry, table_end)) +- goto err; ++ return -EINVAL; ++ ++ count++; ++ } + + /* + * If entry->length is 0, break from this loop to avoid + * infinite loop. + */ + if (entry->length == 0) { +- pr_err("[%4.4s:0x%02x] Invalid zero length\n", id, entry_id); +- goto err; ++ pr_err("[0x%02x] Invalid zero length\n", entry_id); ++ return -EINVAL; + } + + entry = (struct acpi_subtable_header *) + ((unsigned long)entry + entry->length); + } ++ + if (max_entries && count > max_entries) { + pr_warn("[%4.4s:0x%02x] ignored %i entries of %i found\n", +- id, entry_id, count - max_entries, count); ++ table_header->signature, entry_id, count - max_entries, ++ count); + } + +- early_acpi_os_unmap_memory((char *)table_header, tbl_size); + return count; +-err: ++} ++ ++int __init ++acpi_table_parse_entries(char *id, ++ unsigned long table_size, ++ int entry_id, ++ acpi_tbl_entry_handler handler, ++ unsigned int max_entries) ++{ ++ struct acpi_table_header *table_header = NULL; ++ acpi_size tbl_size; ++ int count; ++ ++ if (acpi_disabled) ++ return -ENODEV; ++ ++ if (!handler) ++ return -EINVAL; ++ ++ if (strncmp(id, ACPI_SIG_MADT, 4) == 0) ++ acpi_get_table_with_size(id, acpi_apic_instance, &table_header, &tbl_size); ++ else ++ acpi_get_table_with_size(id, 0, &table_header, &tbl_size); ++ ++ if (!table_header) { ++ pr_warn("%4.4s not present\n", id); ++ return -ENODEV; ++ } ++ ++ count = acpi_parse_entries(table_size, handler, table_header, ++ entry_id, max_entries); ++ + early_acpi_os_unmap_memory((char *)table_header, tbl_size); +- return -EINVAL; ++ return count; + } + + int __init +diff --git a/drivers/acpi/utils.c b/drivers/acpi/utils.c +index 07c8c5a..aec9656 100644 +--- a/drivers/acpi/utils.c ++++ b/drivers/acpi/utils.c +@@ -698,3 +698,29 @@ bool acpi_check_dsm(acpi_handle handle, const u8 *uuid, int rev, u64 funcs) + return false; + } + EXPORT_SYMBOL(acpi_check_dsm); ++ ++/** ++ * acpi_check_coherency - check for memory coherency of a device ++ * @handle: ACPI device handle ++ * @val: Pointer to returned value ++ * ++ * Search a device and its parents for a _CCA method and return ++ * its value. ++ */ ++acpi_status acpi_check_coherency(acpi_handle handle, int *val) ++{ ++ unsigned long long data; ++ acpi_status status; ++ ++ do { ++ status = acpi_evaluate_integer(handle, "_CCA", NULL, &data); ++ if (!ACPI_FAILURE(status)) { ++ *val = data; ++ break; ++ } ++ status = acpi_get_parent(handle, &handle); ++ } while (!ACPI_FAILURE(status)); ++ ++ return status; ++} ++EXPORT_SYMBOL(acpi_check_coherency); +diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig +index e1b9278..f2e6c9e 100644 +--- a/drivers/ata/Kconfig ++++ b/drivers/ata/Kconfig +@@ -48,7 +48,7 @@ config ATA_VERBOSE_ERROR + + config ATA_ACPI + bool "ATA ACPI Support" +- depends on ACPI && PCI ++ depends on ACPI + default y + help + This option adds support for ATA-related ACPI objects. +diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c +index f61ddb9..3499bab 100644 +--- a/drivers/ata/ahci_platform.c ++++ b/drivers/ata/ahci_platform.c +@@ -20,6 +20,9 @@ + #include + #include + #include ++#ifdef CONFIG_ATA_ACPI ++#include ++#endif + #include "ahci.h" + + static const struct ata_port_info ahci_port_info = { +@@ -87,6 +90,13 @@ static const struct of_device_id ahci_of_match[] = { + }; + MODULE_DEVICE_TABLE(of, ahci_of_match); + ++#ifdef CONFIG_ATA_ACPI ++static const struct acpi_device_id ahci_acpi_match[] = { ++ { "AMDI0600", 0 }, /* AMD Seattle AHCI */ ++ { }, ++}; ++#endif ++ + static struct platform_driver ahci_driver = { + .probe = ahci_probe, + .remove = ata_platform_remove_one, +@@ -94,6 +104,9 @@ static struct platform_driver ahci_driver = { + .name = "ahci", + .owner = THIS_MODULE, + .of_match_table = ahci_of_match, ++#ifdef CONFIG_ATA_ACPI ++ .acpi_match_table = ACPI_PTR(ahci_acpi_match), ++#endif + .pm = &ahci_pm_ops, + }, + }; diff --git a/drivers/ata/ahci_xgene.c b/drivers/ata/ahci_xgene.c -index bc28111..00e5a0c 100644 +index f03aab1..b02ba9d 100644 --- a/drivers/ata/ahci_xgene.c +++ b/drivers/ata/ahci_xgene.c -@@ -134,7 +134,8 @@ static unsigned int xgene_ahci_qc_issue(struct ata_queued_cmd *qc) +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + #include "ahci.h" + + /* Max # of disk per a controller */ +@@ -137,7 +138,8 @@ static unsigned int xgene_ahci_qc_issue(struct ata_queued_cmd *qc) struct xgene_ahci_context *ctx = hpriv->plat_data; int rc = 0; @@ -747,165 +3033,445 @@ index bc28111..00e5a0c 100644 xgene_ahci_restart_engine(ap); rc = ahci_qc_issue(qc); +@@ -148,14 +150,6 @@ static unsigned int xgene_ahci_qc_issue(struct ata_queued_cmd *qc) + return rc; + } + +-static bool xgene_ahci_is_memram_inited(struct xgene_ahci_context *ctx) +-{ +- void __iomem *diagcsr = ctx->csr_diag; +- +- return (readl(diagcsr + CFG_MEM_RAM_SHUTDOWN) == 0 && +- readl(diagcsr + BLOCK_MEM_RDY) == 0xFFFFFFFF); +-} +- + /** + * xgene_ahci_read_id - Read ID data from the specified device + * @dev: device +@@ -495,11 +489,6 @@ static int xgene_ahci_probe(struct platform_device *pdev) + return -ENODEV; + } + +- if (xgene_ahci_is_memram_inited(ctx)) { +- dev_info(dev, "skip clock and PHY initialization\n"); +- goto skip_clk_phy; +- } +- + /* Due to errata, HW requires full toggle transition */ + rc = ahci_platform_enable_clks(hpriv); + if (rc) +@@ -512,7 +501,7 @@ static int xgene_ahci_probe(struct platform_device *pdev) + + /* Configure the host controller */ + xgene_ahci_hw_init(hpriv); +-skip_clk_phy: ++ + hpriv->flags = AHCI_HFLAG_NO_PMP | AHCI_HFLAG_NO_NCQ; + + rc = ahci_platform_init_host(pdev, hpriv, &xgene_ahci_port_info); +@@ -527,6 +516,16 @@ disable_resources: + return rc; + } + ++#ifdef CONFIG_ACPI ++static const struct acpi_device_id xgene_ahci_acpi_match[] = { ++ { "APMC0D00", }, ++ { "APMC0D0D", }, ++ { "APMC0D09", }, ++ { } ++}; ++MODULE_DEVICE_TABLE(acpi, xgene_ahci_acpi_match); ++#endif ++ + static const struct of_device_id xgene_ahci_of_match[] = { + {.compatible = "apm,xgene-ahci"}, + {}, +@@ -540,6 +539,7 @@ static struct platform_driver xgene_ahci_driver = { + .name = "xgene-ahci", + .owner = THIS_MODULE, + .of_match_table = xgene_ahci_of_match, ++ .acpi_match_table = ACPI_PTR(xgene_ahci_acpi_match), + }, + }; + +diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c +index 5163ec1..1bec05b 100644 +--- a/drivers/clocksource/arm_arch_timer.c ++++ b/drivers/clocksource/arm_arch_timer.c +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -61,7 +62,8 @@ enum ppi_nr { + MAX_TIMER_PPI + }; + +-static int arch_timer_ppi[MAX_TIMER_PPI]; ++int arch_timer_ppi[MAX_TIMER_PPI]; ++EXPORT_SYMBOL(arch_timer_ppi); + + static struct clock_event_device __percpu *arch_timer_evt; + +@@ -338,8 +340,12 @@ arch_timer_detect_rate(void __iomem *cntbase, struct device_node *np) + if (arch_timer_rate) + return; + +- /* Try to determine the frequency from the device tree or CNTFRQ */ +- if (of_property_read_u32(np, "clock-frequency", &arch_timer_rate)) { ++ /* ++ * Try to determine the frequency from the device tree or CNTFRQ, ++ * if ACPI is enabled, get the frequency from CNTFRQ ONLY. ++ */ ++ if (!acpi_disabled || ++ of_property_read_u32(np, "clock-frequency", &arch_timer_rate)) { + if (cntbase) + arch_timer_rate = readl_relaxed(cntbase + CNTFRQ); + else +@@ -635,20 +641,8 @@ static void __init arch_timer_common_init(void) + arch_timer_arch_init(); + } + +-static void __init arch_timer_init(struct device_node *np) ++static void __init arch_timer_init(void) + { +- int i; +- +- if (arch_timers_present & ARCH_CP15_TIMER) { +- pr_warn("arch_timer: multiple nodes in dt, skipping\n"); +- return; +- } +- +- arch_timers_present |= ARCH_CP15_TIMER; +- for (i = PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++) +- arch_timer_ppi[i] = irq_of_parse_and_map(np, i); +- arch_timer_detect_rate(NULL, np); +- + /* + * If HYP mode is available, we know that the physical timer + * has been configured to be accessible from PL1. Use it, so +@@ -667,13 +661,31 @@ static void __init arch_timer_init(struct device_node *np) + } + } + +- arch_timer_c3stop = !of_property_read_bool(np, "always-on"); +- + arch_timer_register(); + arch_timer_common_init(); + } +-CLOCKSOURCE_OF_DECLARE(armv7_arch_timer, "arm,armv7-timer", arch_timer_init); +-CLOCKSOURCE_OF_DECLARE(armv8_arch_timer, "arm,armv8-timer", arch_timer_init); ++ ++static void __init arch_timer_of_init(struct device_node *np) ++{ ++ int i; ++ ++ if (arch_timers_present & ARCH_CP15_TIMER) { ++ pr_warn("arch_timer: multiple nodes in dt, skipping\n"); ++ return; ++ } ++ ++ arch_timers_present |= ARCH_CP15_TIMER; ++ for (i = PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++) ++ arch_timer_ppi[i] = irq_of_parse_and_map(np, i); ++ ++ arch_timer_detect_rate(NULL, np); ++ ++ arch_timer_c3stop = !of_property_read_bool(np, "always-on"); ++ ++ arch_timer_init(); ++} ++CLOCKSOURCE_OF_DECLARE(armv7_arch_timer, "arm,armv7-timer", arch_timer_of_init); ++CLOCKSOURCE_OF_DECLARE(armv8_arch_timer, "arm,armv8-timer", arch_timer_of_init); + + static void __init arch_timer_mem_init(struct device_node *np) + { +@@ -740,3 +752,71 @@ static void __init arch_timer_mem_init(struct device_node *np) + } + CLOCKSOURCE_OF_DECLARE(armv7_arch_timer_mem, "arm,armv7-timer-mem", + arch_timer_mem_init); ++ ++#ifdef CONFIG_ACPI ++static int __init ++map_generic_timer_interrupt(u32 interrupt, u32 flags) ++{ ++ int trigger, polarity; ++ ++ if (!interrupt) ++ return 0; ++ ++ trigger = (flags & ACPI_GTDT_INTERRUPT_MODE) ? ACPI_EDGE_SENSITIVE ++ : ACPI_LEVEL_SENSITIVE; ++ ++ polarity = (flags & ACPI_GTDT_INTERRUPT_POLARITY) ? ACPI_ACTIVE_LOW ++ : ACPI_ACTIVE_HIGH; ++ ++ return acpi_register_gsi(NULL, interrupt, trigger, polarity); ++} ++ ++/* Initialize per-processor generic timer */ ++static int __init arch_timer_acpi_init(struct acpi_table_header *table) ++{ ++ struct acpi_table_gtdt *gtdt; ++ ++ if (arch_timers_present & ARCH_CP15_TIMER) { ++ pr_warn("arch_timer: already initialized, skipping\n"); ++ return -EINVAL; ++ } ++ ++ gtdt = container_of(table, struct acpi_table_gtdt, header); ++ ++ arch_timers_present |= ARCH_CP15_TIMER; ++ ++ arch_timer_ppi[PHYS_SECURE_PPI] = ++ map_generic_timer_interrupt(gtdt->secure_el1_interrupt, ++ gtdt->secure_el1_flags); ++ ++ arch_timer_ppi[PHYS_NONSECURE_PPI] = ++ map_generic_timer_interrupt(gtdt->non_secure_el1_interrupt, ++ gtdt->non_secure_el1_flags); ++ ++ arch_timer_ppi[VIRT_PPI] = ++ map_generic_timer_interrupt(gtdt->virtual_timer_interrupt, ++ gtdt->virtual_timer_flags); ++ ++ arch_timer_ppi[HYP_PPI] = ++ map_generic_timer_interrupt(gtdt->non_secure_el2_interrupt, ++ gtdt->non_secure_el2_flags); ++ ++ /* Get the frequency from CNTFRQ */ ++ arch_timer_detect_rate(NULL, NULL); ++ ++ /* Always-on capability */ ++ arch_timer_c3stop = !(gtdt->non_secure_el1_flags & ACPI_GTDT_ALWAYS_ON); ++ ++ arch_timer_init(); ++ return 0; ++} ++ ++/* Initialize all the generic timers presented in GTDT */ ++void __init acpi_generic_timer_init(void) ++{ ++ if (acpi_disabled) ++ return; ++ ++ acpi_table_parse(ACPI_SIG_GTDT, arch_timer_acpi_init); ++} ++#endif +diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c +index a0698b4..d2da911 100644 +--- a/drivers/irqchip/irq-gic-v3.c ++++ b/drivers/irqchip/irq-gic-v3.c +@@ -490,9 +490,19 @@ static void gic_raise_softirq(const struct cpumask *mask, unsigned int irq) + isb(); + } + ++#ifdef CONFIG_ARM_PARKING_PROTOCOL ++static void gic_wakeup_parked_cpu(int cpu) ++{ ++ gic_raise_softirq(cpumask_of(cpu), 0); ++} ++#endif ++ + static void gic_smp_init(void) + { + set_smp_cross_call(gic_raise_softirq); ++#ifdef CONFIG_ARM_PARKING_PROTOCOL ++ set_smp_boot_wakeup_call(gic_wakeup_parked_cpu); ++#endif + register_cpu_notifier(&gic_cpu_notifier); + } + diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c -index 4b959e6..c36c7ab55 100644 +index dda6dbc..5d9bdd3 100644 --- a/drivers/irqchip/irq-gic.c +++ b/drivers/irqchip/irq-gic.c -@@ -381,6 +381,7 @@ static void gic_cpu_init(struct gic_chip_data *gic) - void __iomem *dist_base = gic_data_dist_base(gic); - void __iomem *base = gic_data_cpu_base(gic); - unsigned int cpu_mask, cpu = smp_processor_id(); -+ unsigned int ctrl_mask; - int i; +@@ -33,12 +33,14 @@ + #include + #include + #include ++#include + #include + #include + #include + #include + #include + #include ++#include - /* -@@ -401,13 +402,29 @@ static void gic_cpu_init(struct gic_chip_data *gic) - gic_cpu_config(dist_base, NULL); + #include + #include +@@ -622,6 +624,13 @@ static void gic_raise_softirq(const struct cpumask *mask, unsigned int irq) - writel_relaxed(0xf0, base + GIC_CPU_PRIMASK); -- writel_relaxed(1, base + GIC_CPU_CTRL); -+ -+ ctrl_mask = readl(base + GIC_CPU_CTRL); -+ -+ /* Mask out the gic v2 bypass bits */ -+ ctrl_mask &= 0x1e0; -+ -+ /* Enable group 0 */ -+ ctrl_mask |= 0x1; -+ writel_relaxed(ctrl_mask, base + GIC_CPU_CTRL); + raw_spin_unlock_irqrestore(&irq_controller_lock, flags); } - - void gic_cpu_if_down(void) - { -+ unsigned int ctrl_mask; - void __iomem *cpu_base = gic_data_cpu_base(&gic_data[0]); -- writel_relaxed(0, cpu_base + GIC_CPU_CTRL); + -+ ctrl_mask = readl(cpu_base + GIC_CPU_CTRL); ++#ifdef CONFIG_ARM_PARKING_PROTOCOL ++static void gic_wakeup_parked_cpu(int cpu) ++{ ++ gic_raise_softirq(cpumask_of(cpu), GIC_DIST_SOFTINT_NSATT); ++} ++#endif + #endif + + #ifdef CONFIG_BL_SWITCHER +@@ -977,6 +986,9 @@ void __init gic_init_bases(unsigned int gic_nr, int irq_start, + #ifdef CONFIG_SMP + set_smp_cross_call(gic_raise_softirq); + register_cpu_notifier(&gic_cpu_notifier); ++#ifdef CONFIG_ARM_PARKING_PROTOCOL ++ set_smp_boot_wakeup_call(gic_wakeup_parked_cpu); ++#endif + #endif + set_handle_irq(gic_handle_irq); + } +@@ -1029,3 +1041,107 @@ IRQCHIP_DECLARE(msm_8660_qgic, "qcom,msm-8660-qgic", gic_of_init); + IRQCHIP_DECLARE(msm_qgic2, "qcom,msm-qgic2", gic_of_init); + + #endif ++ ++#ifdef CONFIG_ACPI ++static phys_addr_t dist_phy_base, cpu_phy_base; ++static int cpu_base_assigned; ++ ++static int __init ++gic_acpi_parse_madt_cpu(struct acpi_subtable_header *header, ++ const unsigned long end) ++{ ++ struct acpi_madt_generic_interrupt *processor; ++ phys_addr_t gic_cpu_base; ++ ++ processor = (struct acpi_madt_generic_interrupt *)header; ++ ++ if (BAD_MADT_ENTRY(processor, end)) ++ return -EINVAL; ++ + /* -+ * Disable grp enable bit, leave the bypass bits alone as changing -+ * them could leave the system unstable ++ * There is no support for non-banked GICv1/2 register in ACPI spec. ++ * All CPU interface addresses have to be the same. + */ -+ ctrl_mask &= 0x1e0; -+ writel_relaxed(ctrl_mask, cpu_base + GIC_CPU_CTRL); - } ++ gic_cpu_base = processor->base_address; ++ if (cpu_base_assigned && gic_cpu_base != cpu_phy_base) ++ return -EFAULT; ++ ++ cpu_phy_base = gic_cpu_base; ++ cpu_base_assigned = 1; ++ return 0; ++} ++ ++static int __init ++gic_acpi_parse_madt_distributor(struct acpi_subtable_header *header, ++ const unsigned long end) ++{ ++ struct acpi_madt_generic_distributor *dist; ++ ++ dist = (struct acpi_madt_generic_distributor *)header; ++ ++ if (BAD_MADT_ENTRY(dist, end)) ++ return -EINVAL; ++ ++ dist_phy_base = dist->base_address; ++ return 0; ++} ++ ++int __init ++gic_v2_acpi_init(struct acpi_table_header *table) ++{ ++ void __iomem *cpu_base, *dist_base; ++ int count; ++ ++ /* Collect CPU base addresses */ ++ count = acpi_parse_entries(sizeof(struct acpi_table_madt), ++ gic_acpi_parse_madt_cpu, table, ++ ACPI_MADT_TYPE_GENERIC_INTERRUPT, 0); ++ if (count < 0) { ++ pr_err("Error during GICC entries parsing\n"); ++ return -EFAULT; ++ } else if (!count) { ++ pr_err("No valid GICC entries exist\n"); ++ return -EINVAL; ++ } ++ ++ /* ++ * Find distributor base address. We expect one distributor entry since ++ * ACPI 5.1 spec neither support multi-GIC instances nor GIC cascade. ++ */ ++ count = acpi_parse_entries(sizeof(struct acpi_table_madt), ++ gic_acpi_parse_madt_distributor, table, ++ ACPI_MADT_TYPE_GENERIC_DISTRIBUTOR, 0); ++ if (count <= 0) { ++ pr_err("Error during GICD entries parsing\n"); ++ return -EFAULT; ++ } else if (!count) { ++ pr_err("No valid GICD entries exist\n"); ++ return -EINVAL; ++ } else if (count > 1) { ++ pr_err("More than one GICD entry detected\n"); ++ return -EINVAL; ++ } ++ ++ cpu_base = ioremap(cpu_phy_base, ACPI_GIC_CPU_IF_MEM_SIZE); ++ if (!cpu_base) { ++ pr_err("Unable to map GICC registers\n"); ++ return -ENOMEM; ++ } ++ ++ dist_base = ioremap(dist_phy_base, ACPI_GICV2_DIST_MEM_SIZE); ++ if (!dist_base) { ++ pr_err("Unable to map GICD registers\n"); ++ iounmap(cpu_base); ++ return -ENOMEM; ++ } ++ ++ /* ++ * Initialize zero GIC instance (no multi-GIC support). Also, set GIC ++ * as default IRQ domain to allow for GSI registration and GSI to IRQ ++ * number translation (see acpi_register_gsi() and acpi_gsi_to_irq()). ++ */ ++ gic_init_bases(0, -1, dist_base, cpu_base, 0, NULL); ++ irq_set_default_host(gic_data[0].domain); ++ return 0; ++} ++#endif +diff --git a/drivers/irqchip/irqchip.c b/drivers/irqchip/irqchip.c +index 0fe2f71..9106c6d 100644 +--- a/drivers/irqchip/irqchip.c ++++ b/drivers/irqchip/irqchip.c +@@ -11,6 +11,7 @@ + #include + #include + #include ++#include - #ifdef CONFIG_CPU_PM -@@ -518,6 +535,7 @@ static void gic_cpu_restore(unsigned int gic_nr) + /* + * This special of_device_id is the sentinel at the end of the +@@ -26,4 +27,6 @@ extern struct of_device_id __irqchip_of_table[]; + void __init irqchip_init(void) { - int i; - u32 *ptr; -+ unsigned int ctrl_mask; - void __iomem *dist_base; - void __iomem *cpu_base; - -@@ -542,7 +560,15 @@ static void gic_cpu_restore(unsigned int gic_nr) - writel_relaxed(0xa0a0a0a0, dist_base + GIC_DIST_PRI + i * 4); - - writel_relaxed(0xf0, cpu_base + GIC_CPU_PRIMASK); -- writel_relaxed(1, cpu_base + GIC_CPU_CTRL); + of_irq_init(__irqchip_of_table); + -+ ctrl_mask = readl(cpu_base + GIC_CPU_CTRL); -+ -+ /* Mask out the gic v2 bypass bits */ -+ ctrl_mask &= 0x1e0; -+ -+ /* Enable group 0 */ -+ ctrl_mask |= 0x1; -+ writel_relaxed(ctrl_mask, cpu_base + GIC_CPU_CTRL); ++ acpi_gic_init(); } - - static int gic_notifier(struct notifier_block *self, unsigned long cmd, void *v) diff --git a/drivers/of/address.c b/drivers/of/address.c -index e371825..5eaadae 100644 +index e371825..afdb782 100644 --- a/drivers/of/address.c +++ b/drivers/of/address.c -@@ -5,6 +5,7 @@ +@@ -5,6 +5,8 @@ #include #include #include ++#include +#include #include /* Max address size we deal with */ -@@ -601,12 +602,72 @@ const __be32 *of_get_address(struct device_node *dev, int index, u64 *size, +@@ -293,6 +295,51 @@ struct of_pci_range *of_pci_range_parser_one(struct of_pci_range_parser *parser, } - EXPORT_SYMBOL(of_get_address); + EXPORT_SYMBOL_GPL(of_pci_range_parser_one); -+struct io_range { -+ struct list_head list; -+ phys_addr_t start; -+ resource_size_t size; -+}; -+ -+static LIST_HEAD(io_range_list); -+ -+/* -+ * Record the PCI IO range (expressed as CPU physical address + size). -+ * Return a negative value if an error has occured, zero otherwise -+ */ -+int __weak pci_register_io_range(phys_addr_t addr, resource_size_t size) -+{ -+#ifdef PCI_IOBASE -+ struct io_range *res; -+ resource_size_t allocated_size = 0; -+ -+ /* check if the range hasn't been previously recorded */ -+ list_for_each_entry(res, &io_range_list, list) { -+ if (addr >= res->start && addr + size <= res->start + size) -+ return 0; -+ allocated_size += res->size; -+ } -+ -+ /* range not registed yet, check for available space */ -+ if (allocated_size + size - 1 > IO_SPACE_LIMIT) -+ return -E2BIG; -+ -+ /* add the range to the list */ -+ res = kzalloc(sizeof(*res), GFP_KERNEL); -+ if (!res) -+ return -ENOMEM; -+ -+ res->start = addr; -+ res->size = size; -+ -+ list_add_tail(&res->list, &io_range_list); -+ -+ return 0; -+#else -+ return -EINVAL; -+#endif -+} -+ - unsigned long __weak pci_address_to_pio(phys_addr_t address) - { -+#ifdef PCI_IOBASE -+ struct io_range *res; -+ resource_size_t offset = 0; -+ -+ list_for_each_entry(res, &io_range_list, list) { -+ if (address >= res->start && -+ address < res->start + res->size) { -+ return res->start - address + offset; -+ } -+ offset += res->size; -+ } -+ -+ return (unsigned long)-1; -+#else - if (address > IO_SPACE_LIMIT) - return (unsigned long)-1; - - return (unsigned long) address; -+#endif - } - - static int __of_address_to_resource(struct device_node *dev, -@@ -847,3 +908,50 @@ bool of_dma_is_coherent(struct device_node *np) - return false; - } - EXPORT_SYMBOL_GPL(of_dma_is_coherent); -+ +/* + * of_pci_range_to_resource - Create a resource from an of_pci_range + * @range: the PCI range that describes the resource @@ -922,7 +3488,7 @@ index e371825..5eaadae 100644 + * If that fails we know that pci_address_to_pio() will do too. + */ +int of_pci_range_to_resource(struct of_pci_range *range, -+ struct device_node *np, struct resource *res) ++ struct device_node *np, struct resource *res) +{ + int err; + res->flags = range->flags; @@ -930,7 +3496,7 @@ index e371825..5eaadae 100644 + res->name = np->full_name; + + if (res->flags & IORESOURCE_IO) { -+ unsigned long port = -1; ++ unsigned long port; + err = pci_register_io_range(range->cpu_addr, range->size); + if (err) + goto invalid_range; @@ -951,61 +3517,242 @@ index e371825..5eaadae 100644 + res->end = (resource_size_t)OF_BAD_ADDR; + return err; +} + #endif /* CONFIG_PCI */ + + /* +@@ -601,12 +648,119 @@ const __be32 *of_get_address(struct device_node *dev, int index, u64 *size, + } + EXPORT_SYMBOL(of_get_address); + ++#ifdef PCI_IOBASE ++struct io_range { ++ struct list_head list; ++ phys_addr_t start; ++ resource_size_t size; ++}; + ++static LIST_HEAD(io_range_list); ++static DEFINE_SPINLOCK(io_range_lock); ++#endif ++ ++/* ++ * Record the PCI IO range (expressed as CPU physical address + size). ++ * Return a negative value if an error has occured, zero otherwise ++ */ ++int __weak pci_register_io_range(phys_addr_t addr, resource_size_t size) ++{ ++ int err = 0; ++ ++#ifdef PCI_IOBASE ++ struct io_range *range; ++ resource_size_t allocated_size = 0; ++ ++ /* check if the range hasn't been previously recorded */ ++ spin_lock(&io_range_lock); ++ list_for_each_entry(range, &io_range_list, list) { ++ if (addr >= range->start && addr + size <= range->start + size) { ++ /* range already registered, bail out */ ++ goto end_register; ++ } ++ allocated_size += range->size; ++ } ++ ++ /* range not registed yet, check for available space */ ++ if (allocated_size + size - 1 > IO_SPACE_LIMIT) { ++ /* if it's too big check if 64K space can be reserved */ ++ if (allocated_size + SZ_64K - 1 > IO_SPACE_LIMIT) { ++ err = -E2BIG; ++ goto end_register; ++ } ++ ++ size = SZ_64K; ++ pr_warn("Requested IO range too big, new size set to 64K\n"); ++ } ++ ++ /* add the range to the list */ ++ range = kzalloc(sizeof(*range), GFP_KERNEL); ++ if (!range) { ++ err = -ENOMEM; ++ goto end_register; ++ } ++ ++ range->start = addr; ++ range->size = size; ++ ++ list_add_tail(&range->list, &io_range_list); ++ ++end_register: ++ spin_unlock(&io_range_lock); ++#endif ++ ++ return err; ++} ++ ++phys_addr_t pci_pio_to_address(unsigned long pio) ++{ ++ phys_addr_t address = (phys_addr_t)OF_BAD_ADDR; ++ ++#ifdef PCI_IOBASE ++ struct io_range *range; ++ resource_size_t allocated_size = 0; ++ ++ if (pio > IO_SPACE_LIMIT) ++ return address; ++ ++ spin_lock(&io_range_lock); ++ list_for_each_entry(range, &io_range_list, list) { ++ if (pio >= allocated_size && pio < allocated_size + range->size) { ++ address = range->start + pio - allocated_size; ++ break; ++ } ++ allocated_size += range->size; ++ } ++ spin_unlock(&io_range_lock); ++#endif ++ ++ return address; ++} ++ + unsigned long __weak pci_address_to_pio(phys_addr_t address) + { ++#ifdef PCI_IOBASE ++ struct io_range *res; ++ resource_size_t offset = 0; ++ unsigned long addr = -1; ++ ++ spin_lock(&io_range_lock); ++ list_for_each_entry(res, &io_range_list, list) { ++ if (address >= res->start && address < res->start + res->size) { ++ addr = res->start - address + offset; ++ break; ++ } ++ offset += res->size; ++ } ++ spin_unlock(&io_range_lock); ++ ++ return addr; ++#else + if (address > IO_SPACE_LIMIT) + return (unsigned long)-1; + + return (unsigned long) address; ++#endif + } + + static int __of_address_to_resource(struct device_node *dev, diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c -index 8481996..e81402a 100644 +index 8481996..8882b46 100644 --- a/drivers/of/of_pci.c +++ b/drivers/of/of_pci.c -@@ -1,6 +1,7 @@ +@@ -1,7 +1,9 @@ #include #include #include +#include #include ++#include static inline int __of_pci_pci_compare(struct device_node *node, -@@ -89,6 +90,141 @@ int of_pci_parse_bus_range(struct device_node *node, struct resource *res) + unsigned int data) +@@ -89,6 +91,146 @@ int of_pci_parse_bus_range(struct device_node *node, struct resource *res) } EXPORT_SYMBOL_GPL(of_pci_parse_bus_range); +/** -+ * pci_host_bridge_of_get_ranges - Parse PCI host bridge resources from DT -+ * @dev: device node of the host bridge having the range property -+ * @resources: list where the range of resources will be added after DT parsing -+ * @io_base: pointer to a variable that will contain the physical address for -+ * the start of the I/O range. ++ * This function will try to obtain the host bridge domain number by ++ * finding a property called "linux,pci-domain" of the given device node. + * -+ * It is the callers job to free the @resources list if an error is returned. ++ * @node: device tree node with the domain information ++ * ++ * Returns the associated domain number from DT in the range [0-0xffff], or ++ * a negative value if the required property is not found. ++ */ ++int of_get_pci_domain_nr(struct device_node *node) ++{ ++ const __be32 *value; ++ int len; ++ u16 domain; ++ ++ value = of_get_property(node, "linux,pci-domain", &len); ++ if (!value || len < sizeof(*value)) ++ return -EINVAL; ++ ++ domain = (u16)be32_to_cpup(value); ++ ++ return domain; ++} ++EXPORT_SYMBOL_GPL(of_get_pci_domain_nr); ++ ++#if defined(CONFIG_OF_ADDRESS) ++/** ++ * of_pci_get_host_bridge_resources - Parse PCI host bridge resources from DT ++ * @dev: device node of the host bridge having the range property ++ * @busno: bus number associated with the bridge root bus ++ * @bus_max: maximum number of buses for this bridge ++ * @resources: list where the range of resources will be added after DT parsing ++ * @io_base: pointer to a variable that will contain on return the physical ++ * address for the start of the I/O range. Can be NULL if the caller doesn't ++ * expect IO ranges to be present in the device tree. ++ * ++ * It is the caller's job to free the @resources list. + * + * This function will parse the "ranges" property of a PCI host bridge device + * node and setup the resource mapping based on its content. It is expected + * that the property conforms with the Power ePAPR document. + * -+ * Each architecture is then offered the chance of applying their own -+ * filtering of pci_host_bridge_windows based on their own restrictions by -+ * calling pcibios_fixup_bridge_ranges(). The filtered list of windows -+ * can then be used when creating a pci_host_bridge structure. ++ * It returns zero if the range parsing has been successful or a standard error ++ * value if it failed. + */ -+static int pci_host_bridge_of_get_ranges(struct device_node *dev, -+ struct list_head *resources, resource_size_t *io_base) ++int of_pci_get_host_bridge_resources(struct device_node *dev, ++ unsigned char busno, unsigned char bus_max, ++ struct list_head *resources, resource_size_t *io_base) +{ + struct resource *res; ++ struct resource *bus_range; + struct of_pci_range range; + struct of_pci_range_parser parser; ++ char range_type[4]; + int err; + ++ if (io_base) ++ *io_base = (resource_size_t)OF_BAD_ADDR; ++ ++ bus_range = kzalloc(sizeof(*bus_range), GFP_KERNEL); ++ if (!bus_range) ++ return -ENOMEM; ++ + pr_info("PCI host bridge %s ranges:\n", dev->full_name); + ++ err = of_pci_parse_bus_range(dev, bus_range); ++ if (err) { ++ bus_range->start = busno; ++ bus_range->end = bus_max; ++ bus_range->flags = IORESOURCE_BUS; ++ pr_info(" No bus range found for %s, using %pR\n", ++ dev->full_name, bus_range); ++ } else { ++ if (bus_range->end > bus_range->start + bus_max) ++ bus_range->end = bus_range->start + bus_max; ++ } ++ pci_add_resource(resources, bus_range); ++ + /* Check for ranges property */ + err = of_pci_range_parser_init(&parser, dev); + if (err) -+ return err; ++ goto parse_failed; + + pr_debug("Parsing ranges property...\n"); + for_each_of_pci_range(&parser, &range) { + /* Read next ranges element */ -+ pr_debug("pci_space: 0x%08x pci_addr:0x%016llx cpu_addr:0x%016llx size:0x%016llx\n", -+ range.pci_space, range.pci_addr, range.cpu_addr, range.size); ++ if ((range.flags & IORESOURCE_TYPE_BITS) == IORESOURCE_IO) ++ snprintf(range_type, 4, " IO"); ++ else if ((range.flags & IORESOURCE_TYPE_BITS) == IORESOURCE_MEM) ++ snprintf(range_type, 4, "MEM"); ++ else ++ snprintf(range_type, 4, "err"); ++ pr_info(" %s %#010llx..%#010llx -> %#010llx\n", range_type, ++ range.cpu_addr, range.cpu_addr + range.size - 1, ++ range.pci_addr); + + /* + * If we failed translation or got a zero-sized region @@ -1015,140 +3762,50 @@ index 8481996..e81402a 100644 + continue; + + res = kzalloc(sizeof(struct resource), GFP_KERNEL); -+ if (!res) -+ return -ENOMEM; ++ if (!res) { ++ err = -ENOMEM; ++ goto parse_failed; ++ } + + err = of_pci_range_to_resource(&range, dev, res); + if (err) -+ return err; ++ goto conversion_failed; + -+ if (resource_type(res) == IORESOURCE_IO) ++ if (resource_type(res) == IORESOURCE_IO) { ++ if (!io_base) { ++ pr_err("I/O range found for %s. Please provide an io_base pointer to save CPU base address\n", ++ dev->full_name); ++ err = -EINVAL; ++ goto conversion_failed; ++ } ++ if (*io_base != (resource_size_t)OF_BAD_ADDR) ++ pr_warn("More than one I/O resource converted for %s. CPU base address for old range lost!\n", ++ dev->full_name); + *io_base = range.cpu_addr; ++ } + -+ pci_add_resource_offset(resources, res, -+ res->start - range.pci_addr); ++ pci_add_resource_offset(resources, res, res->start - range.pci_addr); + } + -+ /* Apply architecture specific fixups for the ranges */ -+ return pcibios_fixup_bridge_ranges(resources); ++ return 0; ++ ++conversion_failed: ++ kfree(res); ++parse_failed: ++ pci_free_resource_list(resources); ++ return err; +} -+ -+static atomic_t domain_nr = ATOMIC_INIT(-1); -+ -+/** -+ * of_create_pci_host_bridge - Create a PCI host bridge structure using -+ * information passed in the DT. -+ * @parent: device owning this host bridge -+ * @ops: pci_ops associated with the host controller -+ * @host_data: opaque data structure used by the host controller. -+ * -+ * returns a pointer to the newly created pci_host_bridge structure, or -+ * NULL if the call failed. -+ * -+ * This function will try to obtain the host bridge domain number by -+ * using of_alias_get_id() call with "pci-domain" as a stem. If that -+ * fails, a local allocator will be used that will put each host bridge -+ * in a new domain. -+ */ -+struct pci_host_bridge * -+of_create_pci_host_bridge(struct device *parent, struct pci_ops *ops, void *host_data) -+{ -+ int err, domain, busno; -+ struct resource *bus_range; -+ struct pci_bus *root_bus; -+ struct pci_host_bridge *bridge; -+ resource_size_t io_base = 0; -+ LIST_HEAD(res); -+ -+ bus_range = kzalloc(sizeof(*bus_range), GFP_KERNEL); -+ if (!bus_range) -+ return ERR_PTR(-ENOMEM); -+ -+ domain = of_alias_get_id(parent->of_node, "pci-domain"); -+ if (domain == -ENODEV) -+ domain = atomic_inc_return(&domain_nr); -+ -+ err = of_pci_parse_bus_range(parent->of_node, bus_range); -+ if (err) { -+ dev_info(parent, "No bus range for %s, using default [0-255]\n", -+ parent->of_node->full_name); -+ bus_range->start = 0; -+ bus_range->end = 255; -+ bus_range->flags = IORESOURCE_BUS; -+ } -+ busno = bus_range->start; -+ pci_add_resource(&res, bus_range); -+ -+ /* now parse the rest of host bridge bus ranges */ -+ err = pci_host_bridge_of_get_ranges(parent->of_node, &res, &io_base); -+ if (err) -+ goto err_create; -+ -+ /* then create the root bus */ -+ root_bus = pci_create_root_bus_in_domain(parent, domain, busno, -+ ops, host_data, &res); -+ if (IS_ERR(root_bus)) { -+ err = PTR_ERR(root_bus); -+ goto err_create; -+ } -+ -+ bridge = to_pci_host_bridge(root_bus->bridge); -+ bridge->io_base = io_base; -+ -+ return bridge; -+ -+err_create: -+ pci_free_resource_list(&res); -+ return ERR_PTR(err); -+} -+EXPORT_SYMBOL_GPL(of_create_pci_host_bridge); ++EXPORT_SYMBOL_GPL(of_pci_get_host_bridge_resources); ++#endif /* CONFIG_OF_ADDRESS */ + #ifdef CONFIG_PCI_MSI static LIST_HEAD(of_pci_msi_chip_list); -diff --git a/drivers/pci/host-bridge.c b/drivers/pci/host-bridge.c -index 0e5f3c9..54ceafd 100644 ---- a/drivers/pci/host-bridge.c -+++ b/drivers/pci/host-bridge.c -@@ -16,12 +16,13 @@ static struct pci_bus *find_pci_root_bus(struct pci_bus *bus) - return bus; - } - --static struct pci_host_bridge *find_pci_host_bridge(struct pci_bus *bus) -+struct pci_host_bridge *find_pci_host_bridge(struct pci_bus *bus) - { - struct pci_bus *root_bus = find_pci_root_bus(bus); - - return to_pci_host_bridge(root_bus->bridge); - } -+EXPORT_SYMBOL_GPL(find_pci_host_bridge); - - void pci_set_host_bridge_release(struct pci_host_bridge *bridge, - void (*release_fn)(struct pci_host_bridge *), -@@ -82,3 +83,18 @@ void pcibios_bus_to_resource(struct pci_bus *bus, struct resource *res, - res->end = region->end + offset; - } - EXPORT_SYMBOL(pcibios_bus_to_resource); -+ -+/** -+ * Simple version of the platform specific code for filtering the list -+ * of resources obtained from the ranges declaration in DT. -+ * -+ * Platforms can override this function in order to impose stronger -+ * constraints onto the list of resources that a host bridge can use. -+ * The filtered list will then be used to create a root bus and associate -+ * it with the host bridge. -+ * -+ */ -+int __weak pcibios_fixup_bridge_ranges(struct list_head *resources) -+{ -+ return 0; -+} diff --git a/drivers/pci/host/Kconfig b/drivers/pci/host/Kconfig -index 2d8a4d0..e17a28e 100644 +index 90f5cca..382fd3d 100644 --- a/drivers/pci/host/Kconfig +++ b/drivers/pci/host/Kconfig -@@ -54,4 +54,14 @@ config PCIE_SPEAR13XX +@@ -63,4 +63,14 @@ config PCIE_SPEAR13XX help Say Y here if you want PCIe support on SPEAr13XX SoCs. @@ -1164,24 +3821,72 @@ index 2d8a4d0..e17a28e 100644 + endmenu diff --git a/drivers/pci/host/Makefile b/drivers/pci/host/Makefile -index 0daec79..7600482 100644 +index d0e88f1..845611f 100644 --- a/drivers/pci/host/Makefile +++ b/drivers/pci/host/Makefile -@@ -7,3 +7,4 @@ obj-$(CONFIG_PCI_RCAR_GEN2) += pci-rcar-gen2.o +@@ -8,3 +8,4 @@ obj-$(CONFIG_PCI_RCAR_GEN2) += pci-rcar-gen2.o obj-$(CONFIG_PCI_RCAR_GEN2_PCIE) += pcie-rcar.o obj-$(CONFIG_PCI_HOST_GENERIC) += pci-host-generic.o obj-$(CONFIG_PCIE_SPEAR13XX) += pcie-spear13xx.o +obj-$(CONFIG_PCI_XGENE) += pci-xgene.o +diff --git a/drivers/pci/host/pci-tegra.c b/drivers/pci/host/pci-tegra.c +index 0fb0fdb..946935d 100644 +--- a/drivers/pci/host/pci-tegra.c ++++ b/drivers/pci/host/pci-tegra.c +@@ -626,13 +626,14 @@ DECLARE_PCI_FIXUP_FINAL(PCI_ANY_ID, PCI_ANY_ID, tegra_pcie_relax_enable); + static int tegra_pcie_setup(int nr, struct pci_sys_data *sys) + { + struct tegra_pcie *pcie = sys_to_pcie(sys); ++ phys_addr_t io_start = pci_pio_to_address(pcie->io.start); + + pci_add_resource_offset(&sys->resources, &pcie->mem, sys->mem_offset); + pci_add_resource_offset(&sys->resources, &pcie->prefetch, + sys->mem_offset); + pci_add_resource(&sys->resources, &pcie->busn); + +- pci_ioremap_io(nr * SZ_64K, pcie->io.start); ++ pci_ioremap_io(nr * SZ_64K, io_start); + + return 1; + } +@@ -737,6 +738,7 @@ static irqreturn_t tegra_pcie_isr(int irq, void *arg) + static void tegra_pcie_setup_translations(struct tegra_pcie *pcie) + { + u32 fpci_bar, size, axi_address; ++ phys_addr_t io_start = pci_pio_to_address(pcie->io.start); + + /* Bar 0: type 1 extended configuration space */ + fpci_bar = 0xfe100000; +@@ -749,7 +751,7 @@ static void tegra_pcie_setup_translations(struct tegra_pcie *pcie) + /* Bar 1: downstream IO bar */ + fpci_bar = 0xfdfc0000; + size = resource_size(&pcie->io); +- axi_address = pcie->io.start; ++ axi_address = io_start; + afi_writel(pcie, axi_address, AFI_AXI_BAR1_START); + afi_writel(pcie, size >> 12, AFI_AXI_BAR1_SZ); + afi_writel(pcie, fpci_bar, AFI_FPCI_BAR1); +@@ -1520,7 +1522,9 @@ static int tegra_pcie_parse_dt(struct tegra_pcie *pcie) + } + + for_each_of_pci_range(&parser, &range) { +- of_pci_range_to_resource(&range, np, &res); ++ err = of_pci_range_to_resource(&range, np, &res); ++ if (err < 0) ++ return err; + + switch (res.flags & IORESOURCE_TYPE_BITS) { + case IORESOURCE_IO: diff --git a/drivers/pci/host/pci-xgene.c b/drivers/pci/host/pci-xgene.c new file mode 100644 -index 0000000..7bf4ac7 +index 0000000..dae61a6 --- /dev/null +++ b/drivers/pci/host/pci-xgene.c -@@ -0,0 +1,725 @@ +@@ -0,0 +1,646 @@ +/** + * APM X-Gene PCIe Driver + * -+ * Copyright (c) 2013 Applied Micro Circuits Corporation. ++ * Copyright (c) 2014 Applied Micro Circuits Corporation. + * + * Author: Tanmay Inamdar . + * @@ -1210,9 +3915,7 @@ index 0000000..7bf4ac7 +#include +#include + -+#define PCIECORE_LTSSM 0x4c +#define PCIECORE_CTLANDSTATUS 0x50 -+#define INTXSTATUSMASK 0x6c +#define PIM1_1L 0x80 +#define IBAR2 0x98 +#define IR2MSK 0x9c @@ -1227,37 +3930,16 @@ index 0000000..7bf4ac7 +#define CFGBARH 0x158 +#define CFGCTL 0x15c +#define RTDID 0x160 -+#define BRIDGE_CFG_0 0x2000 -+#define BRIDGE_CFG_1 0x2004 +#define BRIDGE_CFG_4 0x2010 -+#define BRIDGE_CFG_32 0x2030 -+#define BRIDGE_CFG_14 0x2038 -+#define BRIDGE_CTRL_1 0x2204 -+#define BRIDGE_CTRL_2 0x2208 -+#define BRIDGE_CTRL_5 0x2214 +#define BRIDGE_STATUS_0 0x2600 -+#define MEM_RAM_SHUTDOWN 0xd070 -+#define BLOCK_MEM_RDY 0xd074 + -+#define DEVICE_PORT_TYPE_MASK 0x03c00000 -+#define PM_FORCE_RP_MODE_MASK 0x00000400 -+#define SWITCH_PORT_MODE_MASK 0x00000800 -+#define CLASS_CODE_MASK 0xffffff00 +#define LINK_UP_MASK 0x00000100 -+#define AER_OPTIONAL_ERROR_EN 0xffc00000 -+#define XGENE_PCIE_DEV_CTRL 0x2f0f +#define AXI_EP_CFG_ACCESS 0x10000 -+#define ENABLE_ASPM 0x08000000 -+#define XGENE_PORT_TYPE_RC 0x05000000 -+#define BLOCK_MEM_RDY_VAL 0xFFFFFFFF +#define EN_COHERENCY 0xF0000000 +#define EN_REG 0x00000001 +#define OB_LO_IO 0x00000002 -+#define XGENE_PCIE_VENDORID 0xE008 ++#define XGENE_PCIE_VENDORID 0x10E8 +#define XGENE_PCIE_DEVICEID 0xE004 -+#define XGENE_PCIE_ECC_TIMEOUT 10 /* ms */ -+#define XGENE_LTSSM_DETECT_WAIT 20 /* ms */ -+#define XGENE_LTSSM_L0_WAIT 4 /* ms */ +#define SZ_1T (SZ_1G*1024ULL) +#define PIPE_PHY_RATE_RD(src) ((0xc000 & (u32)(src)) >> 0xe) + @@ -1267,7 +3949,8 @@ index 0000000..7bf4ac7 + struct clk *clk; + void __iomem *csr_base; + void __iomem *cfg_base; -+ u8 link_up; ++ unsigned long cfg_addr; ++ bool link_up; +}; + +static inline u32 pcie_bar_low_val(u32 addr, u32 flags) @@ -1444,6 +4127,7 @@ index 0000000..7bf4ac7 + xgene_pcie_cfg_out32(addr, offset, val); + break; + } ++ + return PCIBIOS_SUCCESSFUL; +} + @@ -1452,19 +4136,6 @@ index 0000000..7bf4ac7 + .write = xgene_pcie_write_config +}; + -+static void xgene_pcie_program_core(void __iomem *csr_base) -+{ -+ u32 val; -+ -+ val = readl(csr_base + BRIDGE_CFG_0); -+ val |= AER_OPTIONAL_ERROR_EN; -+ writel(val, csr_base + BRIDGE_CFG_0); -+ writel(0x0, csr_base + INTXSTATUSMASK); -+ val = readl(csr_base + BRIDGE_CTRL_1); -+ val = (val & ~0xffff) | XGENE_PCIE_DEV_CTRL; -+ writel(val, csr_base + BRIDGE_CTRL_1); -+} -+ +static u64 xgene_pcie_set_ib_mask(void __iomem *csr_base, u32 addr, + u32 flags, u64 size) +{ @@ -1491,86 +4162,22 @@ index 0000000..7bf4ac7 + return mask; +} + -+static void xgene_pcie_poll_linkup(struct xgene_pcie_port *port, ++static void xgene_pcie_linkup(struct xgene_pcie_port *port, + u32 *lanes, u32 *speed) +{ + void __iomem *csr_base = port->csr_base; -+ ulong timeout; + u32 val32; + -+ /* -+ * A component enters the LTSSM Detect state within -+ * 20ms of the end of fundamental core reset. -+ */ -+ msleep(XGENE_LTSSM_DETECT_WAIT); -+ port->link_up = 0; -+ timeout = jiffies + msecs_to_jiffies(XGENE_LTSSM_L0_WAIT); -+ while (time_before(jiffies, timeout)) { -+ val32 = readl(csr_base + PCIECORE_CTLANDSTATUS); -+ if (val32 & LINK_UP_MASK) { -+ port->link_up = 1; -+ *speed = PIPE_PHY_RATE_RD(val32); -+ val32 = readl(csr_base + BRIDGE_STATUS_0); -+ *lanes = val32 >> 26; -+ break; -+ } -+ msleep(1); ++ port->link_up = false; ++ val32 = readl(csr_base + PCIECORE_CTLANDSTATUS); ++ if (val32 & LINK_UP_MASK) { ++ port->link_up = true; ++ *speed = PIPE_PHY_RATE_RD(val32); ++ val32 = readl(csr_base + BRIDGE_STATUS_0); ++ *lanes = val32 >> 26; + } +} + -+static void xgene_pcie_setup_root_complex(struct xgene_pcie_port *port) -+{ -+ void __iomem *csr_base = port->csr_base; -+ u32 val; -+ -+ val = (XGENE_PCIE_DEVICEID << 16) | XGENE_PCIE_VENDORID; -+ writel(val, csr_base + BRIDGE_CFG_0); -+ -+ val = readl(csr_base + BRIDGE_CFG_1); -+ val &= ~CLASS_CODE_MASK; -+ val |= PCI_CLASS_BRIDGE_PCI << 16; -+ writel(val, csr_base + BRIDGE_CFG_1); -+ -+ val = readl(csr_base + BRIDGE_CFG_14); -+ val |= SWITCH_PORT_MODE_MASK; -+ val &= ~PM_FORCE_RP_MODE_MASK; -+ writel(val, csr_base + BRIDGE_CFG_14); -+ -+ val = readl(csr_base + BRIDGE_CTRL_5); -+ val &= ~DEVICE_PORT_TYPE_MASK; -+ val |= XGENE_PORT_TYPE_RC; -+ writel(val, csr_base + BRIDGE_CTRL_5); -+ -+ val = readl(csr_base + BRIDGE_CTRL_2); -+ val |= ENABLE_ASPM; -+ writel(val, csr_base + BRIDGE_CTRL_2); -+ -+ val = readl(csr_base + BRIDGE_CFG_32); -+ writel(val | (1 << 19), csr_base + BRIDGE_CFG_32); -+} -+ -+/* Return 0 on success */ -+static int xgene_pcie_init_ecc(struct xgene_pcie_port *port) -+{ -+ void __iomem *csr_base = port->csr_base; -+ ulong timeout; -+ u32 val; -+ -+ val = readl(csr_base + MEM_RAM_SHUTDOWN); -+ if (!val) -+ return 0; -+ writel(0x0, csr_base + MEM_RAM_SHUTDOWN); -+ timeout = jiffies + msecs_to_jiffies(XGENE_PCIE_ECC_TIMEOUT); -+ while (time_before(jiffies, timeout)) { -+ val = readl(csr_base + BLOCK_MEM_RDY); -+ if (val == BLOCK_MEM_RDY_VAL) -+ return 0; -+ msleep(1); -+ } -+ -+ return 1; -+} -+ +static int xgene_pcie_init_port(struct xgene_pcie_port *port) +{ + int rc; @@ -1587,12 +4194,6 @@ index 0000000..7bf4ac7 + return rc; + } + -+ rc = xgene_pcie_init_ecc(port); -+ if (rc) { -+ dev_err(port->dev, "memory init failed\n"); -+ return rc; -+ } -+ + return 0; +} + @@ -1614,7 +4215,7 @@ index 0000000..7bf4ac7 + xgene_pcie_fixup_bridge); + +static int xgene_pcie_map_reg(struct xgene_pcie_port *port, -+ struct platform_device *pdev, u64 *cfg_addr) ++ struct platform_device *pdev) +{ + struct resource *res; + @@ -1627,37 +4228,35 @@ index 0000000..7bf4ac7 + port->cfg_base = devm_ioremap_resource(port->dev, res); + if (IS_ERR(port->cfg_base)) + return PTR_ERR(port->cfg_base); -+ *cfg_addr = res->start; ++ port->cfg_addr = res->start; + + return 0; +} + +static void xgene_pcie_setup_ob_reg(struct xgene_pcie_port *port, -+ struct resource *res, u32 offset, u64 addr) ++ struct resource *res, u32 offset, ++ u64 cpu_addr, u64 pci_addr) +{ + void __iomem *base = port->csr_base + offset; + resource_size_t size = resource_size(res); + u64 restype = resource_type(res); -+ u64 cpu_addr, pci_addr; + u64 mask = 0; + u32 min_size; + u32 flag = EN_REG; + + if (restype == IORESOURCE_MEM) { -+ cpu_addr = res->start; -+ pci_addr = addr; + min_size = SZ_128M; + } else { -+ cpu_addr = addr; -+ pci_addr = res->start; + min_size = 128; + flag |= OB_LO_IO; + } ++ + if (size >= min_size) + mask = ~(size - 1) | flag; + else + dev_warn(port->dev, "res size 0x%llx less than minimum 0x%x\n", + (u64)size, min_size); ++ + writel(lower_32_bits(cpu_addr), base); + writel(upper_32_bits(cpu_addr), base + 0x04); + writel(lower_32_bits(mask), base + 0x08); @@ -1674,29 +4273,30 @@ index 0000000..7bf4ac7 +} + +static int xgene_pcie_map_ranges(struct xgene_pcie_port *port, -+ struct pci_host_bridge *bridge, -+ u64 cfg_addr) ++ struct list_head *res, ++ resource_size_t io_base) +{ -+ struct device *dev = port->dev; + struct pci_host_bridge_window *window; ++ struct device *dev = port->dev; + int ret; + -+ list_for_each_entry(window, &bridge->windows, list) { ++ list_for_each_entry(window, res, list) { + struct resource *res = window->res; + u64 restype = resource_type(res); ++ + dev_dbg(port->dev, "0x%08lx 0x%016llx...0x%016llx\n", + res->flags, res->start, res->end); + + switch (restype) { + case IORESOURCE_IO: -+ xgene_pcie_setup_ob_reg(port, res, OMR2BARL, -+ bridge->io_base); -+ ret = pci_remap_iospace(res, bridge->io_base); ++ xgene_pcie_setup_ob_reg(port, res, OMR3BARL, io_base, ++ res->start - window->offset); ++ ret = pci_remap_iospace(res, io_base); + if (ret < 0) + return ret; + break; + case IORESOURCE_MEM: -+ xgene_pcie_setup_ob_reg(port, res, OMR3BARL, ++ xgene_pcie_setup_ob_reg(port, res, OMR1BARL, res->start, + res->start - window->offset); + break; + case IORESOURCE_BUS: @@ -1706,7 +4306,8 @@ index 0000000..7bf4ac7 + return -EINVAL; + } + } -+ xgene_pcie_setup_cfg_reg(port->csr_base, cfg_addr); ++ xgene_pcie_setup_cfg_reg(port->csr_base, port->cfg_addr); ++ + return 0; +} + @@ -1738,6 +4339,7 @@ index 0000000..7bf4ac7 + *ib_reg_mask |= (1 << 2); + return 2; + } ++ + return -EINVAL; +} + @@ -1748,7 +4350,6 @@ index 0000000..7bf4ac7 + void __iomem *cfg_base = port->cfg_base; + void *bar_addr; + void *pim_addr; -+ u64 restype = range->flags & IORESOURCE_TYPE_BITS; + u64 cpu_addr = range->cpu_addr; + u64 pci_addr = range->pci_addr; + u64 size = range->size; @@ -1763,7 +4364,7 @@ index 0000000..7bf4ac7 + return; + } + -+ if (restype == PCI_BASE_ADDRESS_MEM_PREFETCH) ++ if (range->flags & IORESOURCE_PREFETCH) + flags |= PCI_BASE_ADDRESS_MEM_PREFETCH; + + bar_low = pcie_bar_low_val((u32)cpu_addr, flags); @@ -1791,7 +4392,7 @@ index 0000000..7bf4ac7 + break; + } + -+ xgene_pcie_setup_pims(pim_addr, pci_addr, size); ++ xgene_pcie_setup_pims(pim_addr, pci_addr, ~(size - 1)); +} + +static int pci_dma_range_parser_init(struct of_pci_range_parser *parser, @@ -1807,8 +4408,8 @@ index 0000000..7bf4ac7 + parser->range = of_get_property(node, "dma-ranges", &rlen); + if (!parser->range) + return -ENOENT; -+ + parser->end = parser->range + rlen / sizeof(__be32); ++ + return 0; +} + @@ -1828,6 +4429,7 @@ index 0000000..7bf4ac7 + /* Get the dma-ranges from DT */ + for_each_of_pci_range(&parser, &range) { + u64 end = range.cpu_addr + range.size - 1; ++ + dev_dbg(port->dev, "0x%08x 0x%016llx..0x%016llx -> 0x%016llx\n", + range.flags, range.cpu_addr, end, range.pci_addr); + xgene_pcie_setup_ib_reg(port, &range, &ib_reg_mask); @@ -1835,37 +4437,25 @@ index 0000000..7bf4ac7 + return 0; +} + -+static int xgene_pcie_probe_bridge(struct platform_device *pdev) ++/* clear bar configuration which was done by firmware */ ++static void xgene_pcie_clear_config(struct xgene_pcie_port *port) ++{ ++ int i; ++ ++ for (i = PIM1_1L; i <= CFGCTL; i += 4) ++ writel(0x0, port->csr_base + i); ++} ++ ++static int xgene_pcie_setup(struct xgene_pcie_port *port, ++ struct list_head *res, ++ resource_size_t io_base) +{ -+ struct device_node *np = of_node_get(pdev->dev.of_node); -+ struct xgene_pcie_port *port; -+ struct pci_host_bridge *bridge; -+ resource_size_t lastbus; + u32 lanes = 0, speed = 0; -+ u64 cfg_addr = 0; + int ret; + -+ port = devm_kzalloc(&pdev->dev, sizeof(*port), GFP_KERNEL); -+ if (!port) -+ return -ENOMEM; -+ port->node = np; -+ port->dev = &pdev->dev; ++ xgene_pcie_clear_config(port); + -+ ret = xgene_pcie_map_reg(port, pdev, &cfg_addr); -+ if (ret) -+ return ret; -+ -+ ret = xgene_pcie_init_port(port); -+ if (ret) -+ return ret; -+ xgene_pcie_program_core(port->csr_base); -+ xgene_pcie_setup_root_complex(port); -+ -+ bridge = of_create_pci_host_bridge(&pdev->dev, &xgene_pcie_ops, port); -+ if (IS_ERR_OR_NULL(bridge)) -+ return PTR_ERR(bridge); -+ -+ ret = xgene_pcie_map_ranges(port, bridge, cfg_addr); ++ ret = xgene_pcie_map_ranges(port, res, io_base); + if (ret) + return ret; + @@ -1873,15 +4463,51 @@ index 0000000..7bf4ac7 + if (ret) + return ret; + -+ xgene_pcie_poll_linkup(port, &lanes, &speed); ++ xgene_pcie_linkup(port, &lanes, &speed); + if (!port->link_up) + dev_info(port->dev, "(rc) link down\n"); + else + dev_info(port->dev, "(rc) x%d gen-%d link up\n", + lanes, speed + 1); ++ return 0; ++} ++ ++static int xgene_pcie_probe_bridge(struct platform_device *pdev) ++{ ++ struct device_node *dn = pdev->dev.of_node; ++ struct xgene_pcie_port *port; ++ resource_size_t iobase = 0; ++ struct pci_bus *bus; ++ int ret; ++ LIST_HEAD(res); ++ ++ port = devm_kzalloc(&pdev->dev, sizeof(*port), GFP_KERNEL); ++ if (!port) ++ return -ENOMEM; ++ port->node = of_node_get(pdev->dev.of_node); ++ port->dev = &pdev->dev; ++ ++ ret = xgene_pcie_map_reg(port, pdev); ++ if (ret) ++ return ret; ++ ++ ret = xgene_pcie_init_port(port); ++ if (ret) ++ return ret; ++ ++ ret = of_pci_get_host_bridge_resources(dn, 0, 0xff, &res, &iobase); ++ if (ret) ++ return ret; ++ ++ ret = xgene_pcie_setup(port, &res, iobase); ++ if (ret) ++ return ret; ++ ++ bus = pci_scan_root_bus(&pdev->dev, 0, &xgene_pcie_ops, port, &res); ++ if (!bus) ++ return -ENOMEM; ++ + platform_set_drvdata(pdev, port); -+ lastbus = pci_rescan_bus(bridge->bus); -+ pci_bus_update_busn_res_end(bridge->bus, lastbus); + return 0; +} + @@ -1903,73 +4529,143 @@ index 0000000..7bf4ac7 +MODULE_AUTHOR("Tanmay Inamdar "); +MODULE_DESCRIPTION("APM X-Gene PCIe driver"); +MODULE_LICENSE("GPL v2"); +diff --git a/drivers/pci/host/pcie-rcar.c b/drivers/pci/host/pcie-rcar.c +index 4884ee5..61158e0 100644 +--- a/drivers/pci/host/pcie-rcar.c ++++ b/drivers/pci/host/pcie-rcar.c +@@ -323,6 +323,7 @@ static void rcar_pcie_setup_window(int win, struct rcar_pcie *pcie) + + /* Setup PCIe address space mappings for each resource */ + resource_size_t size; ++ resource_size_t res_start; + u32 mask; + + rcar_pci_write_reg(pcie, 0x00000000, PCIEPTCTLR(win)); +@@ -335,8 +336,13 @@ static void rcar_pcie_setup_window(int win, struct rcar_pcie *pcie) + mask = (roundup_pow_of_two(size) / SZ_128) - 1; + rcar_pci_write_reg(pcie, mask << 7, PCIEPAMR(win)); + +- rcar_pci_write_reg(pcie, upper_32_bits(res->start), PCIEPARH(win)); +- rcar_pci_write_reg(pcie, lower_32_bits(res->start), PCIEPARL(win)); ++ if (res->flags & IORESOURCE_IO) ++ res_start = pci_pio_to_address(res->start); ++ else ++ res_start = res->start; ++ ++ rcar_pci_write_reg(pcie, upper_32_bits(res_start), PCIEPARH(win)); ++ rcar_pci_write_reg(pcie, lower_32_bits(res_start), PCIEPARL(win)); + + /* First resource is for IO */ + mask = PAR_ENABLE; +@@ -363,9 +369,10 @@ static int rcar_pcie_setup(int nr, struct pci_sys_data *sys) + + rcar_pcie_setup_window(i, pcie); + +- if (res->flags & IORESOURCE_IO) +- pci_ioremap_io(nr * SZ_64K, res->start); +- else ++ if (res->flags & IORESOURCE_IO) { ++ phys_addr_t io_start = pci_pio_to_address(res->start); ++ pci_ioremap_io(nr * SZ_64K, io_start); ++ } else + pci_add_resource(&sys->resources, res); + } + pci_add_resource(&sys->resources, &pcie->busn); +@@ -935,8 +942,10 @@ static int rcar_pcie_probe(struct platform_device *pdev) + } + + for_each_of_pci_range(&parser, &range) { +- of_pci_range_to_resource(&range, pdev->dev.of_node, ++ err = of_pci_range_to_resource(&range, pdev->dev.of_node, + &pcie->res[win++]); ++ if (err < 0) ++ return err; + + if (win > RCAR_PCI_MAX_RESOURCES) + break; diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c -index 2c9ac70..7bae0f9 100644 +index 2c9ac70..6e994fc 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c -@@ -17,6 +17,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -1453,6 +1454,9 @@ EXPORT_SYMBOL(pcim_pin_device); - */ - int __weak pcibios_add_device(struct pci_dev *dev) - { -+#ifdef CONFIG_OF -+ dev->irq = of_irq_parse_and_map_pci(dev, 0, 0); -+#endif - return 0; - } - -@@ -2704,6 +2708,39 @@ int pci_request_regions_exclusive(struct pci_dev *pdev, const char *res_name) +@@ -2704,6 +2704,37 @@ int pci_request_regions_exclusive(struct pci_dev *pdev, const char *res_name) } EXPORT_SYMBOL(pci_request_regions_exclusive); +/** + * pci_remap_iospace - Remap the memory mapped I/O space + * @res: Resource describing the I/O space -+ * @phys_addr: physical address where the range will be mapped. ++ * @phys_addr: physical address of range to be mapped + * + * Remap the memory mapped I/O space described by the @res -+ * into the CPU physical address space. Only architectures -+ * that have memory mapped IO defined (and hence PCI_IOBASE) -+ * should call this function. ++ * and the CPU physical address @phys_addr into virtual address space. ++ * Only architectures that have memory mapped IO functions defined ++ * (and the PCI_IOBASE value defined) should call this function. + */ +int __weak pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr) +{ -+ int err = -ENODEV; ++#if defined(PCI_IOBASE) && defined(CONFIG_MMU) ++ unsigned long vaddr = (unsigned long)PCI_IOBASE + res->start; + -+#ifdef PCI_IOBASE + if (!(res->flags & IORESOURCE_IO)) + return -EINVAL; + + if (res->end > IO_SPACE_LIMIT) + return -EINVAL; + -+ err = ioremap_page_range(res->start + (unsigned long)PCI_IOBASE, -+ res->end + 1 + (unsigned long)PCI_IOBASE, -+ phys_addr, __pgprot(PROT_DEVICE_nGnRE)); ++ return ioremap_page_range(vaddr, vaddr + resource_size(res), phys_addr, ++ pgprot_device(PAGE_KERNEL)); +#else + /* this architecture does not have memory mapped I/O space, + so this function should never be called */ -+ WARN_ON(1); ++ WARN_ONCE(1, "This architecture does not support memory mapped I/O\n"); ++ return -ENODEV; +#endif -+ -+ return err; +} + static void __pci_set_master(struct pci_dev *dev, bool enable) { u16 old_cmd, cmd; +@@ -4406,6 +4437,15 @@ static void pci_no_domains(void) + #endif + } + ++#ifdef CONFIG_PCI_DOMAINS ++static atomic_t __domain_nr = ATOMIC_INIT(-1); ++ ++int pci_get_new_domain_nr(void) ++{ ++ return atomic_inc_return(&__domain_nr); ++} ++#endif ++ + /** + * pci_ext_cfg_avail - can we access extended PCI config space? + * diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c -index e3cf8a2..abf5e82 100644 +index 4170113..c3cec34 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c -@@ -515,7 +515,7 @@ static void pci_release_host_bridge_dev(struct device *dev) +@@ -485,7 +485,7 @@ void pci_read_bridge_bases(struct pci_bus *child) + } + } + +-static struct pci_bus *pci_alloc_bus(void) ++static struct pci_bus *pci_alloc_bus(struct pci_bus *parent) + { + struct pci_bus *b; + +@@ -500,6 +500,10 @@ static struct pci_bus *pci_alloc_bus(void) + INIT_LIST_HEAD(&b->resources); + b->max_bus_speed = PCI_SPEED_UNKNOWN; + b->cur_bus_speed = PCI_SPEED_UNKNOWN; ++#ifdef CONFIG_PCI_DOMAINS_GENERIC ++ if (parent) ++ b->domain_nr = parent->domain_nr; ++#endif + return b; + } + +@@ -515,7 +519,7 @@ static void pci_release_host_bridge_dev(struct device *dev) kfree(bridge); } @@ -1978,56 +4674,50 @@ index e3cf8a2..abf5e82 100644 { struct pci_host_bridge *bridge; -@@ -524,7 +524,6 @@ static struct pci_host_bridge *pci_alloc_host_bridge(struct pci_bus *b) +@@ -524,7 +528,8 @@ static struct pci_host_bridge *pci_alloc_host_bridge(struct pci_bus *b) return NULL; INIT_LIST_HEAD(&bridge->windows); - bridge->bus = b; ++ bridge->dev.release = pci_release_host_bridge_dev; ++ return bridge; } -@@ -1749,8 +1748,9 @@ void __weak pcibios_remove_bus(struct pci_bus *bus) - { - } +@@ -671,7 +676,7 @@ static struct pci_bus *pci_alloc_child_bus(struct pci_bus *parent, + /* + * Allocate a new bus, and inherit stuff from the parent.. + */ +- child = pci_alloc_bus(); ++ child = pci_alloc_bus(parent); + if (!child) + return NULL; --struct pci_bus *pci_create_root_bus(struct device *parent, int bus, -- struct pci_ops *ops, void *sysdata, struct list_head *resources) -+struct pci_bus *pci_create_root_bus_in_domain(struct device *parent, -+ int domain, int bus, struct pci_ops *ops, void *sysdata, -+ struct list_head *resources) - { - int error; - struct pci_host_bridge *bridge; -@@ -1761,37 +1761,41 @@ struct pci_bus *pci_create_root_bus(struct device *parent, int bus, +@@ -1751,37 +1756,37 @@ struct pci_bus *pci_create_root_bus(struct device *parent, int bus, char bus_addr[64]; char *fmt; +- b = pci_alloc_bus(); +- if (!b) + bridge = pci_alloc_host_bridge(); + if (!bridge) -+ return ERR_PTR(-ENOMEM); -+ -+ bridge->dev.parent = parent; -+ bridge->dev.release = pci_release_host_bridge_dev; -+ bridge->domain_nr = domain; -+ - b = pci_alloc_bus(); -- if (!b) -- return NULL; -+ if (!b) { -+ error = -ENOMEM; -+ goto err_out; -+ } + return NULL; ++ bridge->dev.parent = parent; ++ ++ b = pci_alloc_bus(NULL); ++ if (!b) ++ goto err_out; ++ b->sysdata = sysdata; b->ops = ops; b->number = b->busn_res.start = bus; -- b2 = pci_find_bus(pci_domain_nr(b), bus); -+ b2 = pci_find_bus(bridge->domain_nr, bus); ++ pci_bus_assign_domain_nr(b, parent); + b2 = pci_find_bus(pci_domain_nr(b), bus); if (b2) { /* If we already got to this bus through a different bridge, ignore it */ dev_dbg(&b2->dev, "bus already known\n"); - goto err_out; -+ error = -EEXIST; + goto err_bus_out; } @@ -2037,9 +4727,8 @@ index e3cf8a2..abf5e82 100644 - - bridge->dev.parent = parent; - bridge->dev.release = pci_release_host_bridge_dev; -- dev_set_name(&bridge->dev, "pci%04x:%02x", pci_domain_nr(b), bus); + bridge->bus = b; -+ dev_set_name(&bridge->dev, "pci%04x:%02x", bridge->domain_nr, bus); + dev_set_name(&bridge->dev, "pci%04x:%02x", pci_domain_nr(b), bus); error = pcibios_root_bridge_prepare(bridge); - if (error) { - kfree(bridge); @@ -2055,48 +4744,595 @@ index e3cf8a2..abf5e82 100644 } b->bridge = get_device(&bridge->dev); device_enable_async_suspend(b->bridge); -@@ -1802,7 +1806,7 @@ struct pci_bus *pci_create_root_bus(struct device *parent, int bus, - - b->dev.class = &pcibus_class; - b->dev.parent = b->bridge; -- dev_set_name(&b->dev, "%04x:%02x", pci_domain_nr(b), bus); -+ dev_set_name(&b->dev, "%04x:%02x", bridge->domain_nr, bus); - error = device_register(&b->dev); - if (error) - goto class_dev_reg_err; -@@ -1848,9 +1852,31 @@ struct pci_bus *pci_create_root_bus(struct device *parent, int bus, +@@ -1838,8 +1843,10 @@ struct pci_bus *pci_create_root_bus(struct device *parent, int bus, class_dev_reg_err: put_device(&bridge->dev); device_unregister(&bridge->dev); +-err_out: +err_bus_out: -+ kfree(b); - err_out: -+ kfree(bridge); -+ return ERR_PTR(error); -+} -+ -+struct pci_bus *pci_create_root_bus(struct device *parent, int bus, -+ struct pci_ops *ops, void *sysdata, struct list_head *resources) -+{ -+ int domain_nr; -+ struct pci_bus *b = pci_alloc_bus(); -+ if (!b) -+ return NULL; -+ -+ b->sysdata = sysdata; -+ domain_nr = pci_domain_nr(b); kfree(b); -- return NULL; -+ -+ b = pci_create_root_bus_in_domain(parent, domain_nr, bus, -+ ops, sysdata, resources); -+ if (IS_ERR(b)) -+ return NULL; -+ -+ return b; ++err_out: ++ kfree(bridge); + return NULL; } - int pci_bus_insert_busn_res(struct pci_bus *b, int bus, int bus_max) +@@ -1936,6 +1943,9 @@ struct pci_bus *pci_scan_root_bus(struct device *parent, int bus, + if (!found) + pci_bus_update_busn_res_end(b, max); + ++ if (!pci_has_flag(PCI_PROBE_ONLY)) ++ pci_assign_unassigned_bus_resources(b); ++ + pci_bus_add_devices(b); + return b; + } +diff --git a/drivers/pnp/resource.c b/drivers/pnp/resource.c +index 782e822..d952462 100644 +--- a/drivers/pnp/resource.c ++++ b/drivers/pnp/resource.c +@@ -313,6 +313,7 @@ static int pci_dev_uses_irq(struct pnp_dev *pnp, struct pci_dev *pci, + progif = class & 0xff; + class >>= 8; + ++#ifdef HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ + if (class == PCI_CLASS_STORAGE_IDE) { + /* + * Unless both channels are native-PCI mode only, +@@ -326,6 +327,7 @@ static int pci_dev_uses_irq(struct pnp_dev *pnp, struct pci_dev *pci, + return 1; + } + } ++#endif /* HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ */ + + return 0; + } +diff --git a/drivers/tty/Kconfig b/drivers/tty/Kconfig +index b24aa01..50fe279 100644 +--- a/drivers/tty/Kconfig ++++ b/drivers/tty/Kconfig +@@ -419,4 +419,10 @@ config DA_CONSOLE + help + This enables a console on a Dash channel. + ++config SBSAUART_TTY ++ tristate "SBSA UART TTY Driver" ++ help ++ Console and system TTY driver for the SBSA UART which is defined ++ in the Server Base System Architecure document for ARM64 servers. ++ + endif # TTY +diff --git a/drivers/tty/Makefile b/drivers/tty/Makefile +index 58ad1c0..c3211c0 100644 +--- a/drivers/tty/Makefile ++++ b/drivers/tty/Makefile +@@ -29,5 +29,6 @@ obj-$(CONFIG_SYNCLINK) += synclink.o + obj-$(CONFIG_PPC_EPAPR_HV_BYTECHAN) += ehv_bytechan.o + obj-$(CONFIG_GOLDFISH_TTY) += goldfish.o + obj-$(CONFIG_DA_TTY) += metag_da.o ++obj-$(CONFIG_SBSAUART_TTY) += sbsauart.o + + obj-y += ipwireless/ +diff --git a/drivers/tty/sbsauart.c b/drivers/tty/sbsauart.c +new file mode 100644 +index 0000000..402f168 +--- /dev/null ++++ b/drivers/tty/sbsauart.c +@@ -0,0 +1,355 @@ ++/* ++ * SBSA (Server Base System Architecture) Compatible UART driver ++ * ++ * Copyright (C) 2014 Linaro Ltd ++ * ++ * Author: Graeme Gregory ++ * ++ * This software is licensed under the terms of the GNU General Public ++ * License version 2, as published by the Free Software Foundation, and ++ * may be copied, distributed, and modified under those terms. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++struct sbsa_tty { ++ struct tty_port port; ++ spinlock_t lock; ++ void __iomem *base; ++ u32 irq; ++ int opencount; ++ struct console console; ++}; ++ ++static struct tty_driver *sbsa_tty_driver; ++static struct sbsa_tty *sbsa_tty; ++ ++#define SBSAUART_CHAR_MASK 0xFF ++ ++static void sbsa_raw_putc(struct uart_port *port, int c) ++{ ++ while (readw(port->membase + UART01x_FR) & UART01x_FR_TXFF) ++ ; ++ writew(c & 0xFF, port->membase + UART01x_DR); ++} ++ ++static void sbsa_uart_early_write(struct console *con, const char *buf, ++ unsigned count) ++{ ++ struct earlycon_device *dev = con->data; ++ ++ uart_console_write(&dev->port, buf, count, sbsa_raw_putc); ++} ++ ++static int __init sbsa_uart_early_console_setup(struct earlycon_device *device, ++ const char *opt) ++{ ++ if (!device->port.membase) ++ return -ENODEV; ++ ++ device->con->write = sbsa_uart_early_write; ++ return 0; ++} ++EARLYCON_DECLARE(sbsauart, sbsa_uart_early_console_setup); ++ ++static void sbsa_tty_do_write(const char *buf, unsigned count) ++{ ++ unsigned long irq_flags; ++ struct sbsa_tty *qtty = sbsa_tty; ++ void __iomem *base = qtty->base; ++ unsigned n; ++ ++ spin_lock_irqsave(&qtty->lock, irq_flags); ++ for (n = 0; n < count; n++) { ++ while (readw(base + UART01x_FR) & UART01x_FR_TXFF) ++ ; ++ writew(buf[n], base + UART01x_DR); ++ } ++ spin_unlock_irqrestore(&qtty->lock, irq_flags); ++} ++ ++static void sbsauart_fifo_to_tty(struct sbsa_tty *qtty) ++{ ++ void __iomem *base = qtty->base; ++ unsigned int flag, max_count = 32; ++ u16 status, ch; ++ ++ while (max_count--) { ++ status = readw(base + UART01x_FR); ++ if (status & UART01x_FR_RXFE) ++ break; ++ ++ /* Take chars from the FIFO and update status */ ++ ch = readw(base + UART01x_DR); ++ flag = TTY_NORMAL; ++ ++ if (ch & UART011_DR_BE) ++ flag = TTY_BREAK; ++ else if (ch & UART011_DR_PE) ++ flag = TTY_PARITY; ++ else if (ch & UART011_DR_FE) ++ flag = TTY_FRAME; ++ else if (ch & UART011_DR_OE) ++ flag = TTY_OVERRUN; ++ ++ ch &= SBSAUART_CHAR_MASK; ++ ++ tty_insert_flip_char(&qtty->port, ch, flag); ++ } ++ ++ tty_schedule_flip(&qtty->port); ++ ++ /* Clear the RX IRQ */ ++ writew(UART011_RXIC | UART011_RXIC, base + UART011_ICR); ++} ++ ++static irqreturn_t sbsa_tty_interrupt(int irq, void *dev_id) ++{ ++ struct sbsa_tty *qtty = sbsa_tty; ++ unsigned long irq_flags; ++ ++ spin_lock_irqsave(&qtty->lock, irq_flags); ++ sbsauart_fifo_to_tty(qtty); ++ spin_unlock_irqrestore(&qtty->lock, irq_flags); ++ ++ return IRQ_HANDLED; ++} ++ ++static int sbsa_tty_open(struct tty_struct *tty, struct file *filp) ++{ ++ struct sbsa_tty *qtty = sbsa_tty; ++ ++ return tty_port_open(&qtty->port, tty, filp); ++} ++ ++static void sbsa_tty_close(struct tty_struct *tty, struct file *filp) ++{ ++ tty_port_close(tty->port, tty, filp); ++} ++ ++static void sbsa_tty_hangup(struct tty_struct *tty) ++{ ++ tty_port_hangup(tty->port); ++} ++ ++static int sbsa_tty_write(struct tty_struct *tty, const unsigned char *buf, ++ int count) ++{ ++ sbsa_tty_do_write(buf, count); ++ return count; ++} ++ ++static int sbsa_tty_write_room(struct tty_struct *tty) ++{ ++ return 32; ++} ++ ++static void sbsa_tty_console_write(struct console *co, const char *b, ++ unsigned count) ++{ ++ sbsa_tty_do_write(b, count); ++ ++ if (b[count - 1] == '\n') ++ sbsa_tty_do_write("\r", 1); ++} ++ ++static struct tty_driver *sbsa_tty_console_device(struct console *c, ++ int *index) ++{ ++ *index = c->index; ++ return sbsa_tty_driver; ++} ++ ++static int sbsa_tty_console_setup(struct console *co, char *options) ++{ ++ if ((unsigned)co->index > 0) ++ return -ENODEV; ++ if (sbsa_tty->base == NULL) ++ return -ENODEV; ++ return 0; ++} ++ ++static struct tty_port_operations sbsa_port_ops = { ++}; ++ ++static const struct tty_operations sbsa_tty_ops = { ++ .open = sbsa_tty_open, ++ .close = sbsa_tty_close, ++ .hangup = sbsa_tty_hangup, ++ .write = sbsa_tty_write, ++ .write_room = sbsa_tty_write_room, ++}; ++ ++static int sbsa_tty_create_driver(void) ++{ ++ int ret; ++ struct tty_driver *tty; ++ ++ sbsa_tty = kzalloc(sizeof(*sbsa_tty), GFP_KERNEL); ++ if (sbsa_tty == NULL) { ++ ret = -ENOMEM; ++ goto err_alloc_sbsa_tty_failed; ++ } ++ tty = alloc_tty_driver(1); ++ if (tty == NULL) { ++ ret = -ENOMEM; ++ goto err_alloc_tty_driver_failed; ++ } ++ tty->driver_name = "sbsauart"; ++ tty->name = "ttySBSA"; ++ tty->type = TTY_DRIVER_TYPE_SERIAL; ++ tty->subtype = SERIAL_TYPE_NORMAL; ++ tty->init_termios = tty_std_termios; ++ tty->flags = TTY_DRIVER_RESET_TERMIOS | TTY_DRIVER_REAL_RAW | ++ TTY_DRIVER_DYNAMIC_DEV; ++ tty_set_operations(tty, &sbsa_tty_ops); ++ ret = tty_register_driver(tty); ++ if (ret) ++ goto err_tty_register_driver_failed; ++ ++ sbsa_tty_driver = tty; ++ return 0; ++ ++err_tty_register_driver_failed: ++ put_tty_driver(tty); ++err_alloc_tty_driver_failed: ++ kfree(sbsa_tty); ++ sbsa_tty = NULL; ++err_alloc_sbsa_tty_failed: ++ return ret; ++} ++ ++static void sbsa_tty_delete_driver(void) ++{ ++ tty_unregister_driver(sbsa_tty_driver); ++ put_tty_driver(sbsa_tty_driver); ++ sbsa_tty_driver = NULL; ++ kfree(sbsa_tty); ++ sbsa_tty = NULL; ++} ++ ++static int sbsa_tty_probe(struct platform_device *pdev) ++{ ++ struct sbsa_tty *qtty; ++ int ret = -EINVAL; ++ int i; ++ struct resource *r; ++ struct device *ttydev; ++ void __iomem *base; ++ u32 irq; ++ ++ r = platform_get_resource(pdev, IORESOURCE_MEM, 0); ++ if (r == NULL) ++ return -EINVAL; ++ ++ base = ioremap(r->start, r->end - r->start); ++ if (base == NULL) ++ pr_err("sbsa_tty: unable to remap base\n"); ++ ++ r = platform_get_resource(pdev, IORESOURCE_IRQ, 0); ++ if (r == NULL) ++ goto err_unmap; ++ ++ irq = r->start; ++ ++ if (pdev->id > 0) ++ goto err_unmap; ++ ++ ret = sbsa_tty_create_driver(); ++ if (ret) ++ goto err_unmap; ++ ++ qtty = sbsa_tty; ++ spin_lock_init(&qtty->lock); ++ tty_port_init(&qtty->port); ++ qtty->port.ops = &sbsa_port_ops; ++ qtty->base = base; ++ qtty->irq = irq; ++ ++ /* Clear and Mask all IRQs */ ++ writew(0, base + UART011_IMSC); ++ writew(0xFFFF, base + UART011_ICR); ++ ++ ret = request_irq(irq, sbsa_tty_interrupt, IRQF_SHARED, ++ "sbsa_tty", pdev); ++ if (ret) ++ goto err_request_irq_failed; ++ ++ /* Unmask the RX IRQ */ ++ writew(UART011_RXIM | UART011_RTIM, base + UART011_IMSC); ++ ++ ttydev = tty_port_register_device(&qtty->port, sbsa_tty_driver, ++ 0, &pdev->dev); ++ if (IS_ERR(ttydev)) { ++ ret = PTR_ERR(ttydev); ++ goto err_tty_register_device_failed; ++ } ++ ++ strcpy(qtty->console.name, "ttySBSA"); ++ qtty->console.write = sbsa_tty_console_write; ++ qtty->console.device = sbsa_tty_console_device; ++ qtty->console.setup = sbsa_tty_console_setup; ++ qtty->console.flags = CON_PRINTBUFFER; ++ qtty->console.index = pdev->id; ++ register_console(&qtty->console); ++ ++ return 0; ++ ++ tty_unregister_device(sbsa_tty_driver, i); ++err_tty_register_device_failed: ++ free_irq(irq, pdev); ++err_request_irq_failed: ++ sbsa_tty_delete_driver(); ++err_unmap: ++ iounmap(base); ++ return ret; ++} ++ ++static int sbsa_tty_remove(struct platform_device *pdev) ++{ ++ struct sbsa_tty *qtty; ++ ++ qtty = sbsa_tty; ++ unregister_console(&qtty->console); ++ tty_unregister_device(sbsa_tty_driver, pdev->id); ++ iounmap(qtty->base); ++ qtty->base = 0; ++ free_irq(qtty->irq, pdev); ++ sbsa_tty_delete_driver(); ++ return 0; ++} ++ ++static const struct acpi_device_id sbsa_acpi_match[] = { ++ { "ARMH0011", 0 }, ++ { } ++}; ++ ++static struct platform_driver sbsa_tty_platform_driver = { ++ .probe = sbsa_tty_probe, ++ .remove = sbsa_tty_remove, ++ .driver = { ++ .name = "sbsa_tty", ++ .acpi_match_table = ACPI_PTR(sbsa_acpi_match), ++ } ++}; ++ ++module_platform_driver(sbsa_tty_platform_driver); ++ ++MODULE_LICENSE("GPL v2"); +diff --git a/drivers/tty/serial/8250/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c +index 57d9df8..e075437 100644 +--- a/drivers/tty/serial/8250/8250_dw.c ++++ b/drivers/tty/serial/8250/8250_dw.c +@@ -313,10 +313,18 @@ static int dw8250_probe_of(struct uart_port *p, + static int dw8250_probe_acpi(struct uart_8250_port *up, + struct dw8250_data *data) + { ++ const struct acpi_device_id *id; + struct uart_port *p = &up->port; + + dw8250_setup_port(up); + ++ id = acpi_match_device(p->dev->driver->acpi_match_table, p->dev); ++ if (!id) ++ return -ENODEV; ++ ++ if (!p->uartclk) ++ p->uartclk = (unsigned int)id->driver_data; ++ + p->iotype = UPIO_MEM32; + p->serial_in = dw8250_serial_in32; + p->serial_out = dw8250_serial_out32; +@@ -541,6 +549,7 @@ static const struct acpi_device_id dw8250_acpi_match[] = { + { "INT3435", 0 }, + { "80860F0A", 0 }, + { "8086228A", 0 }, ++ { "APMC0D08", 50000000}, + { }, + }; + MODULE_DEVICE_TABLE(acpi, dw8250_acpi_match); +diff --git a/include/acpi/acnames.h b/include/acpi/acnames.h +index c728113..f97804b 100644 +--- a/include/acpi/acnames.h ++++ b/include/acpi/acnames.h +@@ -59,6 +59,10 @@ + #define METHOD_NAME__PRS "_PRS" + #define METHOD_NAME__PRT "_PRT" + #define METHOD_NAME__PRW "_PRW" ++#define METHOD_NAME__PS0 "_PS0" ++#define METHOD_NAME__PS1 "_PS1" ++#define METHOD_NAME__PS2 "_PS2" ++#define METHOD_NAME__PS3 "_PS3" + #define METHOD_NAME__REG "_REG" + #define METHOD_NAME__SB_ "_SB_" + #define METHOD_NAME__SEG "_SEG" +diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h +index d91e59b..68d5ade 100644 +--- a/include/acpi/acpi_bus.h ++++ b/include/acpi/acpi_bus.h +@@ -68,6 +68,8 @@ bool acpi_check_dsm(acpi_handle handle, const u8 *uuid, int rev, u64 funcs); + union acpi_object *acpi_evaluate_dsm(acpi_handle handle, const u8 *uuid, + int rev, int func, union acpi_object *argv4); + ++acpi_status acpi_check_coherency(acpi_handle handle, int *val); ++ + static inline union acpi_object * + acpi_evaluate_dsm_typed(acpi_handle handle, const u8 *uuid, int rev, int func, + union acpi_object *argv4, acpi_object_type type) +diff --git a/include/acpi/acpi_io.h b/include/acpi/acpi_io.h +index 444671e..9d573db 100644 +--- a/include/acpi/acpi_io.h ++++ b/include/acpi/acpi_io.h +@@ -1,11 +1,17 @@ + #ifndef _ACPI_IO_H_ + #define _ACPI_IO_H_ + ++#include + #include + + static inline void __iomem *acpi_os_ioremap(acpi_physical_address phys, + acpi_size size) + { ++#ifdef CONFIG_ARM64 ++ if (!page_is_ram(phys >> PAGE_SHIFT)) ++ return ioremap(phys, size); ++#endif ++ + return ioremap_cache(phys, size); + } + +diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h +index b7c89d4..dc9d037 100644 +--- a/include/acpi/acpixf.h ++++ b/include/acpi/acpixf.h +@@ -46,7 +46,7 @@ + + /* Current ACPICA subsystem version in YYYYMMDD format */ + +-#define ACPI_CA_VERSION 0x20140724 ++#define ACPI_CA_VERSION 0x20140828 + + #include + #include +diff --git a/include/acpi/actbl1.h b/include/acpi/actbl1.h +index 7626bfe..29e7937 100644 +--- a/include/acpi/actbl1.h ++++ b/include/acpi/actbl1.h +@@ -952,7 +952,8 @@ enum acpi_srat_type { + ACPI_SRAT_TYPE_CPU_AFFINITY = 0, + ACPI_SRAT_TYPE_MEMORY_AFFINITY = 1, + ACPI_SRAT_TYPE_X2APIC_CPU_AFFINITY = 2, +- ACPI_SRAT_TYPE_RESERVED = 3 /* 3 and greater are reserved */ ++ ACPI_SRAT_TYPE_GICC_AFFINITY = 3, ++ ACPI_SRAT_TYPE_RESERVED = 4 /* 4 and greater are reserved */ + }; + + /* +@@ -968,7 +969,7 @@ struct acpi_srat_cpu_affinity { + u32 flags; + u8 local_sapic_eid; + u8 proximity_domain_hi[3]; +- u32 reserved; /* Reserved, must be zero */ ++ u32 clock_domain; + }; + + /* Flags */ +@@ -1010,6 +1011,20 @@ struct acpi_srat_x2apic_cpu_affinity { + + #define ACPI_SRAT_CPU_ENABLED (1) /* 00: Use affinity structure */ + ++/* 3: GICC Affinity (ACPI 5.1) */ ++ ++struct acpi_srat_gicc_affinity { ++ struct acpi_subtable_header header; ++ u32 proximity_domain; ++ u32 acpi_processor_uid; ++ u32 flags; ++ u32 clock_domain; ++}; ++ ++/* Flags for struct acpi_srat_gicc_affinity */ ++ ++#define ACPI_SRAT_GICC_ENABLED (1) /* 00: Use affinity structure */ ++ + /* Reset to default packing */ + + #pragma pack() +diff --git a/include/acpi/actbl3.h b/include/acpi/actbl3.h +index 787bcc8..5480cb2 100644 +--- a/include/acpi/actbl3.h ++++ b/include/acpi/actbl3.h +@@ -310,10 +310,15 @@ struct acpi_gtdt_timer_entry { + u32 common_flags; + }; + ++/* Flag Definitions: timer_flags and virtual_timer_flags above */ ++ ++#define ACPI_GTDT_GT_IRQ_MODE (1) ++#define ACPI_GTDT_GT_IRQ_POLARITY (1<<1) ++ + /* Flag Definitions: common_flags above */ + +-#define ACPI_GTDT_GT_IS_SECURE_TIMER (1) +-#define ACPI_GTDT_GT_ALWAYS_ON (1<<1) ++#define ACPI_GTDT_GT_IS_SECURE_TIMER (1) ++#define ACPI_GTDT_GT_ALWAYS_ON (1<<1) + + /* 1: SBSA Generic Watchdog Structure */ + diff --git a/include/asm-generic/io.h b/include/asm-generic/io.h index 975e1cc..2e2161b 100644 --- a/include/asm-generic/io.h @@ -2110,11 +5346,147 @@ index 975e1cc..2e2161b 100644 } static inline void ioport_unmap(void __iomem *p) +diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h +index 53b2acc..977e545 100644 +--- a/include/asm-generic/pgtable.h ++++ b/include/asm-generic/pgtable.h +@@ -249,6 +249,10 @@ static inline int pmd_same(pmd_t pmd_a, pmd_t pmd_b) + #define pgprot_writecombine pgprot_noncached + #endif + ++#ifndef pgprot_device ++#define pgprot_device pgprot_noncached ++#endif ++ + /* + * When walking page tables, get the address of the next boundary, + * or the end address of the range if that comes earlier. Although no +diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h +index 35b0c12..d98e96b 100644 +--- a/include/kvm/arm_vgic.h ++++ b/include/kvm/arm_vgic.h +@@ -237,17 +237,19 @@ bool vgic_handle_mmio(struct kvm_vcpu *vcpu, struct kvm_run *run, + #define irqchip_in_kernel(k) (!!((k)->arch.vgic.in_kernel)) + #define vgic_initialized(k) ((k)->arch.vgic.ready) + +-int vgic_v2_probe(struct device_node *vgic_node, +- const struct vgic_ops **ops, +- const struct vgic_params **params); ++int vgic_v2_dt_probe(struct device_node *vgic_node, ++ const struct vgic_ops **ops, ++ const struct vgic_params **params); ++int vgic_v2_acpi_probe(const struct vgic_ops **ops, ++ const struct vgic_params **params); + #ifdef CONFIG_ARM_GIC_V3 +-int vgic_v3_probe(struct device_node *vgic_node, +- const struct vgic_ops **ops, +- const struct vgic_params **params); ++int vgic_v3_dt_probe(struct device_node *vgic_node, ++ const struct vgic_ops **ops, ++ const struct vgic_params **params); + #else +-static inline int vgic_v3_probe(struct device_node *vgic_node, +- const struct vgic_ops **ops, +- const struct vgic_params **params) ++static inline int vgic_v3_dt_probe(struct device_node *vgic_node, ++ const struct vgic_ops **ops, ++ const struct vgic_params **params) + { + return -ENODEV; + } +diff --git a/include/linux/acpi.h b/include/linux/acpi.h +index 807cbc4..4615eb1 100644 +--- a/include/linux/acpi.h ++++ b/include/linux/acpi.h +@@ -71,6 +71,7 @@ enum acpi_irq_model_id { + ACPI_IRQ_MODEL_IOAPIC, + ACPI_IRQ_MODEL_IOSAPIC, + ACPI_IRQ_MODEL_PLATFORM, ++ ACPI_IRQ_MODEL_GIC, + ACPI_IRQ_MODEL_COUNT + }; + +@@ -123,6 +124,10 @@ int acpi_numa_init (void); + + int acpi_table_init (void); + int acpi_table_parse(char *id, acpi_tbl_table_handler handler); ++int __init acpi_parse_entries(unsigned long table_size, ++ acpi_tbl_entry_handler handler, ++ struct acpi_table_header *table_header, ++ int entry_id, unsigned int max_entries); + int __init acpi_table_parse_entries(char *id, unsigned long table_size, + int entry_id, + acpi_tbl_entry_handler handler, +diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h +index 653f0e2..5839f98 100644 +--- a/include/linux/clocksource.h ++++ b/include/linux/clocksource.h +@@ -346,4 +346,10 @@ extern void clocksource_of_init(void); + static inline void clocksource_of_init(void) {} + #endif + ++#ifdef CONFIG_ACPI ++void acpi_generic_timer_init(void); ++#else ++static inline void acpi_generic_timer_init(void) {} ++#endif ++ + #endif /* _LINUX_CLOCKSOURCE_H */ +diff --git a/include/linux/irqchip/arm-gic-acpi.h b/include/linux/irqchip/arm-gic-acpi.h +new file mode 100644 +index 0000000..ad5b577 +--- /dev/null ++++ b/include/linux/irqchip/arm-gic-acpi.h +@@ -0,0 +1,31 @@ ++/* ++ * Copyright (C) 2014, Linaro Ltd. ++ * Author: Tomasz Nowicki ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ */ ++ ++#ifndef ARM_GIC_ACPI_H_ ++#define ARM_GIC_ACPI_H_ ++ ++#ifdef CONFIG_ACPI ++ ++/* ++ * Hard code here, we can not get memory size from MADT (but FDT does), ++ * Actually no need to do that, because this size can be inferred ++ * from GIC spec. ++ */ ++#define ACPI_GICV2_DIST_MEM_SIZE (SZ_4K) ++#define ACPI_GIC_CPU_IF_MEM_SIZE (SZ_8K) ++ ++struct acpi_table_header; ++ ++void acpi_gic_init(void); ++int gic_v2_acpi_init(struct acpi_table_header *table); ++#else ++static inline void acpi_gic_init(void) { } ++#endif ++ ++#endif /* ARM_GIC_ACPI_H_ */ +diff --git a/include/linux/irqchip/arm-gic.h b/include/linux/irqchip/arm-gic.h +index 45e2d8c..2b0f246 100644 +--- a/include/linux/irqchip/arm-gic.h ++++ b/include/linux/irqchip/arm-gic.h +@@ -39,6 +39,8 @@ + #define GIC_DIST_SGI_PENDING_CLEAR 0xf10 + #define GIC_DIST_SGI_PENDING_SET 0xf20 + ++#define GIC_DIST_SOFTINT_NSATT 0x8000 ++ + #define GICH_HCR 0x0 + #define GICH_VTR 0x4 + #define GICH_VMCR 0x8 diff --git a/include/linux/of_address.h b/include/linux/of_address.h -index fb7b722..cb9479e4 100644 +index fb7b722..7ebb877 100644 --- a/include/linux/of_address.h +++ b/include/linux/of_address.h -@@ -23,17 +23,8 @@ struct of_pci_range { +@@ -23,17 +23,6 @@ struct of_pci_range { #define for_each_of_pci_range(parser, range) \ for (; of_pci_range_parser_one(parser, range);) @@ -2129,71 +5501,96 @@ index fb7b722..cb9479e4 100644 - res->name = np->full_name; -} - -+extern int of_pci_range_to_resource(struct of_pci_range *range, -+ struct device_node *np, struct resource *res); /* Translate a DMA address from device space to CPU space */ extern u64 of_translate_dma_address(struct device_node *dev, const __be32 *in_addr); -@@ -55,6 +46,7 @@ extern void __iomem *of_iomap(struct device_node *device, int index); +@@ -55,7 +44,9 @@ extern void __iomem *of_iomap(struct device_node *device, int index); extern const __be32 *of_get_address(struct device_node *dev, int index, u64 *size, unsigned int *flags); +extern int pci_register_io_range(phys_addr_t addr, resource_size_t size); extern unsigned long pci_address_to_pio(phys_addr_t addr); ++extern phys_addr_t pci_pio_to_address(unsigned long pio); extern int of_pci_range_parser_init(struct of_pci_range_parser *parser, + struct device_node *node); +@@ -138,6 +129,9 @@ extern const __be32 *of_get_pci_address(struct device_node *dev, int bar_no, + u64 *size, unsigned int *flags); + extern int of_pci_address_to_resource(struct device_node *dev, int bar, + struct resource *r); ++extern int of_pci_range_to_resource(struct of_pci_range *range, ++ struct device_node *np, ++ struct resource *res); + #else /* CONFIG_OF_ADDRESS && CONFIG_PCI */ + static inline int of_pci_address_to_resource(struct device_node *dev, int bar, + struct resource *r) +@@ -153,4 +147,3 @@ static inline const __be32 *of_get_pci_address(struct device_node *dev, + #endif /* CONFIG_OF_ADDRESS && CONFIG_PCI */ + + #endif /* __OF_ADDRESS_H */ +- diff --git a/include/linux/of_pci.h b/include/linux/of_pci.h -index dde3a4a..71e36d0 100644 +index dde3a4a..1fd207e 100644 --- a/include/linux/of_pci.h +++ b/include/linux/of_pci.h -@@ -15,6 +15,9 @@ struct device_node *of_pci_find_child_device(struct device_node *parent, +@@ -15,6 +15,7 @@ struct device_node *of_pci_find_child_device(struct device_node *parent, int of_pci_get_devfn(struct device_node *np); int of_irq_parse_and_map_pci(const struct pci_dev *dev, u8 slot, u8 pin); int of_pci_parse_bus_range(struct device_node *node, struct resource *res); -+struct pci_host_bridge *of_create_pci_host_bridge(struct device *parent, -+ struct pci_ops *ops, void *host_data); -+ ++int of_get_pci_domain_nr(struct device_node *node); #else static inline int of_irq_parse_pci(const struct pci_dev *pdev, struct of_phandle_args *out_irq) { -@@ -43,6 +46,13 @@ of_pci_parse_bus_range(struct device_node *node, struct resource *res) +@@ -43,6 +44,18 @@ of_pci_parse_bus_range(struct device_node *node, struct resource *res) { return -EINVAL; } + -+static inline struct pci_host_bridge * -+of_create_pci_host_bridge(struct device *parent, struct pci_ops *ops, -+ void *host_data) ++static inline int ++of_get_pci_domain_nr(struct device_node *node) +{ -+ return NULL; ++ return -1; +} ++#endif ++ ++#if defined(CONFIG_OF_ADDRESS) ++int of_pci_get_host_bridge_resources(struct device_node *dev, ++ unsigned char busno, unsigned char bus_max, ++ struct list_head *resources, resource_size_t *io_base); #endif #if defined(CONFIG_OF) && defined(CONFIG_PCI_MSI) diff --git a/include/linux/pci.h b/include/linux/pci.h -index 61978a4..f582746 100644 +index 96453f9..6d540b9 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h -@@ -401,6 +401,8 @@ struct pci_host_bridge_window { - struct pci_host_bridge { - struct device dev; - struct pci_bus *bus; /* root bus */ -+ int domain_nr; -+ resource_size_t io_base; /* physical address for the start of I/O area */ - struct list_head windows; /* pci_host_bridge_windows */ - void (*release_fn)(struct pci_host_bridge *); - void *release_data; -@@ -769,6 +771,9 @@ struct pci_bus *pci_scan_bus(int bus, struct pci_ops *ops, void *sysdata); - struct pci_bus *pci_create_root_bus(struct device *parent, int bus, - struct pci_ops *ops, void *sysdata, - struct list_head *resources); -+struct pci_bus *pci_create_root_bus_in_domain(struct device *parent, -+ int domain, int bus, struct pci_ops *ops, -+ void *sysdata, struct list_head *resources); - int pci_bus_insert_busn_res(struct pci_bus *b, int bus, int busmax); - int pci_bus_update_busn_res_end(struct pci_bus *b, int busmax); - void pci_bus_release_busn_res(struct pci_bus *b); -@@ -1097,6 +1102,9 @@ int __must_check pci_bus_alloc_resource(struct pci_bus *bus, +@@ -457,6 +457,9 @@ struct pci_bus { + unsigned char primary; /* number of primary bridge */ + unsigned char max_bus_speed; /* enum pci_bus_speed */ + unsigned char cur_bus_speed; /* enum pci_bus_speed */ ++#ifdef CONFIG_PCI_DOMAINS_GENERIC ++ int domain_nr; ++#endif + + char name[48]; + +@@ -559,15 +562,6 @@ struct pci_ops { + int (*write)(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 val); + }; + +-/* +- * ACPI needs to be able to access PCI config space before we've done a +- * PCI bus scan and created pci_bus structures. +- */ +-int raw_pci_read(unsigned int domain, unsigned int bus, unsigned int devfn, +- int reg, int len, u32 *val); +-int raw_pci_write(unsigned int domain, unsigned int bus, unsigned int devfn, +- int reg, int len, u32 val); +- + struct pci_bus_region { + dma_addr_t start; + dma_addr_t end; +@@ -1103,6 +1097,9 @@ int __must_check pci_bus_alloc_resource(struct pci_bus *bus, resource_size_t), void *alignf_data); @@ -2203,22 +5600,89 @@ index 61978a4..f582746 100644 static inline dma_addr_t pci_bus_address(struct pci_dev *pdev, int bar) { struct pci_bus_region region; -@@ -1815,8 +1823,15 @@ static inline void pci_set_of_node(struct pci_dev *dev) { } - static inline void pci_release_of_node(struct pci_dev *dev) { } - static inline void pci_set_bus_of_node(struct pci_bus *bus) { } - static inline void pci_release_bus_of_node(struct pci_bus *bus) { } -+ - #endif /* CONFIG_OF */ +@@ -1288,17 +1285,47 @@ void pci_cfg_access_unlock(struct pci_dev *dev); + */ + #ifdef CONFIG_PCI_DOMAINS + extern int pci_domains_supported; ++int pci_get_new_domain_nr(void); + #else + enum { pci_domains_supported = 0 }; + static inline int pci_domain_nr(struct pci_bus *bus) { return 0; } + static inline int pci_proc_domain(struct pci_bus *bus) { return 0; } ++static inline int pci_get_new_domain_nr(void) { return -ENOSYS; } + #endif /* CONFIG_PCI_DOMAINS */ -+/* Used by architecture code to apply any quirks to the list of -+ * pci_host_bridge resource ranges before they are being used -+ * by of_create_pci_host_bridge() ++/* ++ * Generic implementation for PCI domain support. If your ++ * architecture does not need custom management of PCI ++ * domains then this implementation will be used + */ -+extern int pcibios_fixup_bridge_ranges(struct list_head *resources); ++#ifdef CONFIG_PCI_DOMAINS_GENERIC ++static inline int pci_domain_nr(struct pci_bus *bus) ++{ ++ return bus->domain_nr; ++} ++void pci_bus_assign_domain_nr(struct pci_bus *bus, struct device *parent); ++#else ++static inline void pci_bus_assign_domain_nr(struct pci_bus *bus, ++ struct device *parent) ++{ ++} ++#endif + - #ifdef CONFIG_EEH - static inline struct eeh_dev *pci_dev_to_eeh_dev(struct pci_dev *pdev) - { + /* some architectures require additional setup to direct VGA traffic */ + typedef int (*arch_set_vga_state_t)(struct pci_dev *pdev, bool decode, + unsigned int command_bits, u32 flags); + void pci_register_set_vga_state(arch_set_vga_state_t func); + ++/* ++ * ACPI needs to be able to access PCI config space before we've done a ++ * PCI bus scan and created pci_bus structures. ++ */ ++int raw_pci_read(unsigned int domain, unsigned int bus, unsigned int devfn, ++ int reg, int len, u32 *val); ++int raw_pci_write(unsigned int domain, unsigned int bus, unsigned int devfn, ++ int reg, int len, u32 val); ++void pcibios_penalize_isa_irq(int irq, int active); ++ + #else /* CONFIG_PCI is not enabled */ + + /* +@@ -1400,8 +1427,26 @@ static inline struct pci_dev *pci_get_bus_and_slot(unsigned int bus, + unsigned int devfn) + { return NULL; } + ++static inline struct pci_bus *pci_find_bus(int domain, int busnr) ++{ return NULL; } ++ ++static inline int pci_bus_write_config_byte(struct pci_bus *bus, ++ unsigned int devfn, int where, u8 val) ++{ return -ENOSYS; } ++ ++static inline int raw_pci_read(unsigned int domain, unsigned int bus, ++ unsigned int devfn, int reg, int len, u32 *val) ++{ return -ENOSYS; } ++ ++static inline int raw_pci_write(unsigned int domain, unsigned int bus, ++ unsigned int devfn, int reg, int len, u32 val) ++{ return -ENOSYS; } ++ ++static inline void pcibios_penalize_isa_irq(int irq, int active) { } ++ + static inline int pci_domain_nr(struct pci_bus *bus) { return 0; } + static inline struct pci_dev *pci_dev_get(struct pci_dev *dev) { return NULL; } ++static inline int pci_get_new_domain_nr(void) { return -ENOSYS; } + + #define dev_is_pci(d) (false) + #define dev_is_pf(d) (false) +@@ -1613,7 +1658,6 @@ int pcibios_set_pcie_reset_state(struct pci_dev *dev, + enum pcie_reset_state state); + int pcibios_add_device(struct pci_dev *dev); + void pcibios_release_device(struct pci_dev *dev); +-void pcibios_penalize_isa_irq(int irq, int active); + + #ifdef CONFIG_HIBERNATE_CALLBACKS + extern struct dev_pm_ops pcibios_pm_ops; diff --git a/tools/perf/arch/arm64/include/perf_regs.h b/tools/perf/arch/arm64/include/perf_regs.h index e9441b9..1d3f39c 100644 --- a/tools/perf/arch/arm64/include/perf_regs.h @@ -2232,3 +5696,353 @@ index e9441b9..1d3f39c 100644 #define PERF_REG_IP PERF_REG_ARM64_PC #define PERF_REG_SP PERF_REG_ARM64_SP +diff --git a/virt/kvm/arm/arch_timer.c b/virt/kvm/arm/arch_timer.c +index 22fa819..9cd5dbd 100644 +--- a/virt/kvm/arm/arch_timer.c ++++ b/virt/kvm/arm/arch_timer.c +@@ -21,9 +21,11 @@ + #include + #include + #include ++#include + + #include + #include ++#include + + #include + #include +@@ -244,60 +246,92 @@ static const struct of_device_id arch_timer_of_match[] = { + {}, + }; + +-int kvm_timer_hyp_init(void) ++static int kvm_timer_ppi_parse_dt(unsigned int *ppi) + { + struct device_node *np; +- unsigned int ppi; +- int err; +- +- timecounter = arch_timer_get_timecounter(); +- if (!timecounter) +- return -ENODEV; + + np = of_find_matching_node(NULL, arch_timer_of_match); + if (!np) { +- kvm_err("kvm_arch_timer: can't find DT node\n"); + return -ENODEV; + } + +- ppi = irq_of_parse_and_map(np, 2); +- if (!ppi) { +- kvm_err("kvm_arch_timer: no virtual timer interrupt\n"); +- err = -EINVAL; +- goto out; ++ *ppi = irq_of_parse_and_map(np, 2); ++ if (*ppi == 0) { ++ of_node_put(np); ++ return -EINVAL; + } + +- err = request_percpu_irq(ppi, kvm_arch_timer_handler, +- "kvm guest timer", kvm_get_running_vcpus()); +- if (err) { +- kvm_err("kvm_arch_timer: can't request interrupt %d (%d)\n", +- ppi, err); +- goto out; +- } ++ return 0; ++} + +- host_vtimer_irq = ppi; ++extern int acadia_kvm_acpi; ++extern int arch_timer_ppi[]; + +- err = __register_cpu_notifier(&kvm_timer_cpu_nb); +- if (err) { +- kvm_err("Cannot register timer CPU notifier\n"); +- goto out_free; +- } ++static int kvm_timer_ppi_parse_acpi(unsigned int *ppi) + +- wqueue = create_singlethread_workqueue("kvm_arch_timer"); +- if (!wqueue) { +- err = -ENOMEM; +- goto out_free; +- } ++{ ++ /* retrieve VIRT_PPI info */ ++ *ppi = arch_timer_ppi[2]; + +- kvm_info("%s IRQ%d\n", np->name, ppi); +- on_each_cpu(kvm_timer_init_interrupt, NULL, 1); ++ if (*ppi == 0) ++ return -EINVAL; ++ else ++ return 0; ++} ++ ++int kvm_timer_hyp_init(void) ++{ ++ unsigned int ppi; ++ int err; ++ ++ timecounter = arch_timer_get_timecounter(); ++ if (!timecounter) ++ return -ENODEV; ++ ++ /* PPI DT parsing */ ++ err = kvm_timer_ppi_parse_dt(&ppi); + +- goto out; ++ /* if DT parsing fails, try ACPI next */ ++ if (err && !acpi_disabled && acadia_kvm_acpi ) ++ err = kvm_timer_ppi_parse_acpi(&ppi); ++ ++ if (err) { ++ kvm_err("kvm_timer_hyp_init: can't find virtual timer info or " ++ "config virtual timer interrupt\n"); ++ return err; ++ } ++ ++ /* configure IRQ handler */ ++ err = request_percpu_irq(ppi, kvm_arch_timer_handler, ++ "kvm guest timer", kvm_get_running_vcpus()); ++ if (err) { ++ kvm_err("kvm_arch_timer: can't request interrupt %d (%d)\n", ++ ppi, err); ++ goto out; ++ } ++ ++ host_vtimer_irq = ppi; ++ ++ err = __register_cpu_notifier(&kvm_timer_cpu_nb); ++ if (err) { ++ kvm_err("Cannot register timer CPU notifier\n"); ++ goto out_free; ++ } ++ ++ wqueue = create_singlethread_workqueue("kvm_arch_timer"); ++ if (!wqueue) { ++ err = -ENOMEM; ++ goto out_free; ++ } ++ ++ kvm_info("timer IRQ%d\n", ppi); ++ on_each_cpu(kvm_timer_init_interrupt, NULL, 1); ++ ++ goto out; + out_free: +- free_percpu_irq(ppi, kvm_get_running_vcpus()); ++ free_percpu_irq(ppi, kvm_get_running_vcpus()); + out: +- of_node_put(np); +- return err; ++ return err; + } + + void kvm_timer_vcpu_terminate(struct kvm_vcpu *vcpu) +diff --git a/virt/kvm/arm/vgic-v2.c b/virt/kvm/arm/vgic-v2.c +index 416baed..53bdd33 100644 +--- a/virt/kvm/arm/vgic-v2.c ++++ b/virt/kvm/arm/vgic-v2.c +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -26,6 +27,7 @@ + + #include + ++#include + #include + #include + #include +@@ -177,7 +179,7 @@ static const struct vgic_ops vgic_v2_ops = { + static struct vgic_params vgic_v2_params; + + /** +- * vgic_v2_probe - probe for a GICv2 compatible interrupt controller in DT ++ * vgic_v2_dt_probe - probe for a GICv2 compatible interrupt controller in DT + * @node: pointer to the DT node + * @ops: address of a pointer to the GICv2 operations + * @params: address of a pointer to HW-specific parameters +@@ -186,7 +188,7 @@ static struct vgic_params vgic_v2_params; + * in *ops and the HW parameters in *params. Returns an error code + * otherwise. + */ +-int vgic_v2_probe(struct device_node *vgic_node, ++int vgic_v2_dt_probe(struct device_node *vgic_node, + const struct vgic_ops **ops, + const struct vgic_params **params) + { +@@ -263,3 +265,72 @@ out: + of_node_put(vgic_node); + return ret; + } ++ ++struct acpi_madt_generic_interrupt *vgic_acpi; ++static void gic_get_acpi_header(struct acpi_subtable_header *header) ++{ ++ vgic_acpi = (struct acpi_madt_generic_interrupt *)header; ++} ++ ++int vgic_v2_acpi_probe(const struct vgic_ops **ops, ++ const struct vgic_params **params) ++{ ++ struct vgic_params *vgic = &vgic_v2_params; ++ int irq_mode, ret; ++ ++ /* MADT table */ ++ ret = acpi_table_parse_madt(ACPI_MADT_TYPE_GENERIC_INTERRUPT, ++ (acpi_tbl_entry_handler)gic_get_acpi_header, 0); ++ if (!ret) { ++ pr_err("Failed to get MADT VGIC CPU entry\n"); ++ ret = -ENODEV; ++ goto out; ++ } ++ ++ /* IRQ trigger mode */ ++ irq_mode = (vgic_acpi->flags & ACPI_MADT_VGIC_IRQ_MODE) ? ++ ACPI_EDGE_SENSITIVE : ACPI_LEVEL_SENSITIVE; ++ /* According to GIC-400 manual, all PPIs are active-LOW, level ++ * sensative. We register IRQ as active-low. ++ */ ++ vgic->maint_irq = acpi_register_gsi(NULL, vgic_acpi->vgic_interrupt, ++ irq_mode, ACPI_ACTIVE_LOW); ++ if (!vgic->maint_irq) { ++ pr_err("Cannot register VGIC ACPI maintenance irq\n"); ++ ret = -ENXIO; ++ goto out; ++ } ++ ++ /* GICH resource */ ++ vgic->vctrl_base = ioremap(vgic_acpi->gich_base_address, SZ_8K); ++ if (!vgic->vctrl_base) { ++ pr_err("cannot ioremap GICH memory\n"); ++ ret = -ENOMEM; ++ goto out; ++ } ++ ++ vgic->nr_lr = readl_relaxed(vgic->vctrl_base + GICH_VTR); ++ vgic->nr_lr = (vgic->nr_lr & 0x3f) + 1; ++ ++ ret = create_hyp_io_mappings(vgic->vctrl_base, ++ vgic->vctrl_base + SZ_8K, ++ vgic_acpi->gich_base_address); ++ if (ret) { ++ kvm_err("Cannot map GICH into hyp\n"); ++ goto out; ++ } ++ ++ vgic->vcpu_base = vgic_acpi->gicv_base_address; ++ ++ kvm_info("GICH base=0x%llx, GICV base=0x%llx, IRQ=%d\n", ++ (unsigned long long)vgic_acpi->gich_base_address, ++ (unsigned long long)vgic_acpi->gicv_base_address, ++ vgic->maint_irq); ++ ++ vgic->type = VGIC_V2; ++ *ops = &vgic_v2_ops; ++ *params = vgic; ++ ++out: ++ return ret; ++} +diff --git a/virt/kvm/arm/vgic-v3.c b/virt/kvm/arm/vgic-v3.c +index 1c2c8ee..8b56920 100644 +--- a/virt/kvm/arm/vgic-v3.c ++++ b/virt/kvm/arm/vgic-v3.c +@@ -173,7 +173,7 @@ static const struct vgic_ops vgic_v3_ops = { + static struct vgic_params vgic_v3_params; + + /** +- * vgic_v3_probe - probe for a GICv3 compatible interrupt controller in DT ++ * vgic_v3_dt_probe - probe for a GICv3 compatible interrupt controller in DT + * @node: pointer to the DT node + * @ops: address of a pointer to the GICv3 operations + * @params: address of a pointer to HW-specific parameters +@@ -182,9 +182,9 @@ static struct vgic_params vgic_v3_params; + * in *ops and the HW parameters in *params. Returns an error code + * otherwise. + */ +-int vgic_v3_probe(struct device_node *vgic_node, +- const struct vgic_ops **ops, +- const struct vgic_params **params) ++int vgic_v3_dt_probe(struct device_node *vgic_node, ++ const struct vgic_ops **ops, ++ const struct vgic_params **params) + { + int ret = 0; + u32 gicv_idx; +diff --git a/virt/kvm/arm/vgic.c b/virt/kvm/arm/vgic.c +index 73eba79..ca98a3b 100644 +--- a/virt/kvm/arm/vgic.c ++++ b/virt/kvm/arm/vgic.c +@@ -25,9 +25,11 @@ + #include + #include + #include ++#include + + #include + ++#include + #include + #include + #include +@@ -1549,31 +1551,39 @@ static struct notifier_block vgic_cpu_nb = { + }; + + static const struct of_device_id vgic_ids[] = { +- { .compatible = "arm,cortex-a15-gic", .data = vgic_v2_probe, }, +- { .compatible = "arm,gic-v3", .data = vgic_v3_probe, }, ++ { .compatible = "arm,cortex-a15-gic", .data = vgic_v2_dt_probe, }, ++ { .compatible = "arm,gic-v3", .data = vgic_v3_dt_probe, }, + {}, + }; + ++extern int acadia_kvm_acpi; ++ + int kvm_vgic_hyp_init(void) + { + const struct of_device_id *matched_id; + int (*vgic_probe)(struct device_node *,const struct vgic_ops **, + const struct vgic_params **); + struct device_node *vgic_node; +- int ret; ++ int ret = -ENODEV; + +- vgic_node = of_find_matching_node_and_match(NULL, +- vgic_ids, &matched_id); +- if (!vgic_node) { +- kvm_err("error: no compatible GIC node found\n"); +- return -ENODEV; ++ /* probe VGIC */ ++ if (vgic_node = of_find_matching_node_and_match(NULL, ++ vgic_ids, &matched_id)) { ++ /* probe VGIC in DT */ ++ vgic_probe = matched_id->data; ++ ret = vgic_probe(vgic_node, &vgic_ops, &vgic); ++ } ++ else if (!acpi_disabled && acadia_kvm_acpi) { ++ /* probe VGIC in ACPI */ ++ ret = vgic_v2_acpi_probe(&vgic_ops, &vgic); + } + +- vgic_probe = matched_id->data; +- ret = vgic_probe(vgic_node, &vgic_ops, &vgic); +- if (ret) ++ if (ret) { ++ kvm_err("error: no compatible GIC info found\n"); + return ret; ++ } + ++ /* configuration */ + ret = request_percpu_irq(vgic->maint_irq, vgic_maintenance_handler, + "vgic", kvm_get_running_vcpus()); + if (ret) { diff --git a/kernel.spec b/kernel.spec index 47787cfb7..7196ab85f 100644 --- a/kernel.spec +++ b/kernel.spec @@ -2223,6 +2223,9 @@ fi # ||----w | # || || %changelog +* Mon Sep 29 2014 Kyle McMartin +- Update kernel-arm64.patch from git. + * Mon Sep 29 2014 Josh Boyer - 3.17.0-0.rc7.git0.1 - Linux v3.17-rc7 From 05b52e7e93e6bb9042e0147762a4bbc9a241b404 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Tue, 30 Sep 2014 14:29:26 +0100 Subject: [PATCH 03/67] Don't build Exynos4 on lpae kernel, Add dts for BananaPi, Minor ARM updates, Build 6lowpan modules --- arm-dts-sun7i-bananapi.patch | 209 +++++++++++++++++++++++++++++++++++ config-armv7 | 5 + config-armv7-generic | 7 +- config-generic | 30 ++--- kernel.spec | 9 ++ 5 files changed, 242 insertions(+), 18 deletions(-) create mode 100644 arm-dts-sun7i-bananapi.patch diff --git a/arm-dts-sun7i-bananapi.patch b/arm-dts-sun7i-bananapi.patch new file mode 100644 index 000000000..4fff64b2d --- /dev/null +++ b/arm-dts-sun7i-bananapi.patch @@ -0,0 +1,209 @@ +The Banana Pi is an A20 based development board using Raspberry Pi compatible +IO headers. It comes with 1 GB RAM, 1 Gb ethernet, 2x USB host, sata, hdmi +and stereo audio out + various expenansion headers: + + +Signed-off-by: Hans de Goede +--- + arch/arm/boot/dts/Makefile | 1 + + arch/arm/boot/dts/sun7i-a20-bananapi.dts | 177 +++++++++++++++++++++++++++++++ + 2 files changed, 184 insertions(+) + create mode 100644 arch/arm/boot/dts/sun7i-a20-bananapi.dts + +diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile +index bdbc84a..440e037 100644 +--- a/arch/arm/boot/dts/Makefile ++++ b/arch/arm/boot/dts/Makefile +@@ -379,6 +379,7 @@ dtb-$(CONFIG_MACH_SUN6I) += \ + sun6i-a31-hummingbird.dtb \ + sun6i-a31-m9.dtb + dtb-$(CONFIG_MACH_SUN7I) += \ ++ sun7i-a20-bananapi.dtb \ + sun7i-a20-cubieboard2.dtb \ + sun7i-a20-cubietruck.dtb \ + sun7i-a20-i12-tvbox.dtb \ +diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi.dts b/arch/arm/boot/dts/sun7i-a20-bananapi.dts +new file mode 100644 +index 0000000..0332b82 +--- /dev/null ++++ b/arch/arm/boot/dts/sun7i-a20-bananapi.dts +@@ -0,0 +1,177 @@ ++/* ++ * Copyright 2014 Hans de Goede ++ * ++ * The code contained herein is licensed under the GNU General Public ++ * License. You may obtain a copy of the GNU General Public License ++ * Version 2 or later at the following locations: ++ * ++ * http://www.opensource.org/licenses/gpl-license.html ++ * http://www.gnu.org/copyleft/gpl.html ++ */ ++ ++/dts-v1/; ++/include/ "sun7i-a20.dtsi" ++/include/ "sunxi-common-regulators.dtsi" ++ ++/ { ++ model = "LeMaker Banana Pi"; ++ compatible = "lemaker,bananapi", "allwinner,sun7i-a20"; ++ ++ soc@01c00000 { ++ mmc0: mmc@01c0f000 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapi>; ++ vmmc-supply = <®_vcc3v3>; ++ bus-width = <4>; ++ cd-gpios = <&pio 7 10 0>; /* PH10 */ ++ cd-inverted; ++ status = "okay"; ++ }; ++ ++ usbphy: phy@01c13400 { ++ usb1_vbus-supply = <®_usb1_vbus>; ++ usb2_vbus-supply = <®_usb2_vbus>; ++ status = "okay"; ++ }; ++ ++ ehci0: usb@01c14000 { ++ status = "okay"; ++ }; ++ ++ ohci0: usb@01c14400 { ++ status = "okay"; ++ }; ++ ++ ahci: sata@01c18000 { ++ status = "okay"; ++ }; ++ ++ ehci1: usb@01c1c000 { ++ status = "okay"; ++ }; ++ ++ ohci1: usb@01c1c400 { ++ status = "okay"; ++ }; ++ ++ pinctrl@01c20800 { ++ uart3_pins_bananapi: uart3_pin@0 { ++ allwinner,pins = "PH0", "PH1"; ++ allwinner,function = "uart3"; ++ allwinner,drive = <0>; ++ allwinner,pull = <0>; ++ }; ++ ++ mmc0_cd_pin_bananapi: mmc0_cd_pin@0 { ++ allwinner,pins = "PH10"; ++ allwinner,function = "gpio_in"; ++ allwinner,drive = <0>; ++ allwinner,pull = <1>; ++ }; ++ ++ gmac_power_pin_bananapi: gmac_power_pin@0 { ++ allwinner,pins = "PH23"; ++ allwinner,function = "gpio_out"; ++ allwinner,drive = <0>; ++ allwinner,pull = <0>; ++ }; ++ ++ led_pins_bananapi: led_pins@0 { ++ allwinner,pins = "PH24"; ++ allwinner,function = "gpio_out"; ++ allwinner,drive = <0>; ++ allwinner,pull = <0>; ++ }; ++ }; ++ ++ ir0: ir@01c21800 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&ir0_pins_a>; ++ status = "okay"; ++ }; ++ ++ uart0: serial@01c28000 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_pins_a>; ++ status = "okay"; ++ }; ++ ++ uart3: serial@01c28c00 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart3_pins_bananapi>; ++ status = "okay"; ++ }; ++ ++ uart7: serial@01c29c00 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart7_pins_a>; ++ status = "okay"; ++ }; ++ ++ i2c0: i2c@01c2ac00 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&i2c0_pins_a>; ++ status = "okay"; ++ ++ axp209: pmic@34 { ++ compatible = "x-powers,axp209"; ++ reg = <0x34>; ++ interrupt-parent = <&nmi_intc>; ++ interrupts = <0 8>; ++ ++ interrupt-controller; ++ #interrupt-cells = <1>; ++ }; ++ }; ++ ++ i2c2: i2c@01c2b400 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&i2c2_pins_a>; ++ status = "okay"; ++ }; ++ ++ gmac: ethernet@01c50000 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&gmac_pins_rgmii_a>; ++ phy = <&phy1>; ++ phy-mode = "rgmii"; ++ phy-supply = <®_gmac_3v3>; ++ status = "okay"; ++ ++ phy1: ethernet-phy@1 { ++ reg = <1>; ++ }; ++ }; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&led_pins_bananapi>; ++ ++ green { ++ label = "bananapi:green:usr"; ++ gpios = <&pio 7 24 0>; ++ }; ++ }; ++ ++ reg_usb1_vbus: usb1-vbus { ++ status = "okay"; ++ }; ++ ++ reg_usb2_vbus: usb2-vbus { ++ status = "okay"; ++ }; ++ ++ reg_gmac_3v3: gmac-3v3 { ++ compatible = "regulator-fixed"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&gmac_power_pin_bananapi>; ++ regulator-name = "gmac-3v3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ startup-delay-us = <50000>; ++ enable-active-high; ++ gpio = <&pio 7 23 0>; ++ }; ++}; +-- +2.0.0 diff --git a/config-armv7 b/config-armv7 index 489c3f828..ff5825a09 100644 --- a/config-armv7 +++ b/config-armv7 @@ -507,6 +507,11 @@ CONFIG_REGULATOR_DA9055=m # CONFIG_CRYPTO_DEV_PICOXCELL is not set # CONFIG_HW_RANDOM_PICOXCELL is not set +# Exynos 4 +CONFIG_ARCH_EXYNOS4=y +CONFIG_SOC_EXYNOS4212=y +CONFIG_SOC_EXYNOS4412=y + # Rockchips CONFIG_I2C_RK3X=m CONFIG_SPI_ROCKCHIP=m diff --git a/config-armv7-generic b/config-armv7-generic index 8bcf7843b..21da8d935 100644 --- a/config-armv7-generic +++ b/config-armv7-generic @@ -193,11 +193,9 @@ CONFIG_SUN4I_EMAC=m # Exynos CONFIG_ARCH_EXYNOS3=y -CONFIG_ARCH_EXYNOS4=y +# CONFIG_ARCH_EXYNOS4 is not set CONFIG_ARCH_EXYNOS5=y CONFIG_SOC_EXYNOS3250=y -CONFIG_SOC_EXYNOS4212=y -CONFIG_SOC_EXYNOS4412=y CONFIG_SOC_EXYNOS5250=y CONFIG_SOC_EXYNOS5420=y CONFIG_SOC_EXYNOS5440=y @@ -328,6 +326,9 @@ CONFIG_DRM_TEGRA_FBDEV=y # CONFIG_DRM_TEGRA_DEBUG is not set CONFIG_DRM_TEGRA_STAGING=y CONFIG_NOUVEAU_PLATFORM_DRIVER=m +CONFIG_AD525X_DPOT=m +CONFIG_AD525X_DPOT_I2C=m +CONFIG_AD525X_DPOT_SPI=m # Jetson TK1 CONFIG_PINCTRL_AS3722=y diff --git a/config-generic b/config-generic index 414db23ff..df445fa9e 100644 --- a/config-generic +++ b/config-generic @@ -1865,6 +1865,20 @@ CONFIG_MWIFIEX_SDIO=m CONFIG_MWIFIEX_PCIE=m CONFIG_MWIFIEX_USB=m +CONFIG_IEEE802154=m +CONFIG_IEEE802154_6LOWPAN=m +CONFIG_IEEE802154_DRIVERS=m +CONFIG_IEEE802154_FAKEHARD=m +CONFIG_IEEE802154_FAKELB=m +# CONFIG_IEEE802154_AT86RF230 is not set +# CONFIG_IEEE802154_MRF24J40 is not set +# CONFIG_IEEE802154_CC2520 is not set + +CONFIG_MAC802154=m +CONFIG_NET_MPLS_GSO=m + +CONFIG_6LOWPAN=m + # # Token Ring devices # @@ -1974,7 +1988,7 @@ CONFIG_WINBOND_FIR=m # Bluetooth support # CONFIG_BT=m -# CONFIG_BT_6LOWPAN is not set +CONFIG_BT_6LOWPAN=m CONFIG_BT_L2CAP=y CONFIG_BT_SCO=y CONFIG_BT_CMTP=m @@ -5052,8 +5066,6 @@ CONFIG_NET_DSA_MV88E6123_61_65=m # Used by Maemo, we don't care. # CONFIG_PHONET is not set -# CONFIG_6LOWPAN is not set - # CONFIG_ICS932S401 is not set # CONFIG_ATMEL_SSC is not set @@ -5217,18 +5229,6 @@ CONFIG_FSNOTIFY=y CONFIG_FANOTIFY=y CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y -CONFIG_IEEE802154=m -CONFIG_IEEE802154_6LOWPAN=m -CONFIG_IEEE802154_DRIVERS=m -CONFIG_IEEE802154_FAKEHARD=m -CONFIG_IEEE802154_FAKELB=m -# CONFIG_IEEE802154_AT86RF230 is not set -# CONFIG_IEEE802154_MRF24J40 is not set -# CONFIG_IEEE802154_CC2520 is not set - -CONFIG_MAC802154=m -CONFIG_NET_MPLS_GSO=m - # CONFIG_HSR is not set # CONFIG_EXTCON is not set diff --git a/kernel.spec b/kernel.spec index 7196ab85f..fb7782cc8 100644 --- a/kernel.spec +++ b/kernel.spec @@ -581,6 +581,7 @@ Patch21025: arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch Patch21026: pinctrl-pinctrl-single-must-be-initialized-early.patch Patch21028: arm-i.MX6-Utilite-device-dtb.patch +Patch21029: arm-dts-sun7i-bananapi.patch #rhbz 754518 Patch21235: scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch @@ -1202,6 +1203,7 @@ ApplyPatch ppc64-fixtools.patch # ARM # ApplyPatch ARM-tegra-usb-no-reset.patch + ApplyPatch arm-dts-am335x-boneblack-lcdc-add-panel-info.patch ApplyPatch arm-dts-am335x-boneblack-add-cpu0-opp-points.patch ApplyPatch arm-dts-am335x-bone-common-enable-and-use-i2c2.patch @@ -1210,6 +1212,7 @@ ApplyPatch arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch ApplyPatch pinctrl-pinctrl-single-must-be-initialized-early.patch ApplyPatch arm-i.MX6-Utilite-device-dtb.patch +ApplyPatch arm-dts-sun7i-bananapi.patch # # bugfixes to drivers and filesystems @@ -2223,6 +2226,12 @@ fi # ||----w | # || || %changelog +* Tue Sep 30 2014 Peter Robinson +- Don't build Exynos4 on lpae kernel +- Add dts for BananaPi +- Minor ARM updates +- Build 6lowpan modules + * Mon Sep 29 2014 Kyle McMartin - Update kernel-arm64.patch from git. From d6b86222cd06d4b4e428c0cc4bd0b6c072f32fea Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Tue, 30 Sep 2014 16:19:47 -0400 Subject: [PATCH 04/67] Revert some v3.16 changes to mach-highbank which broke L2 cache enablement. Will debug upstream separately, but we need F22/21 running there. (#1139762) --- arm-highbank-l2-reverts.patch | 47 +++++++++++++++++++++++++++++++++++ kernel.spec | 8 ++++++ 2 files changed, 55 insertions(+) create mode 100644 arm-highbank-l2-reverts.patch diff --git a/arm-highbank-l2-reverts.patch b/arm-highbank-l2-reverts.patch new file mode 100644 index 000000000..7e46d9200 --- /dev/null +++ b/arm-highbank-l2-reverts.patch @@ -0,0 +1,47 @@ +diff --git a/arch/arm/mach-highbank/highbank.c b/arch/arm/mach-highbank/highbank.c +index 8c35ae4..38e1dc3 100644 +--- a/arch/arm/mach-highbank/highbank.c ++++ b/arch/arm/mach-highbank/highbank.c +@@ -51,13 +51,11 @@ static void __init highbank_scu_map_io(void) + } + + +-static void highbank_l2c310_write_sec(unsigned long val, unsigned reg) ++static void highbank_l2x0_disable(void) + { +- if (reg == L2X0_CTRL) +- highbank_smc1(0x102, val); +- else +- WARN_ONCE(1, "Highbank L2C310: ignoring write to reg 0x%x\n", +- reg); ++ outer_flush_all(); ++ /* Disable PL310 L2 Cache controller */ ++ highbank_smc1(0x102, 0x0); + } + + static void __init highbank_init_irq(void) +@@ -66,6 +64,14 @@ static void __init highbank_init_irq(void) + + if (of_find_compatible_node(NULL, NULL, "arm,cortex-a9")) + highbank_scu_map_io(); ++ ++ /* Enable PL310 L2 Cache controller */ ++ if (IS_ENABLED(CONFIG_CACHE_L2X0) && ++ of_find_compatible_node(NULL, NULL, "arm,pl310-cache")) { ++ highbank_smc1(0x102, 0x1); ++ l2x0_of_init(0, ~0); ++ outer_cache.disable = highbank_l2x0_disable; ++ } + } + + static void highbank_power_off(void) +@@ -179,9 +185,6 @@ DT_MACHINE_START(HIGHBANK, "Highbank") + #if defined(CONFIG_ZONE_DMA) && defined(CONFIG_ARM_LPAE) + .dma_zone_size = (4ULL * SZ_1G), + #endif +- .l2c_aux_val = 0, +- .l2c_aux_mask = ~0, +- .l2c_write_sec = highbank_l2c310_write_sec, + .init_irq = highbank_init_irq, + .init_machine = highbank_init, + .dt_compat = highbank_match, diff --git a/kernel.spec b/kernel.spec index fb7782cc8..02a9f15cb 100644 --- a/kernel.spec +++ b/kernel.spec @@ -583,6 +583,8 @@ Patch21026: pinctrl-pinctrl-single-must-be-initialized-early.patch Patch21028: arm-i.MX6-Utilite-device-dtb.patch Patch21029: arm-dts-sun7i-bananapi.patch +Patch21100: arm-highbank-l2-reverts.patch + #rhbz 754518 Patch21235: scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch @@ -1214,6 +1216,8 @@ ApplyPatch pinctrl-pinctrl-single-must-be-initialized-early.patch ApplyPatch arm-i.MX6-Utilite-device-dtb.patch ApplyPatch arm-dts-sun7i-bananapi.patch +ApplyPatch arm-highbank-l2-reverts.patch + # # bugfixes to drivers and filesystems # @@ -2226,6 +2230,10 @@ fi # ||----w | # || || %changelog +* Tue Sep 30 2014 Kyle McMartin +- Revert some v3.16 changes to mach-highbank which broke L2 cache enablement. + Will debug upstream separately, but we need F22/21 running there. (#1139762) + * Tue Sep 30 2014 Peter Robinson - Don't build Exynos4 on lpae kernel - Add dts for BananaPi From 9ee62d10a358f36f994b79d9cc570ee95940333e Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Tue, 30 Sep 2014 16:53:17 -0400 Subject: [PATCH 05/67] tag for build 3.17.0-0.rc7.git0.2 --- kernel.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel.spec b/kernel.spec index 02a9f15cb..9e6ccc539 100644 --- a/kernel.spec +++ b/kernel.spec @@ -42,7 +42,7 @@ Summary: The Linux kernel # For non-released -rc kernels, this will be appended after the rcX and # gitX tags, so a 3 here would become part of release "0.rcX.gitX.3" # -%global baserelease 1 +%global baserelease 2 %global fedora_build %{baserelease} # base_sublevel is the kernel version we're starting with and patching @@ -2230,7 +2230,7 @@ fi # ||----w | # || || %changelog -* Tue Sep 30 2014 Kyle McMartin +* Tue Sep 30 2014 Kyle McMartin - 3.17.0-0.rc7.git0.2 - Revert some v3.16 changes to mach-highbank which broke L2 cache enablement. Will debug upstream separately, but we need F22/21 running there. (#1139762) From ddf2ddaa3f2075decf11c2d9bfe67466924b8e6f Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Wed, 1 Oct 2014 10:09:16 -0400 Subject: [PATCH 06/67] Linux v3.17-rc7-6-gaad7fb916a10 --- ACPI-Limit-access-to-custom_method.patch | 2 +- ARM-tegra-usb-no-reset.patch | 2 +- Add-EFI-signature-data-types.patch | 2 +- ...I-signature-blob-parser-and-key-loader.patch | 2 +- ...automatically-enforce-module-signature.patch | 2 +- Add-secure_modules-call.patch | 2 +- ...srq-option-to-disable-secure-boot-mode.patch | 2 +- ...m-Add-support-for-the-Cintiq-Companion.patch | 2 +- KEYS-Add-a-system-blacklist-keyring.patch | 2 +- ...-EPERM-for-a-key-type-name-beginning-w.patch | 2 +- ...ort-certificates-from-UEFI-Secure-Boot.patch | 2 +- ...GN-Support-not-importing-certs-from-db.patch | 2 +- ...BAR-access-when-module-security-is-ena.patch | 2 +- ...em-and-dev-kmem-when-module-loading-is.patch | 2 +- ...ACPI-video-change-acpi-video-brightnes.patch | 2 +- ...pi_rsdp-kernel-parameter-when-module-l.patch | 2 +- ...-4-new-models-to-the-use_native_backli.patch | 2 +- ...-use-native-backlight-quirk-for-the-Th.patch | 2 +- ...-use_native_backlight-quirk-for-HP-Pro.patch | 2 +- ...-bone-common-add-uart2_pins-uart4_pins.patch | 2 +- ...am335x-bone-common-enable-and-use-i2c2.patch | 2 +- ...-bone-common-setup-default-pinmux-http.patch | 2 +- ...s-am335x-boneblack-add-cpu0-opp-points.patch | 2 +- ...s-am335x-boneblack-lcdc-add-panel-info.patch | 2 +- arm-dts-sun7i-bananapi.patch | 17 +++++++++++------ arm-highbank-l2-reverts.patch | 16 +++++++++++++++- arm-i.MX6-Utilite-device-dtb.patch | 2 +- ...ict-debugfs-interface-when-module-load.patch | 2 +- ath9k-rx-dma-stop-check.patch | 2 +- crash-driver.patch | 2 +- criu-no-expert.patch | 2 +- die-floppy-die.patch | 2 +- disable-i8042-check-on-apple-mac.patch | 2 +- disable-libdw-unwind-on-non-x86.patch | 2 +- drm-i915-hush-check-crtc-state.patch | 2 +- drm-vmwgfx-Fix-drm.h-include.patch | 2 +- efi-Add-EFI_SECURE_BOOT-bit.patch | 2 +- ...ecure-boot-if-shim-is-in-insecure-mode.patch | 2 +- ..._SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch | 2 +- ...isable-in-a-signed-modules-environment.patch | 2 +- input-kill-stupid-messages.patch | 2 +- input-silence-i8042-noise.patch | 2 +- kbuild-AFTER_LINK.patch | 2 +- kernel.spec | 7 +++++-- ...at-runtime-if-the-kernel-enforces-modu.patch | 2 +- ...ke-CPUMASK_OFFSTACK-usable-without-deb.patch | 2 +- lis3-improve-handling-of-null-rate.patch | 2 +- no-pcspkr-modalias.patch | 2 +- perf-install-trace-event-plugins.patch | 2 +- ...nctrl-single-must-be-initialized-early.patch | 2 +- ...psmouse_matches_pnp_id-helper-function.patch | 2 +- ...pport-for-detecting-FocalTech-PS-2-tou.patch | 2 +- ...-Add-broken-acpi-video-quirk-for-NC210.patch | 2 +- ...revalidate_disk-prevent-NULL-ptr-deref.patch | 2 +- silence-fbcon-logo.patch | 2 +- sources | 1 + ...g-Disable-watchdog-on-virtual-machines.patch | 2 +- ...IO-port-access-when-module-security-is.patch | 2 +- ...SR-access-when-module-loading-is-restr.patch | 2 +- 59 files changed, 87 insertions(+), 64 deletions(-) diff --git a/ACPI-Limit-access-to-custom_method.patch b/ACPI-Limit-access-to-custom_method.patch index a31d465ad..9d64ec33f 100644 --- a/ACPI-Limit-access-to-custom_method.patch +++ b/ACPI-Limit-access-to-custom_method.patch @@ -1,4 +1,4 @@ -From a25ba80a6a66924d20e859a96fb69bdad4a91030 Mon Sep 17 00:00:00 2001 +From dfba458265ff3aa39546a1c48b1a9f8278fb6dcd Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Mar 2012 08:39:37 -0500 Subject: [PATCH] ACPI: Limit access to custom_method diff --git a/ARM-tegra-usb-no-reset.patch b/ARM-tegra-usb-no-reset.patch index d4542d2b3..05430effd 100644 --- a/ARM-tegra-usb-no-reset.patch +++ b/ARM-tegra-usb-no-reset.patch @@ -1,4 +1,4 @@ -From 39ee0406157ea6afdd9860d48547f1901c010307 Mon Sep 17 00:00:00 2001 +From 8d0de36dce188ae39a090d684b5e856f6b998676 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Thu, 3 May 2012 20:27:11 +0100 Subject: [PATCH] ARM: tegra: usb no reset diff --git a/Add-EFI-signature-data-types.patch b/Add-EFI-signature-data-types.patch index 960237d07..52cb1f223 100644 --- a/Add-EFI-signature-data-types.patch +++ b/Add-EFI-signature-data-types.patch @@ -1,4 +1,4 @@ -From a1a2e1306158d3050e71e5e13323a0eb72fc5521 Mon Sep 17 00:00:00 2001 +From 215641a5837eb4ca62e1aeea2d442f9e53cc28af Mon Sep 17 00:00:00 2001 From: Dave Howells Date: Tue, 23 Oct 2012 09:30:54 -0400 Subject: [PATCH] Add EFI signature data types diff --git a/Add-an-EFI-signature-blob-parser-and-key-loader.patch b/Add-an-EFI-signature-blob-parser-and-key-loader.patch index f659faca1..6206d0481 100644 --- a/Add-an-EFI-signature-blob-parser-and-key-loader.patch +++ b/Add-an-EFI-signature-blob-parser-and-key-loader.patch @@ -1,4 +1,4 @@ -From 3709cc1f011b87baa31d6d546c96f296fbbd670c Mon Sep 17 00:00:00 2001 +From b669e1337984f3193948113f12c20991ee927fc7 Mon Sep 17 00:00:00 2001 From: Dave Howells Date: Tue, 23 Oct 2012 09:36:28 -0400 Subject: [PATCH] Add an EFI signature blob parser and key loader. diff --git a/Add-option-to-automatically-enforce-module-signature.patch b/Add-option-to-automatically-enforce-module-signature.patch index 4f33f8770..5084b2790 100644 --- a/Add-option-to-automatically-enforce-module-signature.patch +++ b/Add-option-to-automatically-enforce-module-signature.patch @@ -1,4 +1,4 @@ -From 15d77b7f33d75a7d43bba6595b40a2a3101e2aca Mon Sep 17 00:00:00 2001 +From 759630ea5024385c087e3072a78d83099803eb1c Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Aug 2013 18:36:30 -0400 Subject: [PATCH] Add option to automatically enforce module signatures when in diff --git a/Add-secure_modules-call.patch b/Add-secure_modules-call.patch index 8775eed52..786b888ca 100644 --- a/Add-secure_modules-call.patch +++ b/Add-secure_modules-call.patch @@ -1,4 +1,4 @@ -From e139620c35ecd430b9406ed5d5400d3c33cfac74 Mon Sep 17 00:00:00 2001 +From b0684b1fc4abcc4ca5a10c8ea3f4482fd7aa8df5 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Aug 2013 17:58:15 -0400 Subject: [PATCH] Add secure_modules() call diff --git a/Add-sysrq-option-to-disable-secure-boot-mode.patch b/Add-sysrq-option-to-disable-secure-boot-mode.patch index a1aafedfe..a521094ba 100644 --- a/Add-sysrq-option-to-disable-secure-boot-mode.patch +++ b/Add-sysrq-option-to-disable-secure-boot-mode.patch @@ -1,4 +1,4 @@ -From 1d500fb32fc39992afd385057c544b09843fd83b Mon Sep 17 00:00:00 2001 +From 9678f525eab31cf068fc0248352bee2936b9ee0c Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Fri, 30 Aug 2013 09:28:51 -0400 Subject: [PATCH] Add sysrq option to disable secure boot mode diff --git a/HID-wacom-Add-support-for-the-Cintiq-Companion.patch b/HID-wacom-Add-support-for-the-Cintiq-Companion.patch index ed64a7f1f..65e33e9de 100644 --- a/HID-wacom-Add-support-for-the-Cintiq-Companion.patch +++ b/HID-wacom-Add-support-for-the-Cintiq-Companion.patch @@ -1,4 +1,4 @@ -From ed2e9011145b80e5261cdf2659eacb9ca0197ecf Mon Sep 17 00:00:00 2001 +From a8bb37b78fcbda02cd09fc2dabdb3f6366f6817d Mon Sep 17 00:00:00 2001 From: Benjamin Tissoires Date: Wed, 3 Sep 2014 15:43:25 -0400 Subject: [PATCH] HID: wacom: Add support for the Cintiq Companion diff --git a/KEYS-Add-a-system-blacklist-keyring.patch b/KEYS-Add-a-system-blacklist-keyring.patch index ee5db23bc..bee03505d 100644 --- a/KEYS-Add-a-system-blacklist-keyring.patch +++ b/KEYS-Add-a-system-blacklist-keyring.patch @@ -1,4 +1,4 @@ -From 22a16fc75804c9696ac2382e7d5b4511e00cca8d Mon Sep 17 00:00:00 2001 +From c8d8b4e270614a6aae9a961dfdd8f95a29640a11 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 26 Oct 2012 12:36:24 -0400 Subject: [PATCH] KEYS: Add a system blacklist keyring diff --git a/KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch b/KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch index a9e2aba69..ba7a87195 100644 --- a/KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch +++ b/KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch @@ -1,4 +1,4 @@ -From b139c7a00d0d47e4f3d54664e00c71090da3544b Mon Sep 17 00:00:00 2001 +From 0fef2fc98f668d3a3c0189e7cfcdcf05010a154e Mon Sep 17 00:00:00 2001 From: David Howells Date: Tue, 16 Sep 2014 17:29:03 +0100 Subject: [PATCH] KEYS: Reinstate EPERM for a key type name beginning with a diff --git a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch index 32bce4836..f4ab1ef80 100644 --- a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch +++ b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch @@ -1,4 +1,4 @@ -From 0c1f61a1f442f2f9749dfaad4e6e475da387c1fe Mon Sep 17 00:00:00 2001 +From dae51fbc07e6c4ae3d73e0107807bcbe3a81eb11 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 26 Oct 2012 12:42:16 -0400 Subject: [PATCH] MODSIGN: Import certificates from UEFI Secure Boot diff --git a/MODSIGN-Support-not-importing-certs-from-db.patch b/MODSIGN-Support-not-importing-certs-from-db.patch index df09a11a2..d5b4328d1 100644 --- a/MODSIGN-Support-not-importing-certs-from-db.patch +++ b/MODSIGN-Support-not-importing-certs-from-db.patch @@ -1,4 +1,4 @@ -From c9adc1b950f06aded047d6b64d3124c71dd90ad1 Mon Sep 17 00:00:00 2001 +From 141bfee2a9912c8f76a0180f505078046d571089 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Thu, 3 Oct 2013 10:14:23 -0400 Subject: [PATCH] MODSIGN: Support not importing certs from db diff --git a/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch b/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch index 3d1bd2dc8..0925f85fd 100644 --- a/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch +++ b/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch @@ -1,4 +1,4 @@ -From 98cfc0b892bc7c4ae18f93f60c579e520a03bc40 Mon Sep 17 00:00:00 2001 +From 0904c09bfbdbda56ff2a9c8945b9cb2211457377 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Thu, 8 Mar 2012 10:10:38 -0500 Subject: [PATCH] PCI: Lock down BAR access when module security is enabled diff --git a/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch b/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch index e5c51d885..6b4afeee7 100644 --- a/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch +++ b/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch @@ -1,4 +1,4 @@ -From e1ccc3ad521b0707b29dbf9c6030e53c77812480 Mon Sep 17 00:00:00 2001 +From e6a661968b01d672792e20abe7d3f215089539e2 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Mar 2012 09:28:15 -0500 Subject: [PATCH] Restrict /dev/mem and /dev/kmem when module loading is diff --git a/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch b/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch index dcebf3f11..6c6d5224c 100644 --- a/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch +++ b/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch @@ -1,4 +1,4 @@ -From d304b0c8f877afb07724853720872e3cf6c0b655 Mon Sep 17 00:00:00 2001 +From ff35c53a447b37a554e1386e7ca5fb843aa4266d Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Mon, 28 Jul 2014 12:59:48 -0400 Subject: [PATCH] Revert "Revert "ACPI / video: change acpi-video diff --git a/acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch b/acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch index 29d8910f3..3c49bf4da 100644 --- a/acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch +++ b/acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch @@ -1,4 +1,4 @@ -From 614872de7ece77faf2f9defa28f7f577336afdbf Mon Sep 17 00:00:00 2001 +From ce8770ac86a3935af8eb33ed5e0af2337c1da377 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Mon, 25 Jun 2012 19:57:30 -0400 Subject: [PATCH] acpi: Ignore acpi_rsdp kernel parameter when module loading diff --git a/acpi-video-Add-4-new-models-to-the-use_native_backli.patch b/acpi-video-Add-4-new-models-to-the-use_native_backli.patch index ef2323701..ec1a0e45f 100644 --- a/acpi-video-Add-4-new-models-to-the-use_native_backli.patch +++ b/acpi-video-Add-4-new-models-to-the-use_native_backli.patch @@ -1,4 +1,4 @@ -From 7e2e06199a92d1d81682f1a3de63c1bf26bb6b67 Mon Sep 17 00:00:00 2001 +From 5d0dae4c72e278d8afa0a685f74dbb1e6440f69b Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 30 Apr 2014 15:24:19 +0200 Subject: [PATCH] acpi-video: Add 4 new models to the use_native_backlight dmi diff --git a/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch b/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch index a7d1e31fe..a7253cd62 100644 --- a/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch +++ b/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch @@ -1,4 +1,4 @@ -From 64cba3fb53724038ece9e9713f5f33b381b78006 Mon Sep 17 00:00:00 2001 +From 7d128f57a5ef9cceb4229141e288450be8562a10 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 2 Jun 2014 17:41:10 +0200 Subject: [PATCH] acpi-video: Add use native backlight quirk for the ThinkPad diff --git a/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch b/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch index f871e5b3a..4cc35ae9d 100644 --- a/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch +++ b/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch @@ -1,4 +1,4 @@ -From 8d7568f0fcdd3f5387f45e0a31ba22901bf25659 Mon Sep 17 00:00:00 2001 +From c51b09e2f91a9350990b152f4156521a1b189b6c Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 2 Jun 2014 17:41:11 +0200 Subject: [PATCH] acpi-video: Add use_native_backlight quirk for HP ProBook diff --git a/arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch b/arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch index 6acf48764..78625e982 100644 --- a/arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch +++ b/arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch @@ -1,4 +1,4 @@ -From 2cb56e4d0df3c1f52146c727aeea2d33555ea790 Mon Sep 17 00:00:00 2001 +From b6bdc946deda3ce96ce2541b2238ec7123f16aea Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Thu, 13 Mar 2014 14:18:52 -0500 Subject: [PATCH] arm: dts: am335x-bone-common: add diff --git a/arm-dts-am335x-bone-common-enable-and-use-i2c2.patch b/arm-dts-am335x-bone-common-enable-and-use-i2c2.patch index 9c0d46db8..b91718e20 100644 --- a/arm-dts-am335x-bone-common-enable-and-use-i2c2.patch +++ b/arm-dts-am335x-bone-common-enable-and-use-i2c2.patch @@ -1,4 +1,4 @@ -From b2cf380ccc533947320d36df84962c56e37f9677 Mon Sep 17 00:00:00 2001 +From ac2dd832b746f42cb2133ed63e79f3cfa8c69297 Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Tue, 31 Dec 2013 11:17:45 -0600 Subject: [PATCH] arm: dts: am335x-bone-common: enable and use i2c2 diff --git a/arm-dts-am335x-bone-common-setup-default-pinmux-http.patch b/arm-dts-am335x-bone-common-setup-default-pinmux-http.patch index b58ff8526..11d830ca4 100644 --- a/arm-dts-am335x-bone-common-setup-default-pinmux-http.patch +++ b/arm-dts-am335x-bone-common-setup-default-pinmux-http.patch @@ -1,4 +1,4 @@ -From f7f61ca4cbd0c1a1d1ef16cb45e74aecedccccc3 Mon Sep 17 00:00:00 2001 +From 58097bcfe543c3f163343c26f5d74a08e47ae8dd Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Tue, 31 Dec 2013 14:18:00 -0600 Subject: [PATCH] arm: dts: am335x-bone-common: setup default pinmux diff --git a/arm-dts-am335x-boneblack-add-cpu0-opp-points.patch b/arm-dts-am335x-boneblack-add-cpu0-opp-points.patch index 51dd7173c..5bfe32d56 100644 --- a/arm-dts-am335x-boneblack-add-cpu0-opp-points.patch +++ b/arm-dts-am335x-boneblack-add-cpu0-opp-points.patch @@ -1,4 +1,4 @@ -From 1f733e5341092b263e08572892655527cacff5a6 Mon Sep 17 00:00:00 2001 +From 31f8fceb7ec2d3f4fe4af441111360228492914b Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Fri, 27 Dec 2013 13:14:19 -0600 Subject: [PATCH] arm: dts: am335x-boneblack: add cpu0 opp points diff --git a/arm-dts-am335x-boneblack-lcdc-add-panel-info.patch b/arm-dts-am335x-boneblack-lcdc-add-panel-info.patch index 56a533e22..a39dae677 100644 --- a/arm-dts-am335x-boneblack-lcdc-add-panel-info.patch +++ b/arm-dts-am335x-boneblack-lcdc-add-panel-info.patch @@ -1,4 +1,4 @@ -From 469ed1e3edeed20452a9db06b2cd2b75767873b2 Mon Sep 17 00:00:00 2001 +From 35093fcde62202263247f82742b938699d257312 Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Fri, 27 Dec 2013 13:05:09 -0600 Subject: [PATCH] arm: dts: am335x-boneblack: lcdc add panel-info diff --git a/arm-dts-sun7i-bananapi.patch b/arm-dts-sun7i-bananapi.patch index 4fff64b2d..70184764a 100644 --- a/arm-dts-sun7i-bananapi.patch +++ b/arm-dts-sun7i-bananapi.patch @@ -1,20 +1,24 @@ +From b74b4496e0ece6dea6b2d00adb6366f9cedb5d47 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Tue, 30 Sep 2014 14:29:26 +0100 +Subject: [PATCH] arm: dts sun7i bananapi + The Banana Pi is an A20 based development board using Raspberry Pi compatible IO headers. It comes with 1 GB RAM, 1 Gb ethernet, 2x USB host, sata, hdmi and stereo audio out + various expenansion headers: - Signed-off-by: Hans de Goede --- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/sun7i-a20-bananapi.dts | 177 +++++++++++++++++++++++++++++++ - 2 files changed, 184 insertions(+) + 2 files changed, 178 insertions(+) create mode 100644 arch/arm/boot/dts/sun7i-a20-bananapi.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index bdbc84a..440e037 100644 +index b8c5cd3ddeb9..c3003a4460f5 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -379,6 +379,7 @@ dtb-$(CONFIG_MACH_SUN6I) += \ +@@ -414,6 +414,7 @@ dtb-$(CONFIG_MACH_SUN6I) += \ sun6i-a31-hummingbird.dtb \ sun6i-a31-m9.dtb dtb-$(CONFIG_MACH_SUN7I) += \ @@ -24,7 +28,7 @@ index bdbc84a..440e037 100644 sun7i-a20-i12-tvbox.dtb \ diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi.dts b/arch/arm/boot/dts/sun7i-a20-bananapi.dts new file mode 100644 -index 0000000..0332b82 +index 000000000000..7214475a3c36 --- /dev/null +++ b/arch/arm/boot/dts/sun7i-a20-bananapi.dts @@ -0,0 +1,177 @@ @@ -206,4 +210,5 @@ index 0000000..0332b82 + }; +}; -- -2.0.0 +1.9.3 + diff --git a/arm-highbank-l2-reverts.patch b/arm-highbank-l2-reverts.patch index 7e46d9200..e93c6442d 100644 --- a/arm-highbank-l2-reverts.patch +++ b/arm-highbank-l2-reverts.patch @@ -1,5 +1,16 @@ +From be2dabd3c534e7665e29b6a7fcf1cd82a3a1783b Mon Sep 17 00:00:00 2001 +From: Kyle McMartin +Date: Tue, 30 Sep 2014 16:19:47 -0400 +Subject: [PATCH] arm: highbank l2 reverts + +Revert some v3.16 changes to mach-highbank which broke L2 cache enablement. +Will debug upstream separately, but we need F22/21 running there. (#1139762) +--- + arch/arm/mach-highbank/highbank.c | 21 ++++++++++++--------- + 1 file changed, 12 insertions(+), 9 deletions(-) + diff --git a/arch/arm/mach-highbank/highbank.c b/arch/arm/mach-highbank/highbank.c -index 8c35ae4..38e1dc3 100644 +index 8c35ae4ff176..38e1dc3b4c6e 100644 --- a/arch/arm/mach-highbank/highbank.c +++ b/arch/arm/mach-highbank/highbank.c @@ -51,13 +51,11 @@ static void __init highbank_scu_map_io(void) @@ -45,3 +56,6 @@ index 8c35ae4..38e1dc3 100644 .init_irq = highbank_init_irq, .init_machine = highbank_init, .dt_compat = highbank_match, +-- +1.9.3 + diff --git a/arm-i.MX6-Utilite-device-dtb.patch b/arm-i.MX6-Utilite-device-dtb.patch index e098390e1..4a7cb1b39 100644 --- a/arm-i.MX6-Utilite-device-dtb.patch +++ b/arm-i.MX6-Utilite-device-dtb.patch @@ -1,4 +1,4 @@ -From c8ba0805d1065a0f7f2879651a82fb264852fa25 Mon Sep 17 00:00:00 2001 +From af23548eb3b9f0576afab2ac4685eb2d35c70c40 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Fri, 11 Jul 2014 00:10:56 +0100 Subject: [PATCH] arm: i.MX6 Utilite device dtb diff --git a/asus-wmi-Restrict-debugfs-interface-when-module-load.patch b/asus-wmi-Restrict-debugfs-interface-when-module-load.patch index 28e22dd9a..e095b7942 100644 --- a/asus-wmi-Restrict-debugfs-interface-when-module-load.patch +++ b/asus-wmi-Restrict-debugfs-interface-when-module-load.patch @@ -1,4 +1,4 @@ -From a9905a9b81127e65862220baadc32907b725fc6f Mon Sep 17 00:00:00 2001 +From 84487e5c072cb74499cc5d0dec38074dbf882d4d Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Mar 2012 08:46:50 -0500 Subject: [PATCH] asus-wmi: Restrict debugfs interface when module loading is diff --git a/ath9k-rx-dma-stop-check.patch b/ath9k-rx-dma-stop-check.patch index 41deb7541..609021d55 100644 --- a/ath9k-rx-dma-stop-check.patch +++ b/ath9k-rx-dma-stop-check.patch @@ -1,4 +1,4 @@ -From ea87c96a4a5e9ca4d905acc31159d605d8e9b6b3 Mon Sep 17 00:00:00 2001 +From 4340f00265531b5ecb2aa4c341878c2584a28036 Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Wed, 6 Feb 2013 09:57:47 -0500 Subject: [PATCH] ath9k: rx dma stop check diff --git a/crash-driver.patch b/crash-driver.patch index e37a4a754..43f5d0e23 100644 --- a/crash-driver.patch +++ b/crash-driver.patch @@ -1,4 +1,4 @@ -From f6109b8233c8d6bb52fa987899a023bb93f4d974 Mon Sep 17 00:00:00 2001 +From 7ffc99dcf9e9f3812307c1db65dc5f04dd97dd0d Mon Sep 17 00:00:00 2001 From: Dave Anderson Date: Tue, 26 Nov 2013 12:42:46 -0500 Subject: [PATCH] crash-driver diff --git a/criu-no-expert.patch b/criu-no-expert.patch index 1ee88c700..b4aa0f67e 100644 --- a/criu-no-expert.patch +++ b/criu-no-expert.patch @@ -1,4 +1,4 @@ -From 456f21a39ee46370f515f08b4af98cbf76bdddb4 Mon Sep 17 00:00:00 2001 +From c639fc38861d9b0fec41cf9c4724034c7567a1ef Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Wed, 30 Jan 2013 10:55:31 -0500 Subject: [PATCH] criu: no expert diff --git a/die-floppy-die.patch b/die-floppy-die.patch index 275dc12c2..1063c224f 100644 --- a/die-floppy-die.patch +++ b/die-floppy-die.patch @@ -1,4 +1,4 @@ -From 94f33f4609a76458a6cfff51ee607576e69e394b Mon Sep 17 00:00:00 2001 +From 2bfe90bebec2493cfd3a34995e2527469012e620 Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Tue, 30 Mar 2010 00:04:29 -0400 Subject: [PATCH] die-floppy-die diff --git a/disable-i8042-check-on-apple-mac.patch b/disable-i8042-check-on-apple-mac.patch index a8fc147fb..3028a5c0a 100644 --- a/disable-i8042-check-on-apple-mac.patch +++ b/disable-i8042-check-on-apple-mac.patch @@ -1,4 +1,4 @@ -From 53202e7db72582d2553f7fdf19a8e39a358e7685 Mon Sep 17 00:00:00 2001 +From 8679b8116696e780089bd6da60bbdd92efa5437c Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Thu, 20 May 2010 10:30:31 -0400 Subject: [PATCH] disable i8042 check on apple mac diff --git a/disable-libdw-unwind-on-non-x86.patch b/disable-libdw-unwind-on-non-x86.patch index 1d83ed840..2447bf1e5 100644 --- a/disable-libdw-unwind-on-non-x86.patch +++ b/disable-libdw-unwind-on-non-x86.patch @@ -1,4 +1,4 @@ -From 9d9b29c6c9d755a56be803f33116f588f454eedf Mon Sep 17 00:00:00 2001 +From f391f6be0e94a80a33d2e3ece9e9b296a89ae4ef Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Fri, 18 Apr 2014 06:58:29 -0400 Subject: [PATCH] disable libdw unwind on non-x86 diff --git a/drm-i915-hush-check-crtc-state.patch b/drm-i915-hush-check-crtc-state.patch index d0fc5da2e..10793ee03 100644 --- a/drm-i915-hush-check-crtc-state.patch +++ b/drm-i915-hush-check-crtc-state.patch @@ -1,4 +1,4 @@ -From ba48b03eeb78d9b7df0809981d411f0029874910 Mon Sep 17 00:00:00 2001 +From 7cfc753f0b38b5347d31f09e2eb475e3fb6374fe Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Wed, 13 Nov 2013 10:17:24 -0500 Subject: [PATCH] drm/i915: hush check crtc state diff --git a/drm-vmwgfx-Fix-drm.h-include.patch b/drm-vmwgfx-Fix-drm.h-include.patch index 903df033c..4699e7746 100644 --- a/drm-vmwgfx-Fix-drm.h-include.patch +++ b/drm-vmwgfx-Fix-drm.h-include.patch @@ -1,4 +1,4 @@ -From ca1144afd41fbdca779943f43158192f27959aad Mon Sep 17 00:00:00 2001 +From c738052ea5451ee572dfb4d8326e0ab4849ec0dd Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 5 Sep 2014 13:19:59 -0400 Subject: [PATCH] drm/vmwgfx: Fix drm.h include diff --git a/efi-Add-EFI_SECURE_BOOT-bit.patch b/efi-Add-EFI_SECURE_BOOT-bit.patch index 9ddb0ad30..a98cc012e 100644 --- a/efi-Add-EFI_SECURE_BOOT-bit.patch +++ b/efi-Add-EFI_SECURE_BOOT-bit.patch @@ -1,4 +1,4 @@ -From 20c2732c1d6dcaebbcb31c74166bd443de6ca707 Mon Sep 17 00:00:00 2001 +From b5216539b41791bb1082f5304e0105a9df65d386 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Tue, 27 Aug 2013 13:33:03 -0400 Subject: [PATCH] efi: Add EFI_SECURE_BOOT bit diff --git a/efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch b/efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch index d72b3bc88..c13e31e1f 100644 --- a/efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch +++ b/efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch @@ -1,4 +1,4 @@ -From 87f4dde157596400b8b1c98a58b6fd28fa0e8f58 Mon Sep 17 00:00:00 2001 +From 26e5d751544871de9b0d77c769a0f2fc8ba4ecc2 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Tue, 5 Feb 2013 19:25:05 -0500 Subject: [PATCH] efi: Disable secure boot if shim is in insecure mode diff --git a/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch b/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch index 59d3c0993..680696b6c 100644 --- a/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch +++ b/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch @@ -1,4 +1,4 @@ -From b8f92575bb2f9a6cbeefa38c07a58607a5d22b6c Mon Sep 17 00:00:00 2001 +From 96534d1ee2b0c866db384a46b94a479ba25c2687 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Tue, 27 Aug 2013 13:28:43 -0400 Subject: [PATCH] efi: Make EFI_SECURE_BOOT_SIG_ENFORCE depend on EFI diff --git a/hibernate-Disable-in-a-signed-modules-environment.patch b/hibernate-Disable-in-a-signed-modules-environment.patch index 79c9201c7..f37e4fa35 100644 --- a/hibernate-Disable-in-a-signed-modules-environment.patch +++ b/hibernate-Disable-in-a-signed-modules-environment.patch @@ -1,4 +1,4 @@ -From 50d51cc3b6a5966db3a32a4e5d9a1db67fe944ce Mon Sep 17 00:00:00 2001 +From 3055cf9347f028233023c5edaee95c9929af43b0 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 20 Jun 2014 08:53:24 -0400 Subject: [PATCH] hibernate: Disable in a signed modules environment diff --git a/input-kill-stupid-messages.patch b/input-kill-stupid-messages.patch index 5ecf7b206..d67f3ad6d 100644 --- a/input-kill-stupid-messages.patch +++ b/input-kill-stupid-messages.patch @@ -1,4 +1,4 @@ -From 8487f83e4b073fff15f1d5baa4548c6fd2cb7a63 Mon Sep 17 00:00:00 2001 +From e8cc1f97f22228190d9e7b3fb6af5ec38ce3bd2d Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Thu, 29 Jul 2010 16:46:31 -0700 Subject: [PATCH] input: kill stupid messages diff --git a/input-silence-i8042-noise.patch b/input-silence-i8042-noise.patch index 631186ea1..723c7452e 100644 --- a/input-silence-i8042-noise.patch +++ b/input-silence-i8042-noise.patch @@ -1,4 +1,4 @@ -From ddde1066e9e2f37c8f2bfbf74e0eb78ff367207f Mon Sep 17 00:00:00 2001 +From ce0a6d0f7b30c563234d72eabbb0e60ff7639a2c Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Thu, 25 Sep 2008 16:23:33 -0400 Subject: [PATCH] input: silence i8042 noise diff --git a/kbuild-AFTER_LINK.patch b/kbuild-AFTER_LINK.patch index f9ef3cec6..06095a6d1 100644 --- a/kbuild-AFTER_LINK.patch +++ b/kbuild-AFTER_LINK.patch @@ -1,4 +1,4 @@ -From d5d3af558eee2b04bab3984ff46be975bda3a0d3 Mon Sep 17 00:00:00 2001 +From f1d7c98528fbc73e95ea6c8d225bc70bd2aa0ec9 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Mon, 6 Oct 2008 23:03:03 -0700 Subject: [PATCH] kbuild: AFTER_LINK diff --git a/kernel.spec b/kernel.spec index 9e6ccc539..f25ad406b 100644 --- a/kernel.spec +++ b/kernel.spec @@ -42,7 +42,7 @@ Summary: The Linux kernel # For non-released -rc kernels, this will be appended after the rcX and # gitX tags, so a 3 here would become part of release "0.rcX.gitX.3" # -%global baserelease 2 +%global baserelease 1 %global fedora_build %{baserelease} # base_sublevel is the kernel version we're starting with and patching @@ -69,7 +69,7 @@ Summary: The Linux kernel # The rc snapshot level %define rcrev 7 # The git snapshot level -%define gitrev 0 +%define gitrev 1 # Set rpm version accordingly %define rpmversion 3.%{upstream_sublevel}.0 %endif @@ -2230,6 +2230,9 @@ fi # ||----w | # || || %changelog +* Wed Oct 01 2014 Josh Boyer - 3.17.0-0.rc7.git1.1 +- Linux v3.17-rc7-6-gaad7fb916a10 + * Tue Sep 30 2014 Kyle McMartin - 3.17.0-0.rc7.git0.2 - Revert some v3.16 changes to mach-highbank which broke L2 cache enablement. Will debug upstream separately, but we need F22/21 running there. (#1139762) diff --git a/kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch b/kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch index 3e09a4771..4c13bee8b 100644 --- a/kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch +++ b/kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch @@ -1,4 +1,4 @@ -From 8f7454af46ae910298ad6c0b89cf7a044e340cd1 Mon Sep 17 00:00:00 2001 +From 6500426047325fad265a2b25f590351490c686d8 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Aug 2013 03:33:56 -0400 Subject: [PATCH] kexec: Disable at runtime if the kernel enforces module diff --git a/lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch b/lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch index 5320ef2e5..58deda617 100644 --- a/lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch +++ b/lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch @@ -1,4 +1,4 @@ -From a4aaede1061f405a4e9798934077d8f7f9a08e12 Mon Sep 17 00:00:00 2001 +From 81234cb7704a6310583d03133a439bdd3e332598 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Mon, 11 Nov 2013 08:39:16 -0500 Subject: [PATCH] lib/cpumask: Make CPUMASK_OFFSTACK usable without debug diff --git a/lis3-improve-handling-of-null-rate.patch b/lis3-improve-handling-of-null-rate.patch index f0bf4d499..2d1a6dab1 100644 --- a/lis3-improve-handling-of-null-rate.patch +++ b/lis3-improve-handling-of-null-rate.patch @@ -1,4 +1,4 @@ -From 12807c9138ad437db44e13e3fde61aeb6cce8b60 Mon Sep 17 00:00:00 2001 +From e427953f0acc0e35683effafc6ff1f229a1d0334 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Piel?= Date: Thu, 3 Nov 2011 16:22:40 +0100 Subject: [PATCH] lis3: improve handling of null rate diff --git a/no-pcspkr-modalias.patch b/no-pcspkr-modalias.patch index 9e9856e44..862cd3285 100644 --- a/no-pcspkr-modalias.patch +++ b/no-pcspkr-modalias.patch @@ -1,4 +1,4 @@ -From aba0660977722c48fa6034ae4ce70f978f99b9b4 Mon Sep 17 00:00:00 2001 +From 6eb3a4acf70957084dc7c5adcb222ca7f55ec43f Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Thu, 29 Jul 2010 16:46:31 -0700 Subject: [PATCH] no pcspkr modalias diff --git a/perf-install-trace-event-plugins.patch b/perf-install-trace-event-plugins.patch index bbf900eb2..519d681d0 100644 --- a/perf-install-trace-event-plugins.patch +++ b/perf-install-trace-event-plugins.patch @@ -1,4 +1,4 @@ -From 57d08a3e8c73fef0722a88a256fe455bc4d462cb Mon Sep 17 00:00:00 2001 +From c62e26f571c8711d99531221eb3acf9b638f27fc Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Mon, 2 Jun 2014 15:11:01 -0400 Subject: [PATCH] perf: install trace-event plugins diff --git a/pinctrl-pinctrl-single-must-be-initialized-early.patch b/pinctrl-pinctrl-single-must-be-initialized-early.patch index 35acd64f7..f0f4cfdd4 100644 --- a/pinctrl-pinctrl-single-must-be-initialized-early.patch +++ b/pinctrl-pinctrl-single-must-be-initialized-early.patch @@ -1,4 +1,4 @@ -From 932bc43d4662a64075f002c37d0755a992ffe060 Mon Sep 17 00:00:00 2001 +From 4e51a4e4efac32756a13316a8c3cf2b2f3af73d5 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Sat, 15 Sep 2012 12:00:41 +0300 Subject: [PATCH] pinctrl: pinctrl-single must be initialized early. diff --git a/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch b/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch index 2bfda2f09..51cfa0b96 100644 --- a/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch +++ b/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch @@ -1,4 +1,4 @@ -From 496d5d919d6a17dc19cc83ffae03a5bdaa0a7bbf Mon Sep 17 00:00:00 2001 +From ab64636e179484c3f55ea16cc0d7d9397f22dca1 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 27 Jun 2014 18:46:42 +0200 Subject: [PATCH] psmouse: Add psmouse_matches_pnp_id helper function diff --git a/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch b/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch index 06b3a8962..15f3509d3 100644 --- a/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch +++ b/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch @@ -1,4 +1,4 @@ -From 825aad4997c8d26152e22611b73dde249cad4257 Mon Sep 17 00:00:00 2001 +From 9eb69e37e2d9f6b15e9d85d7caea88d4a931e97f Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 27 Jun 2014 18:50:33 +0200 Subject: [PATCH] psmouse: Add support for detecting FocalTech PS/2 touchpads diff --git a/samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch b/samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch index d726c5ebc..0ae71ca86 100644 --- a/samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch +++ b/samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch @@ -1,4 +1,4 @@ -From caac83a6e419105b021f61f9075b5db91d1004eb Mon Sep 17 00:00:00 2001 +From 2b539a008e2ba45ed756b20b5703d57eccc54ba3 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 2 Jun 2014 17:40:59 +0200 Subject: [PATCH] samsung-laptop: Add broken-acpi-video quirk for NC210/NC110 diff --git a/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch b/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch index 466c3b57f..2224003bb 100644 --- a/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch +++ b/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch @@ -1,4 +1,4 @@ -From 2a64d25d00e4a3e7f3a3afefb50ae027281a2737 Mon Sep 17 00:00:00 2001 +From bcf026ba3338bd79059f5102ba15e00a4a3c07ea Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Fri, 10 Feb 2012 14:56:13 -0500 Subject: [PATCH] scsi: sd_revalidate_disk prevent NULL ptr deref diff --git a/silence-fbcon-logo.patch b/silence-fbcon-logo.patch index 43fcabef6..c9b0e9a4f 100644 --- a/silence-fbcon-logo.patch +++ b/silence-fbcon-logo.patch @@ -1,4 +1,4 @@ -From 06350e185a1b156d4cce013afcd769898cca1d0a Mon Sep 17 00:00:00 2001 +From a33b96f8aa643a4a16407e9d0d44e6037e03e96e Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Thu, 29 Jul 2010 16:46:31 -0700 Subject: [PATCH] silence fbcon logo diff --git a/sources b/sources index e622c529c..5dab81637 100644 --- a/sources +++ b/sources @@ -1,3 +1,4 @@ 5c569ed649a0c9711879f333e90c5386 linux-3.16.tar.xz 49868ce6467b35cd9ffea1120d129462 perf-man-3.16.tar.gz 225ad95c519089a2f9acc503f948c11a patch-3.17-rc7.xz +637e15cb4076dd83534ac69ed4146013 patch-3.17-rc7-git1.xz diff --git a/watchdog-Disable-watchdog-on-virtual-machines.patch b/watchdog-Disable-watchdog-on-virtual-machines.patch index 5b892c557..9b9123ed1 100644 --- a/watchdog-Disable-watchdog-on-virtual-machines.patch +++ b/watchdog-Disable-watchdog-on-virtual-machines.patch @@ -1,4 +1,4 @@ -From 380409f26e63b0996f3f5e1ad5ef4a3d85e596c8 Mon Sep 17 00:00:00 2001 +From 8ffdb1a2d80801dfeb20879cfce023dc3a9d1347 Mon Sep 17 00:00:00 2001 From: Dave Jones Date: Tue, 24 Jun 2014 08:43:34 -0400 Subject: [PATCH] watchdog: Disable watchdog on virtual machines. diff --git a/x86-Lock-down-IO-port-access-when-module-security-is.patch b/x86-Lock-down-IO-port-access-when-module-security-is.patch index 632215c18..41b252cc2 100644 --- a/x86-Lock-down-IO-port-access-when-module-security-is.patch +++ b/x86-Lock-down-IO-port-access-when-module-security-is.patch @@ -1,4 +1,4 @@ -From 364c622eb638d8482e648dc111ffe0e3c3fb8f0f Mon Sep 17 00:00:00 2001 +From d97acfe361ef67a08dcaa06bf4b1530ad59e87a2 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Thu, 8 Mar 2012 10:35:59 -0500 Subject: [PATCH] x86: Lock down IO port access when module security is enabled diff --git a/x86-Restrict-MSR-access-when-module-loading-is-restr.patch b/x86-Restrict-MSR-access-when-module-loading-is-restr.patch index 8bb2377f2..40b7d7b25 100644 --- a/x86-Restrict-MSR-access-when-module-loading-is-restr.patch +++ b/x86-Restrict-MSR-access-when-module-loading-is-restr.patch @@ -1,4 +1,4 @@ -From 9828822a4c49694917fab51828fa941e750aaabc Mon Sep 17 00:00:00 2001 +From ca054df0e1b01372a664ac5b3ad88099cecf096b Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 8 Feb 2013 11:12:13 -0800 Subject: [PATCH] x86: Restrict MSR access when module loading is restricted From 1aac082a552d6ed7c3397b0cd69af2dc78f14ae3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Tue, 30 Sep 2014 22:56:52 +0200 Subject: [PATCH 07/67] enable firmware assisted dump on PPC also remove the old option PHYP_DUMP --- config-powerpc64 | 2 +- config-powerpc64p7 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config-powerpc64 b/config-powerpc64 index 44c2c51db..32c8c6024 100644 --- a/config-powerpc64 +++ b/config-powerpc64 @@ -129,7 +129,6 @@ CONFIG_SCSI_IBMVSCSIS=m CONFIG_EDAC_CPC925=m CONFIG_FRAME_WARN=2048 -CONFIG_PHYP_DUMP=y CONFIG_FORCE_MAX_ZONEORDER=9 CONFIG_VIRTUALIZATION=y @@ -140,6 +139,7 @@ CONFIG_SCSI_IBMVFC=m CONFIG_IBM_BSR=m CONFIG_CRASH_DUMP=y +CONFIG_FA_DUMP=y CONFIG_RELOCATABLE=y CONFIG_RCU_FANOUT=64 diff --git a/config-powerpc64p7 b/config-powerpc64p7 index 4021f7dc5..48420dabd 100644 --- a/config-powerpc64p7 +++ b/config-powerpc64p7 @@ -120,7 +120,6 @@ CONFIG_SCSI_IBMVSCSIS=m CONFIG_EDAC_CPC925=m CONFIG_FRAME_WARN=2048 -CONFIG_PHYP_DUMP=y CONFIG_FORCE_MAX_ZONEORDER=9 CONFIG_VIRTUALIZATION=y @@ -131,6 +130,7 @@ CONFIG_SCSI_IBMVFC=m CONFIG_IBM_BSR=m CONFIG_CRASH_DUMP=y +CONFIG_FA_DUMP=y CONFIG_RELOCATABLE=y CONFIG_RCU_FANOUT=64 From 3a407e976ee41941582c76230e746c8bbf536f8d Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Wed, 1 Oct 2014 16:53:52 -0400 Subject: [PATCH 08/67] Update kernel-arm64.patch from git, again... enable AMD_XGBE on arm64. --- config-arm64 | 4 + kernel-arm64.patch | 2070 +++++++++++++++++++++++++++++++++++++++++++- kernel.spec | 3 + 3 files changed, 2040 insertions(+), 37 deletions(-) diff --git a/config-arm64 b/config-arm64 index c9b8861b2..3d6e2f2cb 100644 --- a/config-arm64 +++ b/config-arm64 @@ -135,3 +135,7 @@ CONFIG_ACPI_IPMI=y CONFIG_ACPI_CONTAINER=y CONFIG_ACPI_HED=m CONFIG_ACPI_CUSTOM_METHOD=m + +CONFIG_AMD_XGBE=y +CONFIG_AMD_XGBE_PHY=y +# CONFIG_AMD_XGBE_DCB is not set diff --git a/kernel-arm64.patch b/kernel-arm64.patch index a8813c1fb..a05aa3383 100644 --- a/kernel-arm64.patch +++ b/kernel-arm64.patch @@ -1,3 +1,1232 @@ +commit 87257d3e584fad0b47e6304da54a1932f42b11bb +Author: Mark Salter +Date: Tue Sep 30 17:19:24 2014 -0400 + + arm64: avoid need for console= to enable serial console + + Tell kernel to prefer one of the serial ports on platforms + pl011, 8250, or sbsa uarts. console= on command line will + override these assumed preferences. + + Signed-off-by: Mark Salter + +commit 56db24589d311ea3590527030ede007ec339e2d7 +Author: Tom Lendacky +Date: Tue Sep 9 23:33:17 2014 -0400 + + drivers: net: AMD Seattle XGBE PHY support for A0 silicon + + This patch modifies the upstream AMD XGBE PHY driver to support + A0 Seattle silicon in currently shipping systems. The upstream + Linux driver is targetted for Seattle B0 silicon. + + Signed-off-by: Mark Salter + +commit 75554bb2e3c433a47e172d81a0b59df58810dc01 +Author: Tom Lendacky +Date: Tue Sep 9 23:34:07 2014 -0400 + + drivers: net: AMD Seattle XGBE 10GbE support for A0 silicon + + This patch modifies the upstream AMD 10GbE XGBE Ethernet driver to + support A0 Seattle silicon in currently shipping systems. The + upstream Linux driver is targetted for Seattle B0 silicon. + + Signed-off-by: Mark Salter + +commit 41cb1b3c9e62256b8a4e92c50cd51b2a68d0c9c6 +Author: Graeme Gregory +Date: Fri Jul 26 17:55:02 2013 +0100 + + virtio-mmio: add ACPI probing + + Added the match table and pointers for ACPI probing to the driver. + + Signed-off-by: Graeme Gregory + +commit c06502fb4f00c6996c1f55cd342288508808c678 +Author: Graeme Gregory +Date: Wed Jul 24 11:29:48 2013 +0100 + + net: smc91x: add ACPI probing support. + + Add device ID LINA0003 for this device and add the match table. + + As its a platform device it needs no other code and will be probed in by + acpi_platform once device ID is added. + + Signed-off-by: Graeme Gregory + +commit aad559613ff05a13f940129675659297e7125979 +Author: Mark Salter +Date: Tue Sep 23 12:48:48 2014 -0400 + + arm64/pci: add coherency inheritance for pci devices + + Signed-off-by: Mark Salter + +commit 8d2a4226d96ccae17fbc0ef7d7d9c5a07ad8b31f +Author: Mark Salter +Date: Tue Sep 23 12:35:17 2014 -0400 + + arm64/acpi: make acpi disabled by default + + Signed-off-by: Mark Salter + +commit 0553f2b9fc94bfb0f9038003ad6f150cca196aad +Author: Wei Huang +Date: Thu Sep 18 20:32:03 2014 -0400 + + KVM: fix VTTBR_BADDR_MASK + + The following is patch from AMD to fix VTTBR_BADDR_MASK. According to + AMD, this patch is required to enable KVM on Seattle. + + The current VTTBR_BADDR_MASK only masks 39 bits, which is broken on current + systems. Rather than just add a bit it seems like a good time to also set + things at run-time instead of compile time to accomodate more hardware. + + This patch sets TCR_EL2.PS, VTCR_EL2.T0SZ and vttbr_baddr_mask in runtime, + not compile time. + + In ARMv8, EL2 physical address size (TCR_EL2.PS) and stage2 input address + size (VTCR_EL2.T0SZE) cannot be determined in compile time since they + depend on hardware capability. + + According to Table D4-23 and Table D4-25 in ARM DDI 0487A.b document, + vttbr_x is calculated using different fixed values with consideration + of T0SZ, granule size and the level of translation tables. Therefore, + vttbr_baddr_mask should be determined dynamically. + + Changes since v5: + Fixed declaration of vttbr_baddr_mask to not create multiple instances + Refactored return codes based on feedback + For 32 bit included kvm_arm.h in kvm_mmu.h to explictly pick up + VTTBR_BADDR_MASK + + Changes since v4: + More minor cleanups from review + Moved some functions into headers + Added runtime check in kvm_alloc_stage2_pgd + + Changes since v3: + Another rebase + Addressed minor comments from v2 + + Changes since v2: + Rebased on https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next branch + + Changes since v1: + Rebased fix on Jungseok Lee's patch https://lkml.org/lkml/2014/5/12/189 to + provide better long term fix. Updated that patch to log error instead of + silently fail on unaligned vttbr. + + Cc: Marc Zyngier + Cc: Christoffer Dall + Cc: Sungjinn Chung + Signed-off-by: Jungseok Lee + Signed-off-by: Joel Schopp + + Signed-off-by: Wei Huang + +commit f53d1278fe445b7130f1ff76b2f453b453368284 +Author: Wei Huang +Date: Thu Sep 18 20:02:57 2014 -0400 + + KVM/ACPI: Enable ACPI support for KVM virt GIC + + This patches enables ACPI support for KVM virtual GIC. KVM parses + ACPI table for virt GIC related information when DT table is not + present. This is done by retrieving the information defined in + generic_interrupt entry of MADT table. + + Note: Alexander Spyridakis from Virtual Open System posts a + _very_ similar patch to enable acpi-kvm. This patch borrows some + ideas from his patch. + + Signed-off-by: Wei Huang + +commit ba63e452ff5b09cc0314f94e163a51c3279b9ca7 +Author: Wei Huang +Date: Thu Sep 18 20:02:56 2014 -0400 + + KVM/ACPI: Enable ACPI support for virt arch timer + + This patches enables ACPI support for KVM virtual arch_timer. It + allows KVM to parse ACPI table for virt arch_timer PPI when DT table + is not present. This is done by retrieving the information from + arch_timer_ppi array in arm_arch_timer driver. + + Signed-off-by: Wei Huang + +commit dd3f6094c2142786f40a3bc4d69c60b430ecc675 +Author: Wei Huang +Date: Thu Sep 18 20:02:55 2014 -0400 + + KVM/ACPI: Add kernel parameter kvmacpi to enable KVM ACPI support + + This patch addes a new kernel parameter, kvmacpi, to turn on ACPI + support for KVM. Users can enable it using "kvmacpi=on" in command + line. When it is on, KVM will will parse ACPI tables to configure related + components. By default this option is off. + + Note that DT will be probed first, no matter kvmacpi is ON or OFF. + This is because many platforms, such qemu/kvm, still supports + DT only. We still want to support Acadia kernel on such platforms. + + Signed-off-by: Wei Huang + +commit cdfc19f1fbe88c1610db790ad55318d55ab00ee9 +Author: Mark Salter +Date: Thu Sep 18 21:13:05 2014 -0400 + + arm64/pci: fix dma coherency inheritance for PCI devices + + The default dma_ops for devices on arm64 systems are noncoherent in + nature and rely upon special operations and bounce buffers to + perform a device DMA operation to/from memory. Some drivers rely + upon coherent operations involving suitably capable hardware. In + this case, a "dma-coherent" property will exist on the corresponding + Device Tree node for the bridge device, or one of its ancestors. + This patch adds support for applying a DMA coherent dma_ops for + PCI devices in the case of such a property. + + Signed-off-by: Mark Salter + +commit c8a62324eba5718fb43a94a168de7a81787aa94d +Author: Mark Salter +Date: Thu Sep 18 15:05:23 2014 -0400 + + arm64: add sev to parking protocol + + Parking protocol wakes secondary cores with an interrupt. + This patch adds an additional sev() to send an event. This + is a temporary hack for APM Mustang board and not intended + for upstream. + + Signed-off-by: Mark Salter + +commit e5f4ba1223515c46f1875597e77d5c32a37829ee +Author: Mark Salter +Date: Sun Sep 14 09:44:44 2014 -0400 + + Revert "ahci_xgene: Skip the PHY and clock initialization if already configured by the firmware." + + This reverts commit 0bed13bebd6c99d097796d2ca6c4f10fb5b2eabc. + + Temporarily revert for backwards compatibility with rh-0.12-1 firmware + +commit aeff595a5d57264e5f01add5c43f584d88be6a92 +Author: Mark Salter +Date: Mon Aug 11 13:46:43 2014 -0400 + + xgene: add support for ACPI-probed serial port + +commit 02429d239f5ae917d870a7611a9d838b7822df1a +Author: Mark Salter +Date: Sat Aug 9 12:01:20 2014 -0400 + + sata/xgene: support acpi probing + + Signed-off-by: Mark Salter + +commit 774385f250ebb7448ca3eeb344a064ac989c4988 +Author: Hanjun Guo +Date: Thu Aug 28 14:26:16 2014 -0400 + + ARM64 / ACPI: Introduce some PCI functions when PCI is enabled + + Introduce some PCI functions to make ACPI can be compiled when + CONFIG_PCI is enabled, these functions should be revisited when + implemented on ARM64. + + Signed-off-by: Hanjun Guo + [fixed up for 3.17-rc] + Signed-off-by: Mark Salter + +commit 6f711c98b37f1b0a42c4a523d0380d47ed2f95b9 +Author: Al Stone +Date: Thu Aug 28 13:14:16 2014 -0400 + + Fix arm64 compilation error in PNP code + + Signed-off-by: Mark Salter + +commit f874873b7cb10f827bb7f8e08fa282878f740e77 +Author: Bob Moore +Date: Tue Sep 2 08:27:40 2014 +0800 + + ACPICA: Update version to 20140828. + + Version 20140828. + + Signed-off-by: Bob Moore + Signed-off-by: Lv Zheng + +commit 26f9b7b90576cf808a50edf1ec86ceece9349c9f +Author: Bob Moore +Date: Tue Sep 2 08:27:27 2014 +0800 + + ACPICA: Disassembler: Fix for gpio_int interrupt polarity flags. + + The field is actually 2 bits, not 1. + + Signed-off-by: Bob Moore + Signed-off-by: Lv Zheng + +commit 6e1eddc48f6f9b948be4126dd38841f6f70da080 +Author: Hanjun Guo +Date: Tue Sep 2 08:27:19 2014 +0800 + + ACPICA: Headers: Add GTDT flag definitions for the timer subtable. + + Mostly by Hanjun Guo + + Signed-off-by: Hanjun Guo + Signed-off-by: Bob Moore + Signed-off-by: Lv Zheng + +commit 1091460efb5542ba87f40ef20daff44215587f26 +Author: Hanjun Guo +Date: Tue Sep 2 08:27:12 2014 +0800 + + ACPICA: ACPI 5.1/Disassembler: Add GICC affinity subtable to SRAT table. + + Update template for SRAT. + Add clock_domain to standard CPU affinity subtable. + + Mostly by Hanjun Guo + + Signed-off-by: Hanjun Guo + Signed-off-by: Bob Moore + Signed-off-by: Lv Zheng + +commit 02ba5e067dbb83b0f481db821d05851e9623c401 +Author: Bob Moore +Date: Tue Sep 2 08:27:05 2014 +0800 + + ACPICA: Add _PSx names to the METHOD_NAME list. + + Will be used by iASL. + + Signed-off-by: Bob Moore + Signed-off-by: Lv Zheng + +commit f2ecef6608a1f74b236df4f93da9b7b5aba4d3fd +Author: Mark Salter +Date: Tue Sep 9 22:59:48 2014 -0400 + + arm64: add parking protocol support + + This is a first-cut effort at parking protocol support. It is + very much a work in progress (as is the spec it is based on). + This code deviates from the current spec in a number of ways + to work around current firmware issues and issues with kernels + using 64K page sizes. + + caveat utilitor + + Signed-off-by: Mark Salter + +commit 63e220c94f072f10bfae2e1ed375af9dbc017571 +Author: Suravee Suthikulpanit +Date: Tue Sep 9 15:37:15 2014 -0500 + + ata: ahci_platform: Add ACPI support for AMD Seattle SATA controller + + This patch adds ACPI support for non-PCI SATA contoller in ahci_platform driver. + It adds ACPI matching table in ahci_platform to support AMD Seattle SATA controller + with following ASL structure in DSDT: + + Device (SATA0) + { + Name(_HID, "AMDI0600") // Seattle AHSATA + Name (_CCA, 1) // Cache-coherent controller + Name (_CRS, ResourceTemplate () + { + Memory32Fixed (ReadWrite, 0xE0300000, 0x00010000) + Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive,,,) { 387 } + }) + } + + Since ATA driver should not require PCI support for ATA_ACPI, + this patch also removes dependency in the driver/ata/Kconfig. + + Signed-off-by: Suravee Suthikulpanit + +commit d9d7224bd65fb3c1490f06d635b7aceb035acb1e +Author: Graeme Gregory +Date: Wed Aug 13 13:47:18 2014 +0100 + + tty: SBSA compatible UART + + This is a subset of pl011 UART which does not supprt DMA or baud rate + changing. It does, however, provide earlycon support (i.e., using + "earlycon=ttySBSA" on the kernel command line). + + It is specified in the Server Base System Architecture document from + ARM. + + Signed-off-by: Graeme Gregory + +commit 4c67296fce53fed671a78b698d4552636f499b7f +Author: Mark Salter +Date: Thu Aug 14 13:17:37 2014 -0400 + + arm64: set dma coherency ops for ACPI probed devices + + Search for a _CCA object and set the correct dma ops based + on device coherency attribute and architecture default. + + Signed-off-by: Mark Salter + +commit 959c571815c440150b2f290bf3d13b2fbadbee70 +Author: Mark Salter +Date: Thu Aug 14 12:32:13 2014 -0400 + + acpi: add utility to test for device dma coherency + + ACPI 5.1 adds a _CCA object to indicate memory coherency + of a bus master device. It is an integer with zero meaning + non-coherent and one meaning coherent. This attribute may + be inherited from a parent device. It may also be missing + entirely, in which case, an architecture-specific default + is assumed. + + This patch adds a utility function to parse a device handle + (and its parents) for a _CCA object and return the coherency + attribute if found. + + Signed-off-by: Mark Salter + +commit 0dbac48379d3aace2fd7468d83044116f176b4c9 +Author: Mark Salter +Date: Mon Sep 8 11:58:46 2014 -0400 + + acpi: fix acpi_os_ioremap for arm64 + + The acpi_os_ioremap() function may be used to map normal RAM or IO + regions. The current implementation simply uses ioremap_cache(). This + will work for some architectures, but arm64 ioremap_cache() cannot be + used to map IO regions which don't support caching. So for arm64, use + ioremap() for non-RAM regions. + + Signed-off-by: Mark Salter + +commit c9eab819c2107e0c95cf57233de4de5404851ab6 +Author: Graeme Gregory +Date: Mon Sep 8 10:36:44 2014 -0400 + + acpi: add arm to the platforms that use ioremap + + Now with the base changes to the arm memory mapping it is safe + to convert to using ioremap to map in the tables. + + Signed-off-by: Al Stone + Signed-off-by: Graeme Gregory + +commit 7e772a485f980b826a58ecd9c39fbe82085c55fa +Author: Mark Salter +Date: Mon Sep 8 17:04:28 2014 -0400 + + acpi/arm64: NOT FOR UPSTREAM - remove EXPERT dependency + + For convenience to keep existing configs working, remove + CONFIG_EXPERT dependency from ACPI for ARM64. This shouldn't + go upstream just yet. + + Signed-off-by: Mark Salter + +commit b42e8f7901e58b86a1cb3ffdf14cb2455fd91ede +Author: Graeme Gregory +Date: Fri Sep 12 22:00:16 2014 +0800 + + Documentation: ACPI for ARM64 + + Add documentation for the guidelines of how to use ACPI + on ARM64. + + Signed-off-by: Graeme Gregory + Signed-off-by: Hanjun Guo + +commit 57dc75b87d5663181e1c19802297e72e51a324ba +Author: Graeme Gregory +Date: Fri Sep 12 22:00:15 2014 +0800 + + ARM64 / ACPI: Enable ARM64 in Kconfig + + Add Kconfigs to build ACPI on ARM64, and make ACPI available on ARM64. + + acpi_idle driver is x86/IA64 dependent now, so make CONFIG_ACPI_PROCESSOR + depend on X86 || IA64, and implement it on ARM64 in the future. + + Reviewed-by: Grant Likely + Signed-off-by: Graeme Gregory + Signed-off-by: Al Stone + Signed-off-by: Hanjun Guo + +commit 106c5cb3caff13c91cb6056f88a1c0e710b8e0eb +Author: Al Stone +Date: Fri Sep 12 22:00:14 2014 +0800 + + ARM64 / ACPI: Select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64 + + ACPI reduced hardware mode is disabled by default, but ARM64 + can only run properly in ACPI hardware reduced mode, so select + ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64. + + Reviewed-by: Grant Likely + Signed-off-by: Al Stone + Signed-off-by: Hanjun Guo + +commit 73f4aca21985ace8989b6fc8af503940c469f1d7 +Author: Hanjun Guo +Date: Fri Sep 12 22:00:13 2014 +0800 + + ARM64 / ACPI: Parse GTDT to initialize arch timer + + Using the information presented by GTDT to initialize the arch + timer (not memory-mapped). + + Originally-by: Amit Daniel Kachhap + Signed-off-by: Hanjun Guo + +commit 5efba15fb24c25139dd621a417f2b9cbe2e675f5 +Author: Tomasz Nowicki +Date: Fri Sep 12 22:00:12 2014 +0800 + + ARM64 / ACPI: Add GICv2 specific ACPI boot support + + ACPI kernel uses MADT table for proper GIC initialization. It needs to + parse GIC related subtables, collect CPU interface and distributor + addresses and call driver initialization function (which is hardware + abstraction agnostic). In a similar way, FDT initialize GICv1/2. + + NOTE: This commit allow to initialize GICv1/2 basic functionality. + GICv2 vitalization extension, GICv3/4 and ITS are considered as next + steps. + + Signed-off-by: Tomasz Nowicki + Signed-off-by: Hanjun Guo + +commit e060d9d74cecff59ea96d6124ffb1c9c044a4f9d +Author: Hanjun Guo +Date: Fri Sep 12 22:00:11 2014 +0800 + + ARM64 / ACPI: Introduce ACPI_IRQ_MODEL_GIC and register device's gsi + + Introduce ACPI_IRQ_MODEL_GIC which is needed for ARM64 as GIC is + used, and then register device's gsi with the core IRQ subsystem. + + acpi_register_gsi() is similar to DT based irq_of_parse_and_map(), + since gsi is unique in the system, so use hwirq number directly + for the mapping. + + Originally-by: Amit Daniel Kachhap + Signed-off-by: Hanjun Guo + +commit c25e8f66c630713107967076933b5f349655ea6a +Author: Hanjun Guo +Date: Fri Sep 12 22:00:10 2014 +0800 + + ACPI / processor: Make it possible to get CPU hardware ID via GICC + + Introduce a new function map_gicc_mpidr() to allow MPIDRs to be obtained + from the GICC Structure introduced by ACPI 5.1. + + MPIDR is the CPU hardware ID as local APIC ID on x86 platform, so we use + MPIDR not the GIC CPU interface ID to identify CPUs. + + Signed-off-by: Hanjun Guo + +commit 5ce1c3ff91aa9d8012324518789363bb4ded33d4 +Author: Hanjun Guo +Date: Fri Sep 12 22:00:09 2014 +0800 + + ARM64 / ACPI: Parse MADT for SMP initialization + + MADT contains the information for MPIDR which is essential for + SMP initialization, parse the GIC cpu interface structures to + get the MPIDR value and map it to cpu_logical_map(), and add + enabled cpu with valid MPIDR into cpu_possible_map. + + ACPI 5.1 only has two explicit methods to boot up SMP, PSCI and + Parking protocol, but the Parking protocol is only specified for + ARMv7 now, so make PSCI as the only way for the SMP boot protocol + before some updates for the ACPI spec or the Parking protocol spec. + + Signed-off-by: Hanjun Guo + Signed-off-by: Tomasz Nowicki + +commit 8634cf0fcc8294c355d7cecb55da017ba9ff3ff7 +Author: Hanjun Guo +Date: Fri Sep 12 22:00:08 2014 +0800 + + ACPI / table: Print GIC information when MADT is parsed + + When MADT is parsed, print GIC information to make the boot + log look pretty. + + Signed-off-by: Hanjun Guo + Signed-off-by: Tomasz Nowicki + +commit 05facef9c824235c82d8d9c2ae03fe7a729ceef8 +Author: Hanjun Guo +Date: Fri Sep 12 22:00:07 2014 +0800 + + ARM64 / ACPI: Parse FADT table to get PSCI flags for PSCI init + + There are two flags: PSCI_COMPLIANT and PSCI_USE_HVC. When set, + the former signals to the OS that the firmware is PSCI compliant. + The latter selects the appropriate conduit for PSCI calls by + toggling between Hypervisor Calls (HVC) and Secure Monitor Calls + (SMC). + + FADT table contains such information, parse FADT to get the flags + for PSCI init. Since ACPI 5.1 doesn't support self defined PSCI + function IDs, which means that only PSCI 0.2+ is supported in ACPI. + + At the same time, only ACPI 5.1 or higher verison supports PSCI, + and FADT Major.Minor version was introduced in ACPI 5.1, so we + will check the version and only parse FADT table with version >= 5.1. + + If firmware provides ACPI tables with ACPI version less than 5.1, + OS will be messed up with those information and have no way to init + smp and GIC, so disable ACPI if we get an FADT table with version + less that 5.1. + + Signed-off-by: Hanjun Guo + Signed-off-by: Graeme Gregory + Signed-off-by: Tomasz Nowicki + +commit a13a8c748b6170a8a3f4876163ff74e460bd889f +Author: Hanjun Guo +Date: Fri Sep 12 22:00:06 2014 +0800 + + ARM64 / ACPI: Make PCI optional for ACPI on ARM64 + + As PCI for ARM64 is not ready, so introduce some stub functions + to make PCI optional for ACPI, and make ACPI core run without + CONFIG_PCI on ARM64. + + Since ACPI on X86 and IA64 depends on PCI and this patch only makes + PCI optional for ARM64, it will not break anything on X86 and IA64. + + Signed-off-by: Hanjun Guo + +commit a6bf98355490142fc3f6e9c0839af128e326f16d +Author: Graeme Gregory +Date: Fri Sep 12 22:00:05 2014 +0800 + + ARM64 / ACPI: If we chose to boot from acpi then disable FDT + + If the early boot methods of acpi are happy that we have valid ACPI + tables and acpi=off has not been passed. Then do not unflat + devicetree effectively disabling further hardware probing from DT. + + Signed-off-by: Graeme Gregory + Signed-off-by: Hanjun Guo + +commit e3b9886532d1e13ddb68e4955ad776a8623f9766 +Author: Al Stone +Date: Fri Sep 12 22:00:04 2014 +0800 + + ARM64 / ACPI: Introduce early_param for "acpi" + + Introduce one early parameters "off" for "acpi" to disable ACPI on + ARM64. + + This ensures the kernel uses the DT on a platform that provides both + ACPI tables and DT. + + Signed-off-by: Al Stone + Signed-off-by: Graeme Gregory + Signed-off-by: Hanjun Guo + +commit cf1cbe39385d417286a98e3abd7ea3456be2e88c +Author: Graeme Gregory +Date: Fri Sep 12 22:00:03 2014 +0800 + + ARM64 / ACPI: Introduce sleep-arm.c + + ACPI 5.1 does not currently support S states for ARM64 hardware but + ACPI code will call acpi_target_system_state() for device power + managment, so introduce sleep-arm.c to allow other drivers to function + until S states are defined. + + Signed-off-by: Graeme Gregory + Signed-off-by: Tomasz Nowicki + Signed-off-by: Hanjun Guo + +commit 90e5cfbaf183d0eb92f1977c24da20c4e0a2f6be +Author: Al Stone +Date: Fri Sep 12 22:00:02 2014 +0800 + + ARM64 / ACPI: Get RSDP and ACPI boot-time tables + + As we want to get ACPI tables to parse and then use the information + for system initialization, we should get the RSDP (Root System + Description Pointer) first, it then locates Extended Root Description + Table (XSDT) which contains all the 64-bit physical address that + pointer to other boot-time tables. + + Introduce acpi.c and its related head file in this patch to provide + fundamental needs of extern variables and functions for ACPI core, + and then get boot-time tables as needed. + - asm/acenv.h for arch specific ACPICA environments and + implementation, It is needed unconditionally by ACPI core; + - asm/acpi.h for arch specific variables and functions needed by + ACPI driver core; + - acpi.c for ARM64 related ACPI implementation for ACPI driver + core; + + acpi_boot_table_init() is introduced to get RSDP and boot-time tables, + it will be called in setup_arch() before paging_init(), so we should + use eary_memremap() mechanism here to get the RSDP and all the table + pointers. + + Signed-off-by: Al Stone + Signed-off-by: Graeme Gregory + Signed-off-by: Tomasz Nowicki + Signed-off-by: Hanjun Guo + +commit 2fe5d24887dea3f1bffabf04e364fa9f355ed553 +Author: Tomasz Nowicki +Date: Fri Sep 12 22:00:01 2014 +0800 + + ACPI / table: Count matched and successfully parsed entries without specifying max entries + + It is very useful to traverse all available table entries without max + number of expected entries type. Current acpi_parse_entries() + implementation gives that feature but it does not count those entries, + it returns 0 instead, so fix it to count matched and successfully + entries and return it. + + NOTE: This change has no impact to x86 and ia64 archs since existing code + checks for error occurrence only (acpi_parse_entries(...,0) < 0). + + Signed-off-by: Tomasz Nowicki + Signed-off-by: Hanjun Guo + +commit 8c278c76231f0ba0110e755678eefdd6d077f5da +Author: Ashwin Chaugule +Date: Fri Sep 12 22:00:00 2014 +0800 + + ACPI / table: Add new function to get table entries + + The acpi_table_parse() function has a callback that + passes a pointer to a table_header. Add a new function + which takes this pointer and parses its entries. This + eliminates the need to re-traverse all the tables for + each call. e.g. as in acpi_table_parse_madt() which is + normally called after acpi_table_parse(). + + Signed-off-by: Ashwin Chaugule + Signed-off-by: Tomasz Nowicki + Signed-off-by: Hanjun Guo + +commit 651ab5ff6804fa0f516715b4d47399e587944de0 +Author: Hanjun Guo +Date: Fri Sep 12 21:59:59 2014 +0800 + + ARM64: Move the init of cpu_logical_map(0) before unflatten_device_tree() + + It always make sense to initialize CPU0's logical map entry from the + hardware values, so move the initialization of cpu_logical_map(0) + before unflatten_device_tree() which is needed by ACPI code later. + + Signed-off-by: Hanjun Guo + +commit b91246f1a7120de6de8fe630ed01e9a0d0415e88 +Author: Tanmay Inamdar +Date: Fri Sep 26 14:08:27 2014 -0700 + + MAINTAINERS: entry for APM X-Gene PCIe host driver + + Add entry for AppliedMicro X-Gene PCIe host driver. + + Signed-off-by: Tanmay Inamdar + +commit d20b104083718058b599a5ca1a925d8c5243e2e1 +Author: Tanmay Inamdar +Date: Fri Sep 26 14:08:26 2014 -0700 + + dt-bindings: pci: xgene pcie device tree bindings + + This patch adds the bindings for X-Gene PCIe driver. The driver resides + under 'drivers/pci/host/pci-xgene.c' file. + + Signed-off-by: Tanmay Inamdar + +commit 9c429c919b77a3a63ac2843e9e0e2e50e59d28f3 +Author: Tanmay Inamdar +Date: Fri Sep 26 14:08:25 2014 -0700 + + arm64: dts: APM X-Gene PCIe device tree nodes + + This patch adds the device tree nodes for APM X-Gene PCIe host controller and + PCIe clock interface. Since X-Gene SOC supports maximum 5 ports, 5 dts + nodes are added. + + Signed-off-by: Tanmay Inamdar + +commit 3aa4f71932b67e648aff4ae0dc5ace7162d74c1c +Author: Tanmay Inamdar +Date: Fri Sep 26 14:08:24 2014 -0700 + + pci:host: APM X-Gene PCIe host controller driver + + This patch adds the AppliedMicro X-Gene SOC PCIe host controller driver. + X-Gene PCIe controller supports maximum up to 8 lanes and GEN3 speed. + X-Gene SOC supports maximum 5 PCIe ports. + + Reviewed-by: Liviu Dudau + Tested-by: Ming Lei + Tested-by: Dann Frazier + Signed-off-by: Tanmay Inamdar + +commit f3c00bd4ae49b19923049f0f4f9d6a95eaa61b1e +Author: Liviu Dudau +Date: Tue Sep 23 20:01:14 2014 +0100 + + arm64: Add architectural support for PCI + + Use the generic PCI domain and OF functions to provide support for PCI + on arm64. + + [bhelgaas: Change comments to use generic PCI, not just PCIe. Nothing at + this level is PCIe-specific.] + Signed-off-by: Liviu Dudau + Signed-off-by: Bjorn Helgaas + Acked-by: Catalin Marinas + +commit 497220defa08534526ad7b20a9c7eb2d0d903ca4 +Author: Liviu Dudau +Date: Tue Sep 23 20:01:13 2014 +0100 + + PCI: Add pci_remap_iospace() to map bus I/O resources + + Add pci_remap_iospace() to map bus I/O resources into the CPU virtual + address space. Architectures with special needs may provide their own + version, but most should be able to use this one. + + This function is useful for PCI host bridge drivers that need to map the + PCI I/O resources into virtual memory space. + + [bhelgaas: phys_addr description, drop temporary "err" variable] + Signed-off-by: Liviu Dudau + Signed-off-by: Bjorn Helgaas + Reviewed-by: Rob Herring + Reviewed-by: Catalin Marinas + CC: Arnd Bergmann + +commit 7a46ace11cf09b3713dcdc2ef4a17130a738f856 +Author: Liviu Dudau +Date: Tue Sep 23 20:01:12 2014 +0100 + + PCI: Assign unassigned bus resources in pci_scan_root_bus() + + If the firmware has not assigned all the bus resources and we are not just + probing the PCI buses, it makes sense to assign the unassigned resources + in pci_scan_root_bus(). + + Signed-off-by: Liviu Dudau + Signed-off-by: Bjorn Helgaas + CC: Arnd Bergmann + CC: Jason Gunthorpe + CC: Rob Herring + +commit fe33bc876010c3ef700c863099f2c3c1a5e2c18b +Author: Liviu Dudau +Date: Wed Sep 24 11:27:33 2014 -0600 + + of/pci: Add support for parsing PCI host bridge resources from DT + + Provide a function to parse the PCI DT ranges that can be used to create a + pci_host_bridge structure together with its associated bus. + + Signed-off-by: Liviu Dudau + [make io_base parameter optional] + Signed-off-by: Robert Richter + Signed-off-by: Bjorn Helgaas + CC: Arnd Bergmann + CC: Grant Likely + CC: Rob Herring + CC: Catalin Marinas + +commit 71094afda69ac873bb3d6486307e3048e21e912c +Author: Liviu Dudau +Date: Tue Sep 23 20:01:10 2014 +0100 + + of/pci: Add of_pci_get_domain_nr() and of_get_pci_domain_nr() + + Add pci_get_new_domain_nr() to allocate a new domain number and + of_get_pci_domain_nr() to retrieve the PCI domain number of a given device + from DT. Host bridge drivers or architecture-specific code can choose to + implement their PCI domain number policy using these two functions. + + Using of_get_pci_domain_nr() guarantees a stable PCI domain number on every + boot provided that all host bridge controllers are assigned a number in the + device tree using "linux,pci-domain" property. Mixing use of + pci_get_new_domain_nr() and of_get_pci_domain_nr() is not recommended as it + can lead to potentially conflicting domain numbers being assigned to root + buses behind different host bridges. + + Signed-off-by: Liviu Dudau + Signed-off-by: Bjorn Helgaas + CC: Arnd Bergmann + CC: Grant Likely + CC: Rob Herring + CC: Catalin Marinas + +commit 6b385455f18d15da6b5d60a3b67fdb846ae1a3b1 +Author: Catalin Marinas +Date: Tue Sep 23 20:01:09 2014 +0100 + + PCI: Add generic domain handling + + The handling of PCI domains (or PCI segments in ACPI speak) is usually a + straightforward affair but its implementation is currently left to the + architectural code, with pci_domain_nr(b) querying the value of the domain + associated with bus b. + + This patch introduces CONFIG_PCI_DOMAINS_GENERIC as an option that can be + selected if an architecture wants a simple implementation where the value + of the domain associated with a bus is stored in struct pci_bus. + + The architectures that select CONFIG_PCI_DOMAINS_GENERIC will then have to + implement pci_bus_assign_domain_nr() as a way of setting the domain number + associated with a root bus. All child buses except the root bus will + inherit the domain_nr value from their parent. + + Signed-off-by: Catalin Marinas + [Renamed pci_set_domain_nr() to pci_bus_assign_domain_nr()] + Signed-off-by: Liviu Dudau + Signed-off-by: Bjorn Helgaas + CC: Arnd Bergmann + +commit 04b36e0e1da5a96a58dec4f1b393090f00e5b635 +Author: Liviu Dudau +Date: Tue Sep 23 20:01:08 2014 +0100 + + PCI: Create pci_host_bridge before root bus + + Before 7b5436635800 ("PCI: add generic device into pci_host_bridge + struct"), the pci_host_bridge was created before the root bus. Revert the + order of creation as we are going to depend on the pci_host_bridge + structure to retrieve the domain number of the root bus. + + [bhelgaas: changelog] + Tested-by: Tanmay Inamdar + Signed-off-by: Liviu Dudau + Signed-off-by: Bjorn Helgaas + Reviewed-by: Catalin Marinas + Acked-by: Grant Likely + +commit 7569c510218798bd7e5216bf14a42c656f14e891 +Author: Liviu Dudau +Date: Tue Sep 23 20:01:07 2014 +0100 + + of/pci: Fix the conversion of IO ranges into IO resources + + The ranges property for a host bridge controller in DT describes the + mapping between the PCI bus address and the CPU physical address. The + resources framework however expects that the IO resources start at a pseudo + "port" address 0 (zero) and have a maximum size of IO_SPACE_LIMIT. The + conversion from PCI ranges to resources failed to take that into account, + returning a CPU physical address instead of a port number. + + Also fix all the drivers that depend on the old behaviour by fetching the + CPU physical address based on the port number where it is being needed. + + Signed-off-by: Liviu Dudau + Signed-off-by: Bjorn Helgaas + Acked-by: Linus Walleij + CC: Grant Likely + CC: Rob Herring + CC: Arnd Bergmann + CC: Thierry Reding + CC: Simon Horman + CC: Catalin Marinas + +commit 1b381671c9dd2c82cd6f04bc1588d0fc4e1aea59 +Author: Liviu Dudau +Date: Tue Sep 23 20:01:06 2014 +0100 + + of/pci: Move of_pci_range_to_resources() to of/address.c + + We need to enhance of_pci_range_to_resources() enough that it won't make + sense for it to be inline anymore. Move it to drivers/of/address.c, + keeping it under #ifdef CONFIG_PCI. + + [bhelgaas: drop extra detail from changelog, move def under CONFIG_PCI] + Signed-off-by: Liviu Dudau + Signed-off-by: Bjorn Helgaas + CC: Grant Likely + CC: Rob Herring + CC: Arnd Bergmann + CC: Catalin Marinas + +commit eedd8f88d4895d5c6bc46cf3ddeb114a0fafb7c3 +Author: Bjorn Helgaas +Date: Tue Sep 23 17:27:42 2014 -0600 + + of/pci: Define of_pci_range_to_resource() only when CONFIG_PCI=y + + of_pci_range_to_resource() was previously defined always, but it's only + used by PCI code, so move the definition inside the CONFIG_OF_ADDRESS && + CONFIG_PCI block. + + Signed-off-by: Bjorn Helgaas + +commit 4ac73f8ded507537318717bb2b5b6c765db633cd +Author: Liviu Dudau +Date: Tue Sep 23 20:01:05 2014 +0100 + + ARM: Define PCI_IOBASE as the base of virtual PCI IO space + + This is needed for calls into OF code that parses PCI ranges. It signals + support for memory mapped PCI I/O accesses that are described by device + trees. + + Signed-off-by: Liviu Dudau + Signed-off-by: Bjorn Helgaas + Reviewed-by: Catalin Marinas + Acked-by: Arnd Bergmann + CC: Russell King + CC: Rob Herring + +commit ce7af33b6db857c95ac3b65fef37e589e839cc79 +Author: Liviu Dudau +Date: Tue Sep 23 20:01:04 2014 +0100 + + of/pci: Add pci_register_io_range() and pci_pio_to_address() + + Some architectures do not have a simple view of the PCI I/O space and + instead use a range of CPU addresses that map to bus addresses. For some + architectures these ranges will be expressed by OF bindings in a device + tree file. + + This patch introduces a pci_register_io_range() helper function with a + generic implementation that can be used by such architectures to keep track + of the I/O ranges described by the PCI bindings. If the PCI_IOBASE macro + is not defined, that signals lack of support for PCI and we return an + error. + + In order to retrieve the CPU address associated with an I/O port, a new + helper function pci_pio_to_address() is introduced. This will search in + the list of ranges registered with pci_register_io_range() and return the + CPU address that corresponds to the given port. + + Signed-off-by: Liviu Dudau + Signed-off-by: Bjorn Helgaas + Reviewed-by: Catalin Marinas + Acked-by: Rob Herring + CC: Grant Likely + CC: Arnd Bergmann + +commit c5d57f95901af49149ebf6dfc3d7518157e41bfa +Author: Liviu Dudau +Date: Tue Sep 23 20:01:03 2014 +0100 + + asm-generic/io.h: Fix ioport_map() for !CONFIG_GENERIC_IOMAP + + The !CONFIG_GENERIC_IOMAP version of ioport_map() is wrong. It returns a + mapped, i.e., virtual, address that can start from zero and completely + ignores the PCI_IOBASE and IO_SPACE_LIMIT that most architectures that use + !CONFIG_GENERIC_MAP define. + + Tested-by: Tanmay Inamdar + Signed-off-by: Liviu Dudau + Signed-off-by: Bjorn Helgaas + Reviewed-by: Catalin Marinas + Acked-by: Arnd Bergmann + +commit a65e51156bec2c8d690b924bbddf1a740309e543 +Author: Mark Salter +Date: Tue Jun 24 09:50:28 2014 -0400 + + arm64: use EFI as last resort for reboot and poweroff + + Wire in support for EFI reboot and poweroff functions. We use these + only if no other mechanism has been registered with arm_pm_reboot + and/or pm_power_off respectively. + + Signed-off-by: Mark Salter + +commit c6b81122978c39e52021cc7308edafff88c8b87a +Author: Ard Biesheuvel +Date: Wed Jul 30 11:59:04 2014 +0100 + + arm64/efi: efistub: don't abort if base of DRAM is occupied + + If we cannot relocate the kernel Image to its preferred offset of base of DRAM + plus TEXT_OFFSET, instead relocate it to the lowest available 2 MB boundary plus + TEXT_OFFSET. We may lose a bit of memory at the low end, but we can still + proceed normally otherwise. + + Acked-by: Mark Salter + Acked-by: Mark Rutland + Acked-by: Leif Lindholm + Tested-by: Leif Lindholm + Signed-off-by: Ard Biesheuvel + Signed-off-by: Will Deacon + +commit 81fd1d315f3c5b13f9dcf71cce51dfd3a10331c3 +Author: Ard Biesheuvel +Date: Wed Jul 30 11:59:03 2014 +0100 + + arm64/efi: efistub: cover entire static mem footprint in PE/COFF .text + + The static memory footprint of a kernel Image at boot is larger than the + Image file itself. Things like .bss data and initial page tables are allocated + statically but populated dynamically so their content is not contained in the + Image file. + + However, if EFI (or GRUB) has loaded the Image at precisely the desired offset + of base of DRAM + TEXT_OFFSET, the Image will be booted in place, and we have + to make sure that the allocation done by the PE/COFF loader is large enough. + + Fix this by growing the PE/COFF .text section to cover the entire static + memory footprint. The part of the section that is not covered by the payload + will be zero initialised by the PE/COFF loader. + + Acked-by: Mark Salter + Acked-by: Mark Rutland + Acked-by: Leif Lindholm + Tested-by: Leif Lindholm + Signed-off-by: Ard Biesheuvel + Signed-off-by: Will Deacon + +commit 8f5f73c2117c2dc4e8903d162023c34177327ae3 +Author: Mark Rutland +Date: Wed Jul 30 11:59:02 2014 +0100 + + arm64: spin-table: handle unmapped cpu-release-addrs + + In certain cases the cpu-release-addr of a CPU may not fall in the + linear mapping (e.g. when the kernel is loaded above this address due to + the presence of other images in memory). This is problematic for the + spin-table code as it assumes that it can trivially convert a + cpu-release-addr to a valid VA in the linear map. + + This patch modifies the spin-table code to use a temporary cached + mapping to write to a given cpu-release-addr, enabling us to support + addresses regardless of whether they are covered by the linear mapping. + + Acked-by: Leif Lindholm + Tested-by: Leif Lindholm + Tested-by: Mark Salter + Signed-off-by: Mark Rutland + [ardb: added (__force void *) cast] + Signed-off-by: Ard Biesheuvel + Signed-off-by: Will Deacon + +commit b00c56bff1ffb6c77655479fb350ee3d5c8bcf63 +Author: Mark Salter +Date: Tue Jun 24 23:16:45 2014 -0400 + + perf: fix arm64 build error + + I'm seeing the following build error on arm64: + + In file included from util/event.c:3:0: + util/event.h:95:17: error: 'PERF_REGS_MAX' undeclared here (not in a function) + u64 cache_regs[PERF_REGS_MAX]; + ^ + + This patch adds a PEFF_REGS_MAX definition for arm64. + + Signed-off-by: Mark Salter + +commit f440dcb067bf1367719e8a41b96a2a83c1232690 +Author: Mark Salter +Date: Thu Jul 17 13:34:50 2014 -0400 + + ahci_xgene: add errata workaround for ATA_CMD_SMART + + commit 2a0bdff6b958d1b2: + + ahci_xgene: fix the dma state machine lockup for the IDENTIFY DEVICE PIO mode command. + + added a workaround for X-Gene AHCI controller errata. This was done + for all ATA_CMD_ID_ATA commands. The errata also appears to affect + ATA_CMD_SMART commands as well. This was discovered when running + smartd or just smartctl -x. This patch adds a dma engine restart for + ATA_CMD_SMART commands which clears up the issues seen with smartd. + + Signed-off-by: Mark Salter + +commit 93b44dc9e1d73d4864a9350888509792f25e4210 +Author: Kyle McMartin +Date: Tue May 13 22:25:26 2014 -0400 + + arm64: don't set READ_IMPLIES_EXEC for EM_AARCH64 ELF objects + + Message-id: <20140513222526.GC26038@redacted.bos.redhat.com> + Patchwork-id: 79789 + O-Subject: [ACADIA PATCH] arm64: don't set READ_IMPLIES_EXEC for EM_AARCH64 ELF objects + Bugzilla: 1085528 + + BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1085528 + Upstream: submitted soon + + [Sadly this isn't (yet) sufficient... but it fixes at least one issue + here... cat /proc/$$/personality shows READ_IMPLIES_EXEC before. I'll + try to figure the rest out tomorrow.] + + Currently, we're accidentally ending up with executable stacks on + AArch64 when the ABI says we shouldn't be, and relying on glibc to fix + things up for us when we're loaded. However, SELinux will deny us + mucking with the stack, and hit us with execmem AVCs. + + The reason this is happening is somewhat complex: + + fs/binfmt_elf.c:load_elf_binary() + - initializes executable_stack = EXSTACK_DEFAULT implying the + architecture should make up its mind. + - does a pile of loading goo + - runs through the program headers, looking for PT_GNU_STACK + and setting (or unsetting) executable_stack if it finds it. + + This is our first problem, we won't generate these unless an + executable stack is explicitly requested. + + - more ELF loading goo + - sets whether we're a compat task or not (TIF_32BIT) based on compat.h + - for compat reasons (pre-GNU_STACK) checks if the READ_IMPLIES_EXEC + flag should be set for ancient toolchains + + Here's our second problem, we test if read_implies_exec based on + stk != EXSTACK_DISABLE_X, which is true since stk == EXSTACK_DEFAULT. + + So we set current->personality |= READ_IMPLIES_EXEC like a broken + legacy toolchain would want. + + - Now we call setup_arg_pages to set up the stack... + + fs/exec.c:setup_arg_pages() + - lots of magic happens here + - vm_flags gets initialized to VM_STACK_FLAGS + + Here's our third problem, VM_STACK_FLAGS on arm64 is + VM_DEFAULT_DATA_FLAG which tests READ_IMPLIES_EXEC and sets VM_EXEC + if it's true. So we end up with an executable stack mapping, since we + don't have executable_stack set (it's still EXSTACK_DEFAULT at this + point) to unset it anywhere. + + Bang. execstack AVC when the program starts running. + + The easiest way I can see to fix this is to test if we're a legacy task + and fix it up there. But that's not as simple as it sounds, because + the 32-bit ABI depends on what revision of the CPU we've enabled (not + that it matters since we're ARMv8...) Regardless, in the compat case, + set READ_IMPLIES_EXEC if we've found a GNU_STACK header which explicitly + requested it as in arch/arm/kernel/elf.c:arm_elf_read_implies_exec(). + + Signed-off-by: Kyle McMartin + Signed-off-by: Donald Dutile + Documentation/arm64/arm-acpi.txt | 218 +++++++ .../devicetree/bindings/pci/xgene-pci.txt | 57 ++ Documentation/kernel-parameters.txt | 3 +- @@ -31,13 +1260,13 @@ arch/arm64/kernel/pci.c | 70 +++ arch/arm64/kernel/process.c | 6 + arch/arm64/kernel/psci.c | 78 ++- - arch/arm64/kernel/setup.c | 42 +- + arch/arm64/kernel/setup.c | 64 +- arch/arm64/kernel/smp.c | 2 +- arch/arm64/kernel/smp_parking_protocol.c | 110 ++++ arch/arm64/kernel/smp_spin_table.c | 22 +- arch/arm64/kernel/time.c | 7 + arch/arm64/kvm/hyp-init.S | 20 +- - arch/arm64/mm/dma-mapping.c | 65 +++ + arch/arm64/mm/dma-mapping.c | 65 ++ arch/arm64/pci/Makefile | 1 + arch/arm64/pci/pci.c | 28 + drivers/acpi/Kconfig | 6 +- @@ -57,12 +1286,18 @@ drivers/irqchip/irq-gic-v3.c | 10 + drivers/irqchip/irq-gic.c | 116 ++++ drivers/irqchip/irqchip.c | 3 + + drivers/net/ethernet/amd/xgbe/xgbe-dev.c | 12 + + drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 3 + + drivers/net/ethernet/amd/xgbe/xgbe-main.c | 1 + + drivers/net/ethernet/amd/xgbe/xgbe.h | 3 + + drivers/net/ethernet/smsc/smc91x.c | 10 + + drivers/net/phy/amd-xgbe-phy.c | 408 +++++++------ drivers/of/address.c | 154 +++++ drivers/of/of_pci.c | 142 +++++ drivers/pci/host/Kconfig | 10 + drivers/pci/host/Makefile | 1 + drivers/pci/host/pci-tegra.c | 10 +- - drivers/pci/host/pci-xgene.c | 646 +++++++++++++++++++++ + drivers/pci/host/pci-xgene.c | 659 +++++++++++++++++++++ drivers/pci/host/pcie-rcar.c | 21 +- drivers/pci/pci.c | 40 ++ drivers/pci/probe.c | 46 +- @@ -71,6 +1306,7 @@ drivers/tty/Makefile | 1 + drivers/tty/sbsauart.c | 355 +++++++++++ drivers/tty/serial/8250/8250_dw.c | 9 + + drivers/virtio/virtio_mmio.c | 12 +- include/acpi/acnames.h | 4 + include/acpi/acpi_bus.h | 2 + include/acpi/acpi_io.h | 6 + @@ -92,7 +1328,7 @@ virt/kvm/arm/vgic-v2.c | 75 ++- virt/kvm/arm/vgic-v3.c | 8 +- virt/kvm/arm/vgic.c | 32 +- - 94 files changed, 3840 insertions(+), 275 deletions(-) + 101 files changed, 4112 insertions(+), 487 deletions(-) diff --git a/Documentation/arm64/arm-acpi.txt b/Documentation/arm64/arm-acpi.txt new file mode 100644 @@ -403,10 +1639,10 @@ index 10d51c2..9464c6d 100644 See also Documentation/power/runtime_pm.txt, pci=noacpi diff --git a/MAINTAINERS b/MAINTAINERS -index 670b3dc..b18bc49 100644 +index 3705430..f6b49e4 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -6942,6 +6942,14 @@ L: linux-pci@vger.kernel.org +@@ -6940,6 +6940,14 @@ L: linux-pci@vger.kernel.org S: Maintained F: drivers/pci/host/*spear* @@ -2059,7 +3295,7 @@ index 5539547..15ba470 100644 static int __init cpu_psci_cpu_init(struct device_node *dn, unsigned int cpu) diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c -index edb146d..4758443 100644 +index edb146d..a793a20 100644 --- a/arch/arm64/kernel/setup.c +++ b/arch/arm64/kernel/setup.c @@ -43,6 +43,7 @@ @@ -2142,6 +3378,32 @@ index edb146d..4758443 100644 static int __init arm64_device_init(void) { of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); +@@ -505,3 +535,25 @@ const struct seq_operations cpuinfo_op = { + .stop = c_stop, + .show = c_show + }; ++ ++/* ++ * Temporary hack to avoid need for console= on command line ++ */ ++static int __init arm64_console_setup(void) ++{ ++ /* Allow cmdline to override our assumed preferences */ ++ if (console_set_on_cmdline) ++ return 0; ++ ++ if (IS_ENABLED(CONFIG_SBSAUART_TTY)) ++ add_preferred_console("ttySBSA", 0, "115200"); ++ ++ if (IS_ENABLED(CONFIG_SERIAL_AMBA_PL011)) ++ add_preferred_console("ttyAMA", 0, "115200"); ++ ++ if (IS_ENABLED(CONFIG_SERIAL_8250)) ++ add_preferred_console("ttyS", 0, "115200"); ++ ++ return 0; ++} ++early_initcall(arm64_console_setup); diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c index 4743397..4e390ac 100644 --- a/arch/arm64/kernel/smp.c @@ -3455,6 +4717,690 @@ index 0fe2f71..9106c6d 100644 + + acpi_gic_init(); } +diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-dev.c b/drivers/net/ethernet/amd/xgbe/xgbe-dev.c +index ea27383..d0d3ab5 100644 +--- a/drivers/net/ethernet/amd/xgbe/xgbe-dev.c ++++ b/drivers/net/ethernet/amd/xgbe/xgbe-dev.c +@@ -696,6 +696,18 @@ static int xgbe_read_mmd_regs(struct xgbe_prv_data *pdata, int prtad, + else + mmd_address = (pdata->mdio_mmd << 16) | (mmd_reg & 0xffff); + ++ if (XGBE_SEATTLE_A0) { ++ /* The PCS implementation has reversed the devices in ++ * package registers so we need to change 05 to 06 and ++ * 06 to 05 if being read (these registers are readonly ++ * so no need to do this in the write function) ++ */ ++ if ((mmd_address & 0xffff) == 0x05) ++ mmd_address = (mmd_address & ~0xffff) | 0x06; ++ else if ((mmd_address & 0xffff) == 0x06) ++ mmd_address = (mmd_address & ~0xffff) | 0x05; ++ } ++ + /* The PCS registers are accessed using mmio. The underlying APB3 + * management interface uses indirect addressing to access the MMD + * register sets. This requires accessing of the PCS register in two +diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-drv.c b/drivers/net/ethernet/amd/xgbe/xgbe-drv.c +index b26d758..ca7895c 100644 +--- a/drivers/net/ethernet/amd/xgbe/xgbe-drv.c ++++ b/drivers/net/ethernet/amd/xgbe/xgbe-drv.c +@@ -426,6 +426,9 @@ void xgbe_get_all_hw_features(struct xgbe_prv_data *pdata) + hw_feat->rx_ch_cnt++; + hw_feat->tx_ch_cnt++; + ++ /* A0 does not support NUMTC, hardcode it for now */ ++ hw_feat->tc_cnt = XGBE_TC_CNT; ++ + DBGPR("<--xgbe_get_all_hw_features\n"); + } + +diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-main.c b/drivers/net/ethernet/amd/xgbe/xgbe-main.c +index bdf9cfa..ba53e41 100644 +--- a/drivers/net/ethernet/amd/xgbe/xgbe-main.c ++++ b/drivers/net/ethernet/amd/xgbe/xgbe-main.c +@@ -533,6 +533,7 @@ static int xgbe_resume(struct device *dev) + #endif /* CONFIG_PM */ + + static const struct of_device_id xgbe_of_match[] = { ++ { .compatible = "amd,xgbe-seattle-v0a", }, + { .compatible = "amd,xgbe-seattle-v1a", }, + {}, + }; +diff --git a/drivers/net/ethernet/amd/xgbe/xgbe.h b/drivers/net/ethernet/amd/xgbe/xgbe.h +index e9fe6e6..389bfec 100644 +--- a/drivers/net/ethernet/amd/xgbe/xgbe.h ++++ b/drivers/net/ethernet/amd/xgbe/xgbe.h +@@ -187,8 +187,11 @@ + #define XGBE_FIFO_SIZE_B(x) (x) + #define XGBE_FIFO_SIZE_KB(x) (x * 1024) + ++#define XGBE_TC_CNT 2 + #define XGBE_TC_MIN_QUANTUM 10 + ++#define XGBE_SEATTLE_A0 ((read_cpuid_id() & 0x00f0000f) == 0) ++ + /* Helper macro for descriptor handling + * Always use XGBE_GET_DESC_DATA to access the descriptor data + * since the index is free-running and needs to be and-ed +diff --git a/drivers/net/ethernet/smsc/smc91x.c b/drivers/net/ethernet/smsc/smc91x.c +index bcaa41a..ebad872 100644 +--- a/drivers/net/ethernet/smsc/smc91x.c ++++ b/drivers/net/ethernet/smsc/smc91x.c +@@ -81,6 +81,7 @@ static const char version[] = + #include + #include + #include ++#include + + #include + #include +@@ -2408,6 +2409,14 @@ static struct dev_pm_ops smc_drv_pm_ops = { + .resume = smc_drv_resume, + }; + ++#ifdef CONFIG_ACPI ++static const struct acpi_device_id smc91x_acpi_match[] = { ++ { "LNRO0003", }, ++ { } ++}; ++MODULE_DEVICE_TABLE(acpi, smc91x_acpi_match); ++#endif ++ + static struct platform_driver smc_driver = { + .probe = smc_drv_probe, + .remove = smc_drv_remove, +@@ -2416,6 +2425,7 @@ static struct platform_driver smc_driver = { + .owner = THIS_MODULE, + .pm = &smc_drv_pm_ops, + .of_match_table = of_match_ptr(smc91x_match), ++ .acpi_match_table = ACPI_PTR(smc91x_acpi_match), + }, + }; + +diff --git a/drivers/net/phy/amd-xgbe-phy.c b/drivers/net/phy/amd-xgbe-phy.c +index f3230ee..90145d9 100644 +--- a/drivers/net/phy/amd-xgbe-phy.c ++++ b/drivers/net/phy/amd-xgbe-phy.c +@@ -78,12 +78,14 @@ + + MODULE_AUTHOR("Tom Lendacky "); + MODULE_LICENSE("Dual BSD/GPL"); +-MODULE_VERSION("1.0.0-a"); ++MODULE_VERSION("0.0.0-a"); + MODULE_DESCRIPTION("AMD 10GbE (amd-xgbe) PHY driver"); + +-#define XGBE_PHY_ID 0x000162d0 ++#define XGBE_PHY_ID 0x7996ced0 + #define XGBE_PHY_MASK 0xfffffff0 + ++#define XGBE_PHY_SERDES_RETRY 32 ++#define XGBE_PHY_CHANNEL_PROPERTY "amd,serdes-channel" + #define XGBE_PHY_SPEEDSET_PROPERTY "amd,speed-set" + + #define XGBE_AN_INT_CMPLT 0x01 +@@ -118,77 +120,6 @@ MODULE_DESCRIPTION("AMD 10GbE (amd-xgbe) PHY driver"); + #define MDIO_CTRL1_SPEED1G (MDIO_CTRL1_SPEED10G & ~BMCR_SPEED100) + #endif + +-/* SerDes integration register offsets */ +-#define SIR0_KR_RT_1 0x002c +-#define SIR0_STATUS 0x0040 +-#define SIR1_SPEED 0x0000 +- +-/* SerDes integration register entry bit positions and sizes */ +-#define SIR0_KR_RT_1_RESET_INDEX 11 +-#define SIR0_KR_RT_1_RESET_WIDTH 1 +-#define SIR0_STATUS_RX_READY_INDEX 0 +-#define SIR0_STATUS_RX_READY_WIDTH 1 +-#define SIR0_STATUS_TX_READY_INDEX 8 +-#define SIR0_STATUS_TX_READY_WIDTH 1 +-#define SIR1_SPEED_DATARATE_INDEX 4 +-#define SIR1_SPEED_DATARATE_WIDTH 2 +-#define SIR1_SPEED_PI_SPD_SEL_INDEX 12 +-#define SIR1_SPEED_PI_SPD_SEL_WIDTH 4 +-#define SIR1_SPEED_PLLSEL_INDEX 3 +-#define SIR1_SPEED_PLLSEL_WIDTH 1 +-#define SIR1_SPEED_RATECHANGE_INDEX 6 +-#define SIR1_SPEED_RATECHANGE_WIDTH 1 +-#define SIR1_SPEED_TXAMP_INDEX 8 +-#define SIR1_SPEED_TXAMP_WIDTH 4 +-#define SIR1_SPEED_WORDMODE_INDEX 0 +-#define SIR1_SPEED_WORDMODE_WIDTH 3 +- +-#define SPEED_10000_CDR 0x7 +-#define SPEED_10000_PLL 0x1 +-#define SPEED_10000_RATE 0x0 +-#define SPEED_10000_TXAMP 0xa +-#define SPEED_10000_WORD 0x7 +- +-#define SPEED_2500_CDR 0x2 +-#define SPEED_2500_PLL 0x0 +-#define SPEED_2500_RATE 0x1 +-#define SPEED_2500_TXAMP 0xf +-#define SPEED_2500_WORD 0x1 +- +-#define SPEED_1000_CDR 0x2 +-#define SPEED_1000_PLL 0x0 +-#define SPEED_1000_RATE 0x3 +-#define SPEED_1000_TXAMP 0xf +-#define SPEED_1000_WORD 0x1 +- +- +-/* SerDes RxTx register offsets */ +-#define RXTX_REG20 0x0050 +-#define RXTX_REG114 0x01c8 +- +-/* SerDes RxTx register entry bit positions and sizes */ +-#define RXTX_REG20_BLWC_ENA_INDEX 2 +-#define RXTX_REG20_BLWC_ENA_WIDTH 1 +-#define RXTX_REG114_PQ_REG_INDEX 9 +-#define RXTX_REG114_PQ_REG_WIDTH 7 +- +-#define RXTX_10000_BLWC 0 +-#define RXTX_10000_PQ 0x1e +- +-#define RXTX_2500_BLWC 1 +-#define RXTX_2500_PQ 0xa +- +-#define RXTX_1000_BLWC 1 +-#define RXTX_1000_PQ 0xa +- +-/* Bit setting and getting macros +- * The get macro will extract the current bit field value from within +- * the variable +- * +- * The set macro will clear the current bit field value within the +- * variable and then set the bit field of the variable to the +- * specified value +- */ + #define GET_BITS(_var, _index, _width) \ + (((_var) >> (_index)) & ((0x1 << (_width)) - 1)) + +@@ -198,71 +129,12 @@ do { \ + (_var) |= (((_val) & ((0x1 << (_width)) - 1)) << (_index)); \ + } while (0) + +-#define XSIR_GET_BITS(_var, _prefix, _field) \ +- GET_BITS((_var), \ +- _prefix##_##_field##_INDEX, \ +- _prefix##_##_field##_WIDTH) +- +-#define XSIR_SET_BITS(_var, _prefix, _field, _val) \ +- SET_BITS((_var), \ +- _prefix##_##_field##_INDEX, \ +- _prefix##_##_field##_WIDTH, (_val)) ++#define XCMU_IOREAD(_priv, _reg) \ ++ ioread16((_priv)->cmu_regs + _reg) + +-/* Macros for reading or writing SerDes integration registers +- * The ioread macros will get bit fields or full values using the +- * register definitions formed using the input names +- * +- * The iowrite macros will set bit fields or full values using the +- * register definitions formed using the input names +- */ +-#define XSIR0_IOREAD(_priv, _reg) \ +- ioread16((_priv)->sir0_regs + _reg) ++#define XCMU_IOWRITE(_priv, _reg, _val) \ ++ iowrite16((_val), (_priv)->cmu_regs + _reg) + +-#define XSIR0_IOREAD_BITS(_priv, _reg, _field) \ +- GET_BITS(XSIR0_IOREAD((_priv), _reg), \ +- _reg##_##_field##_INDEX, \ +- _reg##_##_field##_WIDTH) +- +-#define XSIR0_IOWRITE(_priv, _reg, _val) \ +- iowrite16((_val), (_priv)->sir0_regs + _reg) +- +-#define XSIR0_IOWRITE_BITS(_priv, _reg, _field, _val) \ +-do { \ +- u16 reg_val = XSIR0_IOREAD((_priv), _reg); \ +- SET_BITS(reg_val, \ +- _reg##_##_field##_INDEX, \ +- _reg##_##_field##_WIDTH, (_val)); \ +- XSIR0_IOWRITE((_priv), _reg, reg_val); \ +-} while (0) +- +-#define XSIR1_IOREAD(_priv, _reg) \ +- ioread16((_priv)->sir1_regs + _reg) +- +-#define XSIR1_IOREAD_BITS(_priv, _reg, _field) \ +- GET_BITS(XSIR1_IOREAD((_priv), _reg), \ +- _reg##_##_field##_INDEX, \ +- _reg##_##_field##_WIDTH) +- +-#define XSIR1_IOWRITE(_priv, _reg, _val) \ +- iowrite16((_val), (_priv)->sir1_regs + _reg) +- +-#define XSIR1_IOWRITE_BITS(_priv, _reg, _field, _val) \ +-do { \ +- u16 reg_val = XSIR1_IOREAD((_priv), _reg); \ +- SET_BITS(reg_val, \ +- _reg##_##_field##_INDEX, \ +- _reg##_##_field##_WIDTH, (_val)); \ +- XSIR1_IOWRITE((_priv), _reg, reg_val); \ +-} while (0) +- +- +-/* Macros for reading or writing SerDes RxTx registers +- * The ioread macros will get bit fields or full values using the +- * register definitions formed using the input names +- * +- * The iowrite macros will set bit fields or full values using the +- * register definitions formed using the input names +- */ + #define XRXTX_IOREAD(_priv, _reg) \ + ioread16((_priv)->rxtx_regs + _reg) + +@@ -283,6 +155,77 @@ do { \ + XRXTX_IOWRITE((_priv), _reg, reg_val); \ + } while (0) + ++/* SerDes CMU register offsets */ ++#define CMU_REG15 0x003c ++#define CMU_REG16 0x0040 ++ ++/* SerDes CMU register entry bit positions and sizes */ ++#define CMU_REG16_TX_RATE_CHANGE_BASE 15 ++#define CMU_REG16_RX_RATE_CHANGE_BASE 14 ++#define CMU_REG16_RATE_CHANGE_DECR 2 ++ ++ ++/* SerDes RxTx register offsets */ ++#define RXTX_REG2 0x0008 ++#define RXTX_REG3 0x000c ++#define RXTX_REG5 0x0014 ++#define RXTX_REG6 0x0018 ++#define RXTX_REG20 0x0050 ++#define RXTX_REG53 0x00d4 ++#define RXTX_REG114 0x01c8 ++#define RXTX_REG115 0x01cc ++#define RXTX_REG142 0x0238 ++ ++/* SerDes RxTx register entry bit positions and sizes */ ++#define RXTX_REG2_RESETB_INDEX 15 ++#define RXTX_REG2_RESETB_WIDTH 1 ++#define RXTX_REG3_TX_DATA_RATE_INDEX 14 ++#define RXTX_REG3_TX_DATA_RATE_WIDTH 2 ++#define RXTX_REG3_TX_WORD_MODE_INDEX 11 ++#define RXTX_REG3_TX_WORD_MODE_WIDTH 3 ++#define RXTX_REG5_TXAMP_CNTL_INDEX 7 ++#define RXTX_REG5_TXAMP_CNTL_WIDTH 4 ++#define RXTX_REG6_RX_DATA_RATE_INDEX 9 ++#define RXTX_REG6_RX_DATA_RATE_WIDTH 2 ++#define RXTX_REG6_RX_WORD_MODE_INDEX 11 ++#define RXTX_REG6_RX_WORD_MODE_WIDTH 3 ++#define RXTX_REG20_BLWC_ENA_INDEX 2 ++#define RXTX_REG20_BLWC_ENA_WIDTH 1 ++#define RXTX_REG53_RX_PLLSELECT_INDEX 15 ++#define RXTX_REG53_RX_PLLSELECT_WIDTH 1 ++#define RXTX_REG53_TX_PLLSELECT_INDEX 14 ++#define RXTX_REG53_TX_PLLSELECT_WIDTH 1 ++#define RXTX_REG53_PI_SPD_SEL_CDR_INDEX 10 ++#define RXTX_REG53_PI_SPD_SEL_CDR_WIDTH 4 ++#define RXTX_REG114_PQ_REG_INDEX 9 ++#define RXTX_REG114_PQ_REG_WIDTH 7 ++#define RXTX_REG115_FORCE_LAT_CAL_START_INDEX 2 ++#define RXTX_REG115_FORCE_LAT_CAL_START_WIDTH 1 ++#define RXTX_REG115_FORCE_SUM_CAL_START_INDEX 1 ++#define RXTX_REG115_FORCE_SUM_CAL_START_WIDTH 1 ++#define RXTX_REG142_SUM_CALIB_DONE_INDEX 15 ++#define RXTX_REG142_SUM_CALIB_DONE_WIDTH 1 ++#define RXTX_REG142_SUM_CALIB_ERR_INDEX 14 ++#define RXTX_REG142_SUM_CALIB_ERR_WIDTH 1 ++#define RXTX_REG142_LAT_CALIB_DONE_INDEX 11 ++#define RXTX_REG142_LAT_CALIB_DONE_WIDTH 1 ++ ++#define RXTX_FULL_RATE 0x0 ++#define RXTX_HALF_RATE 0x1 ++#define RXTX_FIFTH_RATE 0x3 ++#define RXTX_66BIT_WORD 0x7 ++#define RXTX_10BIT_WORD 0x1 ++#define RXTX_10G_TX_AMP 0xa ++#define RXTX_1G_TX_AMP 0xf ++#define RXTX_10G_CDR 0x7 ++#define RXTX_1G_CDR 0x2 ++#define RXTX_10G_PLL 0x1 ++#define RXTX_1G_PLL 0x0 ++#define RXTX_10G_PQ 0x1e ++#define RXTX_1G_PQ 0xa ++ ++ ++DEFINE_SPINLOCK(cmu_lock); + + enum amd_xgbe_phy_an { + AMD_XGBE_AN_READY = 0, +@@ -321,18 +264,18 @@ struct amd_xgbe_phy_priv { + + /* SerDes related mmio resources */ + struct resource *rxtx_res; +- struct resource *sir0_res; +- struct resource *sir1_res; ++ struct resource *cmu_res; + + /* SerDes related mmio registers */ + void __iomem *rxtx_regs; /* SerDes Rx/Tx CSRs */ +- void __iomem *sir0_regs; /* SerDes integration registers (1/2) */ +- void __iomem *sir1_regs; /* SerDes integration registers (2/2) */ ++ void __iomem *cmu_regs; /* SerDes CMU CSRs */ ++ ++ unsigned int serdes_channel; ++ unsigned int speed_set; + + /* Maintain link status for re-starting auto-negotiation */ + unsigned int link; + enum amd_xgbe_phy_mode mode; +- unsigned int speed_set; + + /* Auto-negotiation state machine support */ + struct mutex an_mutex; +@@ -394,33 +337,51 @@ static int amd_xgbe_phy_pcs_power_cycle(struct phy_device *phydev) + static void amd_xgbe_phy_serdes_start_ratechange(struct phy_device *phydev) + { + struct amd_xgbe_phy_priv *priv = phydev->priv; ++ u16 val, mask; ++ ++ /* Assert Rx and Tx ratechange in CMU_reg16 */ ++ val = XCMU_IOREAD(priv, CMU_REG16); + +- /* Assert Rx and Tx ratechange */ +- XSIR1_IOWRITE_BITS(priv, SIR1_SPEED, RATECHANGE, 1); ++ mask = (1 << (CMU_REG16_TX_RATE_CHANGE_BASE - ++ (priv->serdes_channel * CMU_REG16_RATE_CHANGE_DECR))) | ++ (1 << (CMU_REG16_RX_RATE_CHANGE_BASE - ++ (priv->serdes_channel * CMU_REG16_RATE_CHANGE_DECR))); ++ val |= mask; ++ ++ XCMU_IOWRITE(priv, CMU_REG16, val); + } + + static void amd_xgbe_phy_serdes_complete_ratechange(struct phy_device *phydev) + { + struct amd_xgbe_phy_priv *priv = phydev->priv; ++ u16 val, mask; + unsigned int wait; +- u16 status; + +- /* Release Rx and Tx ratechange */ +- XSIR1_IOWRITE_BITS(priv, SIR1_SPEED, RATECHANGE, 0); ++ /* Release Rx and Tx ratechange for proper channel in CMU_reg16 */ ++ val = XCMU_IOREAD(priv, CMU_REG16); ++ ++ mask = (1 << (CMU_REG16_TX_RATE_CHANGE_BASE - ++ (priv->serdes_channel * CMU_REG16_RATE_CHANGE_DECR))) | ++ (1 << (CMU_REG16_RX_RATE_CHANGE_BASE - ++ (priv->serdes_channel * CMU_REG16_RATE_CHANGE_DECR))); ++ val &= ~mask; + +- /* Wait for Rx and Tx ready */ ++ XCMU_IOWRITE(priv, CMU_REG16, val); ++ ++ /* Wait for Rx and Tx ready in CMU_reg15 */ ++ mask = (1 << priv->serdes_channel) | ++ (1 << (priv->serdes_channel + 8)); + wait = XGBE_PHY_RATECHANGE_COUNT; + while (wait--) { +- usleep_range(50, 75); ++ udelay(50); + +- status = XSIR0_IOREAD(priv, SIR0_STATUS); +- if (XSIR_GET_BITS(status, SIR0_STATUS, RX_READY) && +- XSIR_GET_BITS(status, SIR0_STATUS, TX_READY)) ++ val = XCMU_IOREAD(priv, CMU_REG15); ++ if ((val & mask) == mask) + return; + } + + netdev_dbg(phydev->attached_dev, "SerDes rx/tx not ready (%#hx)\n", +- status); ++ val); + } + + static int amd_xgbe_phy_xgmii_mode(struct phy_device *phydev) +@@ -428,8 +389,8 @@ static int amd_xgbe_phy_xgmii_mode(struct phy_device *phydev) + struct amd_xgbe_phy_priv *priv = phydev->priv; + int ret; + +- /* Enable KR training */ +- ret = amd_xgbe_an_enable_kr_training(phydev); ++ /* Disable KR training */ ++ ret = amd_xgbe_an_disable_kr_training(phydev); + if (ret < 0) + return ret; + +@@ -455,19 +416,30 @@ static int amd_xgbe_phy_xgmii_mode(struct phy_device *phydev) + return ret; + + /* Set SerDes to 10G speed */ ++ spin_lock(&cmu_lock); ++ + amd_xgbe_phy_serdes_start_ratechange(phydev); + +- XSIR1_IOWRITE_BITS(priv, SIR1_SPEED, DATARATE, SPEED_10000_RATE); +- XSIR1_IOWRITE_BITS(priv, SIR1_SPEED, WORDMODE, SPEED_10000_WORD); +- XSIR1_IOWRITE_BITS(priv, SIR1_SPEED, TXAMP, SPEED_10000_TXAMP); +- XSIR1_IOWRITE_BITS(priv, SIR1_SPEED, PLLSEL, SPEED_10000_PLL); +- XSIR1_IOWRITE_BITS(priv, SIR1_SPEED, PI_SPD_SEL, SPEED_10000_CDR); ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG3, TX_DATA_RATE, RXTX_FULL_RATE); ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG3, TX_WORD_MODE, RXTX_66BIT_WORD); ++ ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG5, TXAMP_CNTL, RXTX_10G_TX_AMP); ++ ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG6, RX_DATA_RATE, RXTX_FULL_RATE); ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG6, RX_WORD_MODE, RXTX_66BIT_WORD); + +- XRXTX_IOWRITE_BITS(priv, RXTX_REG20, BLWC_ENA, RXTX_10000_BLWC); +- XRXTX_IOWRITE_BITS(priv, RXTX_REG114, PQ_REG, RXTX_10000_PQ); ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG20, BLWC_ENA, 0); ++ ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG53, RX_PLLSELECT, RXTX_10G_PLL); ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG53, TX_PLLSELECT, RXTX_10G_PLL); ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG53, PI_SPD_SEL_CDR, RXTX_10G_CDR); ++ ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG114, PQ_REG, RXTX_10G_PQ); + + amd_xgbe_phy_serdes_complete_ratechange(phydev); + ++ spin_unlock(&cmu_lock); ++ + priv->mode = AMD_XGBE_MODE_KR; + + return 0; +@@ -505,19 +477,30 @@ static int amd_xgbe_phy_gmii_2500_mode(struct phy_device *phydev) + return ret; + + /* Set SerDes to 2.5G speed */ ++ spin_lock(&cmu_lock); ++ + amd_xgbe_phy_serdes_start_ratechange(phydev); + +- XSIR1_IOWRITE_BITS(priv, SIR1_SPEED, DATARATE, SPEED_2500_RATE); +- XSIR1_IOWRITE_BITS(priv, SIR1_SPEED, WORDMODE, SPEED_2500_WORD); +- XSIR1_IOWRITE_BITS(priv, SIR1_SPEED, TXAMP, SPEED_2500_TXAMP); +- XSIR1_IOWRITE_BITS(priv, SIR1_SPEED, PLLSEL, SPEED_2500_PLL); +- XSIR1_IOWRITE_BITS(priv, SIR1_SPEED, PI_SPD_SEL, SPEED_2500_CDR); ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG3, TX_DATA_RATE, RXTX_HALF_RATE); ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG3, TX_WORD_MODE, RXTX_10BIT_WORD); ++ ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG5, TXAMP_CNTL, RXTX_1G_TX_AMP); + +- XRXTX_IOWRITE_BITS(priv, RXTX_REG20, BLWC_ENA, RXTX_2500_BLWC); +- XRXTX_IOWRITE_BITS(priv, RXTX_REG114, PQ_REG, RXTX_2500_PQ); ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG6, RX_DATA_RATE, RXTX_HALF_RATE); ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG6, RX_WORD_MODE, RXTX_10BIT_WORD); ++ ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG20, BLWC_ENA, 1); ++ ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG53, RX_PLLSELECT, RXTX_1G_PLL); ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG53, TX_PLLSELECT, RXTX_1G_PLL); ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG53, PI_SPD_SEL_CDR, RXTX_1G_CDR); ++ ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG114, PQ_REG, RXTX_1G_PQ); + + amd_xgbe_phy_serdes_complete_ratechange(phydev); + ++ spin_unlock(&cmu_lock); ++ + priv->mode = AMD_XGBE_MODE_KX; + + return 0; +@@ -555,19 +538,30 @@ static int amd_xgbe_phy_gmii_mode(struct phy_device *phydev) + return ret; + + /* Set SerDes to 1G speed */ ++ spin_lock(&cmu_lock); ++ + amd_xgbe_phy_serdes_start_ratechange(phydev); + +- XSIR1_IOWRITE_BITS(priv, SIR1_SPEED, DATARATE, SPEED_1000_RATE); +- XSIR1_IOWRITE_BITS(priv, SIR1_SPEED, WORDMODE, SPEED_1000_WORD); +- XSIR1_IOWRITE_BITS(priv, SIR1_SPEED, TXAMP, SPEED_1000_TXAMP); +- XSIR1_IOWRITE_BITS(priv, SIR1_SPEED, PLLSEL, SPEED_1000_PLL); +- XSIR1_IOWRITE_BITS(priv, SIR1_SPEED, PI_SPD_SEL, SPEED_1000_CDR); ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG3, TX_DATA_RATE, RXTX_FIFTH_RATE); ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG3, TX_WORD_MODE, RXTX_10BIT_WORD); ++ ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG5, TXAMP_CNTL, RXTX_1G_TX_AMP); + +- XRXTX_IOWRITE_BITS(priv, RXTX_REG20, BLWC_ENA, RXTX_1000_BLWC); +- XRXTX_IOWRITE_BITS(priv, RXTX_REG114, PQ_REG, RXTX_1000_PQ); ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG6, RX_DATA_RATE, RXTX_FIFTH_RATE); ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG6, RX_WORD_MODE, RXTX_10BIT_WORD); ++ ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG20, BLWC_ENA, 1); ++ ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG53, RX_PLLSELECT, RXTX_1G_PLL); ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG53, TX_PLLSELECT, RXTX_1G_PLL); ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG53, PI_SPD_SEL_CDR, RXTX_1G_CDR); ++ ++ XRXTX_IOWRITE_BITS(priv, RXTX_REG114, PQ_REG, RXTX_1G_PQ); + + amd_xgbe_phy_serdes_complete_ratechange(phydev); + ++ spin_unlock(&cmu_lock); ++ + priv->mode = AMD_XGBE_MODE_KX; + + return 0; +@@ -639,13 +633,9 @@ static enum amd_xgbe_phy_an amd_xgbe_an_tx_training(struct phy_device *phydev, + if (ret < 0) + return AMD_XGBE_AN_ERROR; + +- XSIR0_IOWRITE_BITS(priv, SIR0_KR_RT_1, RESET, 1); +- + ret |= 0x01; + phy_write_mmd(phydev, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL, ret); + +- XSIR0_IOWRITE_BITS(priv, SIR0_KR_RT_1, RESET, 0); +- + return AMD_XGBE_AN_EVENT; + } + +@@ -1291,21 +1281,33 @@ static int amd_xgbe_phy_probe(struct phy_device *phydev) + goto err_priv; + } + +- priv->sir0_res = platform_get_resource(pdev, IORESOURCE_MEM, 1); +- priv->sir0_regs = devm_ioremap_resource(dev, priv->sir0_res); +- if (IS_ERR(priv->sir0_regs)) { +- dev_err(dev, "sir0 ioremap failed\n"); +- ret = PTR_ERR(priv->sir0_regs); ++ /* All xgbe phy devices share the CMU registers so retrieve ++ * the resource and do the ioremap directly rather than ++ * the devm_ioremap_resource call ++ */ ++ priv->cmu_res = platform_get_resource(pdev, IORESOURCE_MEM, 1); ++ if (!priv->cmu_res) { ++ dev_err(dev, "cmu invalid resource\n"); ++ ret = -EINVAL; ++ goto err_rxtx; ++ } ++ priv->cmu_regs = devm_ioremap_nocache(dev, priv->cmu_res->start, ++ resource_size(priv->cmu_res)); ++ if (!priv->cmu_regs) { ++ dev_err(dev, "cmu ioremap failed\n"); ++ ret = -ENOMEM; + goto err_rxtx; + } + +- priv->sir1_res = platform_get_resource(pdev, IORESOURCE_MEM, 2); +- priv->sir1_regs = devm_ioremap_resource(dev, priv->sir1_res); +- if (IS_ERR(priv->sir1_regs)) { +- dev_err(dev, "sir1 ioremap failed\n"); +- ret = PTR_ERR(priv->sir1_regs); +- goto err_sir0; ++ /* Get the device serdes channel property */ ++ property = of_get_property(dev->of_node, XGBE_PHY_CHANNEL_PROPERTY, ++ NULL); ++ if (!property) { ++ dev_err(dev, "unable to obtain serdes_channel property\n"); ++ ret = -EINVAL; ++ goto err_cmu; + } ++ priv->serdes_channel = be32_to_cpu(*property); + + /* Get the device speed set property */ + speed_set = 0; +@@ -1324,14 +1326,14 @@ static int amd_xgbe_phy_probe(struct phy_device *phydev) + default: + dev_err(dev, "invalid amd,speed-set property\n"); + ret = -EINVAL; +- goto err_sir1; ++ goto err_cmu; + } + + priv->link = 1; + + ret = phy_read_mmd(phydev, MDIO_MMD_PCS, MDIO_CTRL2); + if (ret < 0) +- goto err_sir1; ++ goto err_cmu; + if ((ret & MDIO_PCS_CTRL2_TYPE) == MDIO_PCS_CTRL2_10GBR) + priv->mode = AMD_XGBE_MODE_KR; + else +@@ -1342,7 +1344,7 @@ static int amd_xgbe_phy_probe(struct phy_device *phydev) + priv->an_workqueue = create_singlethread_workqueue(wq_name); + if (!priv->an_workqueue) { + ret = -ENOMEM; +- goto err_sir1; ++ goto err_cmu; + } + + phydev->priv = priv; +@@ -1352,15 +1354,8 @@ static int amd_xgbe_phy_probe(struct phy_device *phydev) + + return 0; + +-err_sir1: +- devm_iounmap(dev, priv->sir1_regs); +- devm_release_mem_region(dev, priv->sir1_res->start, +- resource_size(priv->sir1_res)); +- +-err_sir0: +- devm_iounmap(dev, priv->sir0_regs); +- devm_release_mem_region(dev, priv->sir0_res->start, +- resource_size(priv->sir0_res)); ++err_cmu: ++ devm_iounmap(dev, priv->cmu_regs); + + err_rxtx: + devm_iounmap(dev, priv->rxtx_regs); +@@ -1392,14 +1387,7 @@ static void amd_xgbe_phy_remove(struct phy_device *phydev) + flush_workqueue(priv->an_workqueue); + destroy_workqueue(priv->an_workqueue); + +- /* Release resources */ +- devm_iounmap(dev, priv->sir1_regs); +- devm_release_mem_region(dev, priv->sir1_res->start, +- resource_size(priv->sir1_res)); +- +- devm_iounmap(dev, priv->sir0_regs); +- devm_release_mem_region(dev, priv->sir0_res->start, +- resource_size(priv->sir0_res)); ++ devm_iounmap(dev, priv->cmu_regs); + + devm_iounmap(dev, priv->rxtx_regs); + devm_release_mem_region(dev, priv->rxtx_res->start, diff --git a/drivers/of/address.c b/drivers/of/address.c index e371825..afdb782 100644 --- a/drivers/of/address.c @@ -3879,10 +5825,10 @@ index 0fb0fdb..946935d 100644 case IORESOURCE_IO: diff --git a/drivers/pci/host/pci-xgene.c b/drivers/pci/host/pci-xgene.c new file mode 100644 -index 0000000..dae61a6 +index 0000000..41c76b8 --- /dev/null +++ b/drivers/pci/host/pci-xgene.c -@@ -0,0 +1,646 @@ +@@ -0,0 +1,659 @@ +/** + * APM X-Gene PCIe Driver + * @@ -3930,6 +5876,7 @@ index 0000000..dae61a6 +#define CFGBARH 0x158 +#define CFGCTL 0x15c +#define RTDID 0x160 ++#define BRIDGE_CFG_0 0x2000 +#define BRIDGE_CFG_4 0x2010 +#define BRIDGE_STATUS_0 0x2600 + @@ -4013,8 +5960,7 @@ index 0000000..dae61a6 + *val = readl(addr + offset); +} + -+static inline void -+xgene_pcie_cfg_in16(void __iomem *addr, int offset, u32 *val) ++static inline void xgene_pcie_cfg_in16(void __iomem *addr, int offset, u32 *val) +{ + *val = readl(addr + (offset & ~0x3)); + @@ -4027,8 +5973,7 @@ index 0000000..dae61a6 + *val &= 0xFFFF; +} + -+static inline void -+xgene_pcie_cfg_in8(void __iomem *addr, int offset, u32 *val) ++static inline void xgene_pcie_cfg_in8(void __iomem *addr, int offset, u32 *val) +{ + *val = readl(addr + (offset & ~0x3)); + @@ -4046,7 +5991,8 @@ index 0000000..dae61a6 + *val &= 0xFF; +} + -+/* When the address bit [17:16] is 2'b01, the Configuration access will be ++/* ++ * When the address bit [17:16] is 2'b01, the Configuration access will be + * treated as Type 1 and it will be forwarded to external PCIe device. + */ +static void __iomem *xgene_pcie_get_cfg_base(struct pci_bus *bus) @@ -4059,7 +6005,8 @@ index 0000000..dae61a6 + return port->cfg_base; +} + -+/* For Configuration request, RTDID register is used as Bus Number, ++/* ++ * For Configuration request, RTDID register is used as Bus Number, + * Device Number and Function number of the header fields. + */ +static void xgene_pcie_set_rtdid_reg(struct pci_bus *bus, uint devfn) @@ -4080,6 +6027,23 @@ index 0000000..dae61a6 + readl(port->csr_base + RTDID); +} + ++/* ++ * X-Gene PCIe port uses BAR0-BAR1 of RC's configuration space as ++ * the translation between PCI bus to native BUS. Entire DDR region ++ * is mapped on to PCIe space using these registers, so that it is ++ * accessible for EP devices for DMA. The BAR0/1 of bridge should be ++ * hidden during enumeration to avoid the sizing and resource allocation ++ * by PCIe core. ++ */ ++static bool xgene_pcie_hide_rc_bars(struct pci_bus *bus, int offset) ++{ ++ if (pci_is_root_bus(bus) && ((offset == PCI_BASE_ADDRESS_0) || ++ (offset == PCI_BASE_ADDRESS_1))) ++ return true; ++ ++ return false; ++} ++ +static int xgene_pcie_read_config(struct pci_bus *bus, unsigned int devfn, + int offset, int len, u32 *val) +{ @@ -4089,6 +6053,11 @@ index 0000000..dae61a6 + if ((pci_is_root_bus(bus) && devfn != 0) || !port->link_up) + return PCIBIOS_DEVICE_NOT_FOUND; + ++ if (xgene_pcie_hide_rc_bars(bus, offset)) { ++ *val = 0; ++ return PCIBIOS_SUCCESSFUL; ++ } ++ + xgene_pcie_set_rtdid_reg(bus, devfn); + addr = xgene_pcie_get_cfg_base(bus); + switch (len) { @@ -4102,6 +6071,7 @@ index 0000000..dae61a6 + xgene_pcie_cfg_in32(addr, offset, val); + break; + } ++ + return PCIBIOS_SUCCESSFUL; +} + @@ -4114,6 +6084,9 @@ index 0000000..dae61a6 + if ((pci_is_root_bus(bus) && devfn != 0) || !port->link_up) + return PCIBIOS_DEVICE_NOT_FOUND; + ++ if (xgene_pcie_hide_rc_bars(bus, offset)) ++ return PCIBIOS_SUCCESSFUL; ++ + xgene_pcie_set_rtdid_reg(bus, devfn); + addr = xgene_pcie_get_cfg_base(bus); + switch (len) { @@ -4197,23 +6170,6 @@ index 0000000..dae61a6 + return 0; +} + -+static void xgene_pcie_fixup_bridge(struct pci_dev *dev) -+{ -+ int i; -+ -+ /* Hide the PCI host BARs from the kernel as their content doesn't -+ * fit well in the resource management -+ */ -+ for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) { -+ dev->resource[i].start = dev->resource[i].end = 0; -+ dev->resource[i].flags = 0; -+ } -+ dev_info(&dev->dev, "Hiding X-Gene pci host bridge resources %s\n", -+ pci_name(dev)); -+} -+DECLARE_PCI_FIXUP_HEADER(XGENE_PCIE_VENDORID, XGENE_PCIE_DEVICEID, -+ xgene_pcie_fixup_bridge); -+ +static int xgene_pcie_map_reg(struct xgene_pcie_port *port, + struct platform_device *pdev) +{ @@ -4284,8 +6240,7 @@ index 0000000..dae61a6 + struct resource *res = window->res; + u64 restype = resource_type(res); + -+ dev_dbg(port->dev, "0x%08lx 0x%016llx...0x%016llx\n", -+ res->flags, res->start, res->end); ++ dev_dbg(port->dev, "%pR\n", res); + + switch (restype) { + case IORESOURCE_IO: @@ -4302,7 +6257,7 @@ index 0000000..dae61a6 + case IORESOURCE_BUS: + break; + default: -+ dev_err(dev, "invalid io resource!"); ++ dev_err(dev, "invalid io resource - %pR\n", res); + return -EINVAL; + } + } @@ -4450,11 +6405,15 @@ index 0000000..dae61a6 + struct list_head *res, + resource_size_t io_base) +{ -+ u32 lanes = 0, speed = 0; ++ u32 val, lanes = 0, speed = 0; + int ret; + + xgene_pcie_clear_config(port); + ++ /* setup the vendor and device IDs correctly */ ++ val = (XGENE_PCIE_DEVICEID << 16) | XGENE_PCIE_VENDORID; ++ writel(val, port->csr_base + BRIDGE_CFG_0); ++ + ret = xgene_pcie_map_ranges(port, res, io_base); + if (ret) + return ret; @@ -5204,6 +7163,43 @@ index 57d9df8..e075437 100644 { }, }; MODULE_DEVICE_TABLE(acpi, dw8250_acpi_match); +diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c +index c600ccf..10c4775 100644 +--- a/drivers/virtio/virtio_mmio.c ++++ b/drivers/virtio/virtio_mmio.c +@@ -100,8 +100,7 @@ + #include + #include + #include +- +- ++#include + + /* The alignment to use between consumer and producer parts of vring. + * Currently hardcoded to the page size. */ +@@ -637,6 +636,14 @@ static struct of_device_id virtio_mmio_match[] = { + }; + MODULE_DEVICE_TABLE(of, virtio_mmio_match); + ++#ifdef CONFIG_ACPI ++static const struct acpi_device_id virtio_mmio_acpi_match[] = { ++ { "LNRO0005", }, ++ { } ++}; ++MODULE_DEVICE_TABLE(acpi, virtio_mmio_acpi_match); ++#endif ++ + static struct platform_driver virtio_mmio_driver = { + .probe = virtio_mmio_probe, + .remove = virtio_mmio_remove, +@@ -644,6 +651,7 @@ static struct platform_driver virtio_mmio_driver = { + .name = "virtio-mmio", + .owner = THIS_MODULE, + .of_match_table = virtio_mmio_match, ++ .acpi_match_table = ACPI_PTR(virtio_mmio_acpi_match), + }, + }; + diff --git a/include/acpi/acnames.h b/include/acpi/acnames.h index c728113..f97804b 100644 --- a/include/acpi/acnames.h @@ -5220,7 +7216,7 @@ index c728113..f97804b 100644 #define METHOD_NAME__SB_ "_SB_" #define METHOD_NAME__SEG "_SEG" diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h -index d91e59b..68d5ade 100644 +index 57ee052..a483e61 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h @@ -68,6 +68,8 @@ bool acpi_check_dsm(acpi_handle handle, const u8 *uuid, int rev, u64 funcs); diff --git a/kernel.spec b/kernel.spec index f25ad406b..d33ae60ce 100644 --- a/kernel.spec +++ b/kernel.spec @@ -2230,6 +2230,9 @@ fi # ||----w | # || || %changelog +* Wed Oct 01 2014 Kyle McMartin +- Update kernel-arm64.patch from git, again... enable AMD_XGBE on arm64. + * Wed Oct 01 2014 Josh Boyer - 3.17.0-0.rc7.git1.1 - Linux v3.17-rc7-6-gaad7fb916a10 From b092e490fa632a1ff274e7d92f044d2e18d22f7a Mon Sep 17 00:00:00 2001 From: Paul Bolle Date: Thu, 2 Oct 2014 11:00:32 +0200 Subject: [PATCH 09/67] Remove all references to unknown Kconfig symbols Reported-by: Paul Bolle --- Makefile | 2 - Makefile.release | 2 - config-arm-generic | 8 -- config-arm64 | 3 - config-armv7 | 32 ------- config-armv7-generic | 12 --- config-debug | 4 - config-generic | 189 ----------------------------------------- config-i686-PAE | 1 - config-nodebug | 4 - config-powerpc-generic | 14 --- config-powerpc64 | 11 --- config-powerpc64p7 | 12 --- config-s390x | 15 ---- config-x86-32-generic | 16 ---- config-x86-generic | 7 -- config-x86_64-generic | 6 -- 17 files changed, 338 deletions(-) diff --git a/Makefile b/Makefile index 274ae2a8a..0cdc9beeb 100644 --- a/Makefile +++ b/Makefile @@ -47,7 +47,6 @@ debug: @perl -pi -e 's/# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set/CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y/' config-nodebug @perl -pi -e 's/# CONFIG_DEBUG_SG is not set/CONFIG_DEBUG_SG=y/' config-nodebug @perl -pi -e 's/# CONFIG_DEBUG_PI_LIST is not set/CONFIG_DEBUG_PI_LIST=y/' config-nodebug - @perl -pi -e 's/# CONFIG_DEBUG_WRITECOUNT is not set/CONFIG_DEBUG_WRITECOUNT=y/' config-nodebug @perl -pi -e 's/# CONFIG_DEBUG_OBJECTS is not set/CONFIG_DEBUG_OBJECTS=y/' config-nodebug @perl -pi -e 's/# CONFIG_DEBUG_OBJECTS_FREE is not set/CONFIG_DEBUG_OBJECTS_FREE=y/' config-nodebug @perl -pi -e 's/# CONFIG_DEBUG_OBJECTS_TIMERS is not set/CONFIG_DEBUG_OBJECTS_TIMERS=y/' config-nodebug @@ -58,7 +57,6 @@ debug: @perl -pi -e 's/# CONFIG_EFI_PGT_DUMP is not set/CONFIG_EFI_PGT_DUMP=y/' config-nodebug @perl -pi -e 's/# CONFIG_CAN_DEBUG_DEVICES is not set/CONFIG_CAN_DEBUG_DEVICES=y/' config-nodebug @perl -pi -e 's/# CONFIG_MODULE_FORCE_UNLOAD is not set/CONFIG_MODULE_FORCE_UNLOAD=y/' config-nodebug - @perl -pi -e 's/# CONFIG_SYSCTL_SYSCALL_CHECK is not set/CONFIG_SYSCTL_SYSCALL_CHECK=y/' config-nodebug @perl -pi -e 's/# CONFIG_DEBUG_NOTIFIERS is not set/CONFIG_DEBUG_NOTIFIERS=y/' config-nodebug @perl -pi -e 's/# CONFIG_DMA_API_DEBUG is not set/CONFIG_DMA_API_DEBUG=y/' config-nodebug @perl -pi -e 's/# CONFIG_PM_TEST_SUSPEND is not set/CONFIG_PM_TEST_SUSPEND=y/' config-generic diff --git a/Makefile.release b/Makefile.release index 6c79d4ef3..6343073f9 100644 --- a/Makefile.release +++ b/Makefile.release @@ -27,7 +27,6 @@ config-release: @perl -pi -e 's/CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y/# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set/' config-nodebug @perl -pi -e 's/CONFIG_DEBUG_SG=y/# CONFIG_DEBUG_SG is not set/' config-nodebug @perl -pi -e 's/CONFIG_DEBUG_PI_LIST=y/# CONFIG_DEBUG_PI_LIST is not set/' config-nodebug - @perl -pi -e 's/CONFIG_DEBUG_WRITECOUNT=y/# CONFIG_DEBUG_WRITECOUNT is not set/' config-nodebug @perl -pi -e 's/CONFIG_DEBUG_OBJECTS=y/# CONFIG_DEBUG_OBJECTS is not set/' config-nodebug @perl -pi -e 's/CONFIG_DEBUG_OBJECTS_FREE=y/# CONFIG_DEBUG_OBJECTS_FREE is not set/' config-nodebug @perl -pi -e 's/CONFIG_DEBUG_OBJECTS_TIMERS=y/# CONFIG_DEBUG_OBJECTS_TIMERS is not set/' config-nodebug @@ -38,7 +37,6 @@ config-release: @perl -pi -e 's/CONFIG_EFI_PGT_DUMP=y/# CONFIG_EFI_PGT_DUMP is not set/' config-nodebug @perl -pi -e 's/CONFIG_CAN_DEBUG_DEVICES=y/# CONFIG_CAN_DEBUG_DEVICES is not set/' config-nodebug @perl -pi -e 's/CONFIG_MODULE_FORCE_UNLOAD=y/# CONFIG_MODULE_FORCE_UNLOAD is not set/' config-nodebug - @perl -pi -e 's/CONFIG_SYSCTL_SYSCALL_CHECK=y/# CONFIG_SYSCTL_SYSCALL_CHECK is not set/' config-nodebug @perl -pi -e 's/CONFIG_DEBUG_NOTIFIERS=y/# CONFIG_DEBUG_NOTIFIERS is not set/' config-nodebug @perl -pi -e 's/CONFIG_DMA_API_DEBUG=y/# CONFIG_DMA_API_DEBUG is not set/' config-nodebug @perl -pi -e 's/CONFIG_PM_TEST_SUSPEND=y/# CONFIG_PM_TEST_SUSPEND is not set/' config-generic diff --git a/config-arm-generic b/config-arm-generic index 9ddb1f0cc..1f07efa9b 100644 --- a/config-arm-generic +++ b/config-arm-generic @@ -79,15 +79,12 @@ CONFIG_GENERIC_CPUFREQ_CPU0=m # Device tree CONFIG_DTC=y CONFIG_DMA_OF=y -CONFIG_PROC_DEVICETREE=y CONFIG_OF=y CONFIG_OF_ADDRESS=y -CONFIG_OF_DEVICE=y CONFIG_OF_DYNAMIC=y CONFIG_OF_EARLY_FLATTREE=y CONFIG_OF_FLATTREE=y CONFIG_OF_GPIO=y -CONFIG_OF_I2C=m CONFIG_OF_IOMMU=y CONFIG_OF_IRQ=y CONFIG_OF_MDIO=m @@ -103,7 +100,6 @@ CONFIG_THERMAL_OF=y # External Connectors CONFIG_EXTCON=m -CONFIG_OF_EXTCON=m CONFIG_EXTCON_GPIO=m CONFIG_EXTCON_ADC_JACK=m # CONFIG_EXTCON_SM5502 is not set @@ -111,7 +107,6 @@ CONFIG_EXTCON_ADC_JACK=m # MTD CONFIG_MTD_BLKDEVS=m CONFIG_MTD_BLOCK=m -CONFIG_MTD_CHAR=m CONFIG_MTD_CFI=m CONFIG_MTD_CFI_INTELEXT=m CONFIG_MTD_CFI_AMDSTD=m @@ -184,10 +179,8 @@ CONFIG_CMA_AREAS=7 # CONFIG_I2C_RCAR is not set # CONFIG_DRM_SHMOBILE is not set # CONFIG_I2C_SH_MOBILE is not set -# CONFIG_MMC_DW_SOCFPGA is not set # CONFIG_I2C_NOMADIK is not set # CONFIG_IRQ_DOMAIN_DEBUG is not set -# CONFIG_LEDS_RENESAS_TPU is not set # CONFIG_LOCK_STAT is not set # CONFIG_DRM_ARMADA is not set @@ -232,7 +225,6 @@ CONFIG_CMA_AREAS=7 # CONFIG_NET_VENDOR_SUN is not set # CONFIG_NET_VENDOR_WIZNET is not set # CONFIG_NET_VENDOR_XIRCOM is not set -# CONFIG_NET_PCMCIA is not set # scsi diff --git a/config-arm64 b/config-arm64 index 3d6e2f2cb..0310d91c9 100644 --- a/config-arm64 +++ b/config-arm64 @@ -9,7 +9,6 @@ CONFIG_SCHED_SMT=y # arm64 only SoCs CONFIG_ARCH_XGENE=y -# CONFIG_ALWAYS_USE_PERSISTENT_CLOCK is not set # CONFIG_AMBA_PL08X is not set CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y CONFIG_ARCH_REQUIRE_GPIOLIB=y @@ -26,7 +25,6 @@ CONFIG_CMDLINE="console=ttyAMA0" # CONFIG_CMDLINE_FORCE is not set CONFIG_CONSOLE_TRANSLATIONS=y -CONFIG_GENERIC_ACL=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y CONFIG_GENERIC_CSUM=y @@ -84,7 +82,6 @@ CONFIG_CRYPTO_DEV_CCP=y CONFIG_CRYPTO_DEV_CCP_DD=m CONFIG_CRYPTO_DEV_CCP_CRYPTO=m -CONFIG_I2C_ACPI=y # APM Xgene CONFIG_POWER_RESET_XGENE=y diff --git a/config-armv7 b/config-armv7 index ff5825a09..133a31064 100644 --- a/config-armv7 +++ b/config-armv7 @@ -22,7 +22,6 @@ CONFIG_ARCH_ZYNQ=y # CONFIG_VIRTUALIZATION is not set # mvebu -CONFIG_MACH_ARMADA_370_XP=y CONFIG_MACH_ARMADA_370=y CONFIG_MACH_ARMADA_375=y CONFIG_MACH_ARMADA_38X=y @@ -49,7 +48,6 @@ CONFIG_MVNETA=m CONFIG_GPIO_MVEBU=y CONFIG_MVEBU_CLK_CORE=y CONFIG_MVEBU_CLK_COREDIV=y -CONFIG_MVEBU_CLK_GATING=y CONFIG_MMC_MVSDIO=m CONFIG_MMC_SDHCI_DOVE=m CONFIG_SPI_ORION=m @@ -80,15 +78,12 @@ CONFIG_SOC_TI81XX=y # CONFIG_MACH_CM_T3517 is not set # CONFIG_MACH_CRANEBOARD is not set # CONFIG_MACH_DEVKIT8000 is not set -# CONFIG_MACH_IGEP0030 is not set # CONFIG_MACH_NOKIA_RX51 is not set # CONFIG_MACH_OMAP_3430SDP is not set -# CONFIG_MACH_OMAP_3630SDP is not set # CONFIG_MACH_OMAP_LDP is not set # CONFIG_MACH_OMAP3_BEAGLE is not set # CONFIG_MACH_OMAP3517EVM is not set # CONFIG_MACH_OMAP3530_LV_SOM is not set -# CONFIG_MACH_OMAP3EVM is not set # CONFIG_MACH_OMAP3_PANDORA is not set # CONFIG_MACH_OMAP3_TORPEDO is not set # CONFIG_MACH_OVERO is not set @@ -102,12 +97,10 @@ CONFIG_OMAP_RESET_CLOCKS=y CONFIG_OMAP_MUX=y CONFIG_OMAP_MUX_WARNINGS=y CONFIG_OMAP_32K_TIMER=y -CONFIG_OMAP_32K_TIMER_HZ=128 CONFIG_OMAP_PACKAGE_CBB=y CONFIG_OMAP_PACKAGE_CUS=y # CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set -CONFIG_OMAP_MCBSP=y CONFIG_OMAP2PLUS_MBOX=m CONFIG_OMAP_MBOX_KFIFO_SIZE=256 CONFIG_OMAP_DM_TIMER=y @@ -137,7 +130,6 @@ CONFIG_TI_PIPE3=m CONFIG_PCI_DRA7XX=y CONFIG_TWL4030_USB=m CONFIG_TWL6030_USB=m -CONFIG_TWL6030_PWM=m CONFIG_TWL6040_CORE=y CONFIG_CLK_TWL6040=m CONFIG_OMAP_INTERCONNECT=m @@ -150,7 +142,6 @@ CONFIG_USB_EHCI_HCD_OMAP=m CONFIG_USB_OHCI_HCD_OMAP3=m CONFIG_USB_MUSB_AM35X=m CONFIG_USB_MUSB_OMAP2PLUS=m -CONFIG_OMAP_CONTROL_USB=m CONFIG_MMC_OMAP=m CONFIG_MMC_OMAP_HS=y CONFIG_RTC_DRV_MAX8907=m @@ -186,7 +177,6 @@ CONFIG_MTD_ONENAND_OMAP2=m CONFIG_MTD_NAND_OMAP2=m CONFIG_MTD_NAND_OMAP_BCH=y CONFIG_SPI_OMAP24XX=m -CONFIG_MFD_TI_SSP=m CONFIG_SPI_TI_QSPI=m CONFIG_INPUT_TWL4030_PWRBUTTON=m @@ -194,10 +184,8 @@ CONFIG_INPUT_TWL4030_VIBRA=m CONFIG_INPUT_TWL6040_VIBRA=m CONFIG_KEYBOARD_OMAP4=m CONFIG_KEYBOARD_TWL4030=m -CONFIG_TOUCHSCREEN_TI_TSCADC=m # OMAP thermal temp. Can likely be built as module but doesn't autoload so build in to ensure performance on PandaES -CONFIG_OMAP_BANDGAP=y CONFIG_TI_SOC_THERMAL=y CONFIG_TI_THERMAL=y CONFIG_OMAP4_THERMAL=y @@ -224,13 +212,10 @@ CONFIG_HW_RANDOM_OMAP3_ROM=m CONFIG_DRM_OMAP=m CONFIG_DRM_OMAP_NUM_CRTCS=2 CONFIG_OMAP2_VRFB=y -# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set -# CONFIG_FB_OMAP_LCD_VGA is not set # CONFIG_FB_OMAP2 is not set # CONFIG_FB_DA8XX is not set CONFIG_OMAP2_DSS=m -# CONFIG_OMAP2_DSS_DEBUG_SUPPORT is not set # CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set CONFIG_OMAP2_DSS_DPI=y CONFIG_OMAP2_DSS_RFBI=y @@ -238,9 +223,7 @@ CONFIG_OMAP2_DSS_VENC=y CONFIG_OMAP4_DSS_HDMI=y CONFIG_OMAP2_DSS_SDI=y CONFIG_OMAP2_DSS_DSI=y -# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0 -CONFIG_OMAP2_DSS_SLEEP_BEFORE_RESET=y CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET=y CONFIG_DISPLAY_ENCODER_TFP410=m @@ -263,14 +246,9 @@ CONFIG_V4L_PLATFORM_DRIVERS=y # CONFIG_VIDEO_OMAP2_VOUT is not set CONFIG_VIDEO_OMAP3=m # CONFIG_VIDEO_OMAP4 is not set -# CONFIG_VIDEO_OMAP4_DEBUG is not set # The ones below are for TI Davinci -# CONFIG_VIDEO_VPFE_CAPTURE is not set -# CONFIG_VIDEO_VPSS_SYSTEM is not set # CONFIG_VIDEO_DM6446_CCDC is not set -# CONFIG_VIDEO_DM644X_VPBE is not set # CONFIG_VIDEO_DM355_CCDC is not set -# CONFIG_VIDEO_ISIF is not set # Also enable vivi driver - useful for testing a full kernelspace V4L2 driver CONFIG_V4L_TEST_DRIVERS=y CONFIG_VIDEO_VIVI=m @@ -280,18 +258,13 @@ CONFIG_SND_SOC_I2C_AND_SPI=m CONFIG_SND_OMAP_SOC_AM3517EVM=m CONFIG_SND_OMAP_SOC_DMIC=m CONFIG_SND_OMAP_SOC_HDMI=m -CONFIG_SND_OMAP_SOC_IGEP0020=m CONFIG_SND_OMAP_SOC_MCBSP=m CONFIG_SND_OMAP_SOC_MCPDM=m CONFIG_SND_OMAP_SOC_OMAP_HDMI=m CONFIG_SND_OMAP_SOC_OMAP_ABE_TWL6040=m CONFIG_SND_OMAP_SOC_OMAP_TWL4030=m -CONFIG_SND_OMAP_SOC_OMAP3EVM=m -CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE=m CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m -CONFIG_SND_OMAP_SOC_OVERO=m CONFIG_SND_OMAP_SOC_RX51=m -CONFIG_SND_OMAP_SOC_SDP4430=m CONFIG_SND_SOC_TLV320AIC23=m CONFIG_SND_SOC_TLV320AIC3X=m CONFIG_SND_SOC_TWL4030=m @@ -379,7 +352,6 @@ CONFIG_USB_EHCI_MSM=m # CONFIG_DRM_MSM_REGISTER_LOGGING is not set # i.MX -CONFIG_MXC_IRQ_PRIOR=y # CONFIG_MXC_DEBUG_BOARD is not set CONFIG_SOC_IMX50=y CONFIG_SOC_IMX51=y @@ -415,7 +387,6 @@ CONFIG_STMPE_I2C=y CONFIG_SPI_IMX=m CONFIG_SPI_FSL_QUADSPI=m CONFIG_STMPE_SPI=y -CONFIG_MFD_MC13783=m CONFIG_MFD_MC13XXX_SPI=m CONFIG_MFD_STMPE=y CONFIG_MTD_NAND_GPMI_NAND=m @@ -444,7 +415,6 @@ CONFIG_SND_SOC_IMX_WM8962=m CONFIG_SND_SOC_IMX_MC13783=m CONFIG_SND_SOC_IMX_SPDIF=m CONFIG_SND_SOC_EUKREA_TLV320=m -CONFIG_SND_SOC_TVL320AIC32X4=m CONFIG_SND_SOC_WM8731=m CONFIG_USB_IMX21_HCD=m @@ -505,7 +475,6 @@ CONFIG_REGULATOR_DA9055=m # picoxcell # CONFIG_CRYPTO_DEV_PICOXCELL is not set -# CONFIG_HW_RANDOM_PICOXCELL is not set # Exynos 4 CONFIG_ARCH_EXYNOS4=y @@ -594,7 +563,6 @@ CONFIG_MFD_TPS80031=y CONFIG_KEYBOARD_NVEC=y CONFIG_SERIO_NVEC_PS2=y CONFIG_NVEC_POWER=y -CONFIG_NVEC_LEDS=y CONFIG_NVEC_PAZ00=y CONFIG_MFD_TPS6586X=y CONFIG_GPIO_TPS6586X=y diff --git a/config-armv7-generic b/config-armv7-generic index 21da8d935..4a96a546a 100644 --- a/config-armv7-generic +++ b/config-armv7-generic @@ -35,7 +35,6 @@ CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_XZ_DEC_ARMTHUMB=y CONFIG_ARCH_HAS_TICK_BROADCAST=y -CONFIG_ALWAYS_USE_PERSISTENT_CLOCK=y CONFIG_IRQ_CROSSBAR=y # CONFIG_MCPM is not set @@ -304,8 +303,6 @@ CONFIG_TEGRA_IOMMU_SMMU=y CONFIG_MMC_SDHCI_TEGRA=m CONFIG_TEGRA_WATCHDOG=m CONFIG_I2C_TEGRA=m -CONFIG_TEGRA_SYSTEM_DMA=y -CONFIG_TEGRA_EMC_SCALING_ENABLE=y CONFIG_TEGRA_AHB=y CONFIG_TEGRA20_APB_DMA=y CONFIG_SPI_TEGRA114=m @@ -368,7 +365,6 @@ CONFIG_AX88796_93CX6=y # usb gadget CONFIG_USB_OTG=y CONFIG_USB_GADGET=m -CONFIG_USB_GADGET_MUSB_HDRC=m CONFIG_USB_GADGET_VBUS_DRAW=100 CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 CONFIG_USB_MUSB_HDRC=m @@ -385,12 +381,10 @@ CONFIG_USB_CONFIGFS_NCM=y CONFIG_USB_CONFIGFS_OBEX=y # CONFIG_USB_CONFIGFS_RNDIS is not set CONFIG_USB_CONFIGFS_SERIAL=y -CONFIG_USB_CONFIGFS_STORAGE=y # CONFIG_USB_CONFIGFS_F_LB_SS is not set # CONFIG_USB_CONFIGFS_F_FS is not set # CONFIG_MUSB_PIO_ONLY is not set -# CONFIG_USB_MUSB_DEBUG is not set # CONFIG_USB_GADGET_DEBUG is not set # CONFIG_USB_GADGET_DEBUG_FILES is not set # CONFIG_USB_GADGET_DEBUG_FS is not set @@ -439,7 +433,6 @@ CONFIG_PINCTRL=y CONFIG_PINCTRL_SINGLE=y CONFIG_GENERIC_PINCONF=y # CONFIG_PINCTRL_SAMSUNG is not set -# CONFIG_PINCTRL_CAPRI is not set # CONFIG_PINCTRL_MSM8X74 is not set # CONFIG_PINCTRL_BCM281XX is not set # CONFIG_PINCTRL_APQ8064 is not set @@ -510,7 +503,6 @@ CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_LEGACY_SYSFS=y # Watchdog -CONFIG_MPCORE_WATCHDOG=m # Thermal / powersaving CONFIG_THERMAL=y @@ -585,7 +577,6 @@ CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_JACK=y CONFIG_SND_SIMPLE_CARD=m CONFIG_SND_SOC_ALL_CODECS=m -CONFIG_SND_SOC_CACHE_LZO=y CONFIG_SND_SOC_DMIC=m CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y CONFIG_SND_SOC_HDMI_CODEC=m @@ -664,7 +655,6 @@ CONFIG_RTC_DRV_TPS80031=m # Regulators CONFIG_REGULATOR=y CONFIG_RFKILL_REGULATOR=m -CONFIG_REGULATOR_DUMMY=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_VIRTUAL_CONSUMER=m CONFIG_REGULATOR_USERSPACE_CONSUMER=m @@ -784,7 +774,6 @@ CONFIG_UBIFS_FS=m CONFIG_UBIFS_FS_ADVANCED_COMPR=y CONFIG_UBIFS_FS_LZO=y CONFIG_UBIFS_FS_ZLIB=y -# CONFIG_UBIFS_FS_DEBUG is not set # Sensors CONFIG_SENSORS_HTU21=m @@ -843,7 +832,6 @@ CONFIG_BPF_JIT=y # CONFIG_PINCTRL_IMX35 is not set # CONFIG_DVB_USB_PCTV452E is not set # CONFIG_DWMAC_SOCFPGA is not set -# CONFIG_MMC_DW_SOCFPGA is not set # CONFIG_MFD_LP8788 is not set # CONFIG_MFD_MAX77693 is not set diff --git a/config-debug b/config-debug index d866d8013..467f33a19 100644 --- a/config-debug +++ b/config-debug @@ -31,14 +31,12 @@ CONFIG_LOCK_STAT=y CONFIG_DEBUG_STACK_USAGE=y CONFIG_ACPI_DEBUG=y -# CONFIG_ACPI_DEBUG_FUNC_TRACE is not set CONFIG_DEBUG_SG=y CONFIG_DEBUG_PI_LIST=y # CONFIG_DEBUG_PAGEALLOC is not set -CONFIG_DEBUG_WRITECOUNT=y CONFIG_DEBUG_OBJECTS=y # CONFIG_DEBUG_OBJECTS_SELFTEST is not set CONFIG_DEBUG_OBJECTS_FREE=y @@ -53,7 +51,6 @@ CONFIG_CAN_DEBUG_DEVICES=y CONFIG_MODULE_FORCE_UNLOAD=y -CONFIG_SYSCTL_SYSCALL_CHECK=y CONFIG_DEBUG_NOTIFIERS=y @@ -97,7 +94,6 @@ CONFIG_PM_ADVANCED_DEBUG=y CONFIG_CEPH_LIB_PRETTYDEBUG=y CONFIG_QUOTA_DEBUG=y -CONFIG_PCI_DEFAULT_USE_CRS=y CONFIG_KGDB_KDB=y CONFIG_KDB_KEYBOARD=y diff --git a/config-generic b/config-generic index df445fa9e..ab611ccdd 100644 --- a/config-generic +++ b/config-generic @@ -64,7 +64,6 @@ CONFIG_UTS_NS=y CONFIG_IPC_NS=y CONFIG_NET_NS=y CONFIG_USER_NS=y -# CONFIG_UIDGID_STRICT_TYPE_CHECKS is not set CONFIG_POSIX_MQUEUE=y # CONFIG_PREEMPT_NONE is not set @@ -77,8 +76,6 @@ CONFIG_SLUB_CPU_PARTIAL=y # CONFIG_SLUB_DEBUG_ON is not set # CONFIG_AD525X_DPOT is not set -# CONFIG_ATMEL_PWM is not set -# CONFIG_IWMC3200TOP is not set # # Loadable module support @@ -106,7 +103,6 @@ CONFIG_PCIEASPM=y CONFIG_PCIE_ECRC=y CONFIG_PCIEAER_INJECT=m CONFIG_HOTPLUG_PCI_PCIE=y -CONFIG_HOTPLUG_PCI_FAKE=m # CONFIG_SGI_IOC4 is not set @@ -131,7 +127,6 @@ CONFIG_SDIO_UART=m # CONFIG_MMC_TEST is not set # CONFIG_MMC_DEBUG is not set # https://lists.fedoraproject.org/pipermail/kernel/2014-February/004889.html -CONFIG_MMC_UNSAFE_RESUME=y # CONFIG_MMC_CLKGATE is not set CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 @@ -171,7 +166,6 @@ CONFIG_INFINIBAND_SRP=m CONFIG_INFINIBAND_SRPT=m CONFIG_INFINIBAND_USER_MAD=m CONFIG_INFINIBAND_USER_ACCESS=m -# CONFIG_INFINIBAND_EXPERIMENTAL_UVERBS_FLOW_STEERING is not set #staging CONFIG_INFINIBAND_IPATH=m CONFIG_INFINIBAND_ISER=m CONFIG_INFINIBAND_ISERT=m @@ -253,7 +247,6 @@ CONFIG_MTD=m # # User Modules And Translation Layers # -# CONFIG_MTD_CHAR is not set # CONFIG_MTD_BLKDEVS is not set # CONFIG_MTD_BLOCK is not set # CONFIG_MTD_BLOCK_RO is not set @@ -309,9 +302,7 @@ CONFIG_MTD_CFI_I2=y # CONFIG_MTD_DOCG3 is not set # CONFIG_MTD_NAND is not set # CONFIG_MTD_ONENAND is not set -# CONFIG_MTD_NAND_VERIFY_WRITE is not set # CONFIG_MTD_NAND_ECC_BCH is not set -# CONFIG_MTD_NAND_MUSEUM_IDS is not set # CONFIG_MTD_NAND_DISKONCHIP is not set # CONFIG_MTD_LPDDR is not set CONFIG_MTD_UBI=m @@ -394,7 +385,6 @@ CONFIG_VIRTIO_NET=m CONFIG_HW_RANDOM_VIRTIO=m CONFIG_VIRTIO_CONSOLE=m CONFIG_VHOST_NET=m -CONFIG_TCM_VHOST=m CONFIG_VHOST_SCSI=m # @@ -407,7 +397,6 @@ CONFIG_SCSI_PROC_FS=y CONFIG_SCSI_SCAN_ASYNC=y CONFIG_SCSI_SRP=m CONFIG_SCSI_SRP_ATTRS=m -CONFIG_SCSI_TGT=m CONFIG_SCSI_ISCI=m CONFIG_SCSI_CHELSIO_FCOE=m @@ -431,15 +420,12 @@ CONFIG_CHR_DEV_SCH=m # # Some SCSI devices (e.g. CD jukebox) support multiple LUNs # -CONFIG_SCSI_MULTI_LUN=y CONFIG_SCSI_CONSTANTS=y CONFIG_SCSI_LOGGING=y CONFIG_SCSI_SPI_ATTRS=m CONFIG_SCSI_FC_ATTRS=m -CONFIG_SCSI_FC_TGT_ATTRS=y CONFIG_SCSI_ISCSI_ATTRS=m CONFIG_SCSI_SAS_ATTRS=m -CONFIG_SCSI_SRP_TGT_ATTRS=y CONFIG_SCSI_SAS_LIBSAS=m CONFIG_SCSI_SAS_ATA=y CONFIG_SCSI_SAS_HOST_SMP=y @@ -458,7 +444,6 @@ CONFIG_SCSI_ACARD=m CONFIG_SCSI_AACRAID=m CONFIG_SCSI_AIC7XXX=m # http://lists.fedoraproject.org/pipermail/kernel/2013-February/004102.html -# CONFIG_SCSI_AIC7XXX_OLD is not set CONFIG_AIC7XXX_CMDS_PER_DEVICE=4 CONFIG_AIC7XXX_RESET_DELAY_MS=15000 # CONFIG_AIC7XXX_BUILD_FIRMWARE is not set @@ -657,10 +642,8 @@ CONFIG_MD_RAID456=m CONFIG_BCACHE=m # CONFIG_BCACHE_DEBUG is not set -# CONFIG_BCACHE_EDEBUG is not set # CONFIG_BCACHE_CLOSURES_DEBUG is not set -# CONFIG_MULTICORE_RAID456 is not set CONFIG_ASYNC_RAID6_TEST=m CONFIG_BLK_DEV_DM=y CONFIG_DM_CRYPT=m @@ -675,7 +658,6 @@ CONFIG_DM_CACHE_MQ=m CONFIG_DM_CACHE_CLEANER=m # CONFIG_DM_ERA is not set # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set -# CONFIG_DM_DEBUG_SPACE_MAPS is not set CONFIG_DM_UEVENT=y CONFIG_DM_ZERO=y CONFIG_DM_LOG_USERSPACE=m @@ -705,10 +687,8 @@ CONFIG_FIREWIRE=m CONFIG_FIREWIRE_OHCI=m CONFIG_FIREWIRE_SBP2=m CONFIG_FIREWIRE_NET=m -CONFIG_FIREWIRE_OHCI_DEBUG=y CONFIG_FIREWIRE_NOSY=m # CONFIG_FIREWIRE_SERIAL is not set -# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set # # I2O device support @@ -776,7 +756,6 @@ CONFIG_IP_MROUTE=y CONFIG_IP_MROUTE_MULTIPLE_TABLES=y CONFIG_IP_PIMSM_V1=y CONFIG_IP_PIMSM_V2=y -CONFIG_ARPD=y CONFIG_SYN_COOKIES=y CONFIG_NET_IPVTI=m CONFIG_INET_AH=m @@ -784,7 +763,6 @@ CONFIG_INET_ESP=m CONFIG_INET_IPCOMP=m CONFIG_NETCONSOLE=m CONFIG_NETCONSOLE_DYNAMIC=y -CONFIG_NETPOLL_TRAP=y CONFIG_NET_POLL_CONTROLLER=y # @@ -819,7 +797,6 @@ CONFIG_IP_VS_FTP=m CONFIG_IP_VS_PE_SIP=m CONFIG_IPV6=y -CONFIG_IPV6_PRIVACY=y CONFIG_IPV6_ROUTER_PREF=y CONFIG_IPV6_ROUTE_INFO=y CONFIG_IPV6_OPTIMISTIC_DAD=y @@ -864,7 +841,6 @@ CONFIG_NETFILTER_NETLINK_ACCT=m CONFIG_NETFILTER_NETLINK_QUEUE=m CONFIG_NETFILTER_NETLINK_QUEUE_CT=y CONFIG_NETFILTER_NETLINK_LOG=m -CONFIG_NETFILTER_TPROXY=m CONFIG_NETFILTER_XTABLES=y CONFIG_NETFILTER_XT_SET=m CONFIG_NETFILTER_XT_MARK=m @@ -992,8 +968,6 @@ CONFIG_IP_NF_TARGET_CLUSTERIP=m CONFIG_IP_NF_TARGET_REDIRECT=m CONFIG_IP_NF_TARGET_NETMAP=m CONFIG_IP_NF_TARGET_ECN=m -CONFIG_IP_NF_TARGET_LOG=m -CONFIG_IP_NF_TARGET_ULOG=m CONFIG_IP_NF_TARGET_REJECT=y CONFIG_IP_NF_TARGET_SYNPROXY=m CONFIG_IP_NF_TARGET_TTL=m @@ -1003,7 +977,6 @@ CONFIG_IP_NF_MANGLE=m CONFIG_IP_NF_ARPTABLES=m CONFIG_IP_NF_ARPFILTER=m CONFIG_IP_NF_ARP_MANGLE=m -CONFIG_IP_NF_QUEUE=m CONFIG_IP_NF_RAW=m CONFIG_IP_NF_IPTABLES=y @@ -1024,10 +997,8 @@ CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_RPFILTER=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_RT=m -CONFIG_IP6_NF_QUEUE=m CONFIG_IP6_NF_RAW=m CONFIG_IP6_NF_SECURITY=m -CONFIG_IP6_NF_TARGET_LOG=m CONFIG_IP6_NF_TARGET_REJECT=m CONFIG_IP6_NF_TARGET_SYNPROXY=m CONFIG_IP6_NF_TARGET_HL=m @@ -1085,7 +1056,6 @@ CONFIG_BRIDGE_EBT_SNAT=m CONFIG_BRIDGE_EBT_STP=m CONFIG_BRIDGE_EBT_T_FILTER=m CONFIG_BRIDGE_EBT_T_NAT=m -CONFIG_BRIDGE_EBT_ULOG=m CONFIG_BRIDGE_EBT_VLAN=m CONFIG_NFT_BRIDGE_META=m CONFIG_NFT_BRIDGE_REJECT=m @@ -1124,7 +1094,6 @@ CONFIG_IP_SET_LIST_SET=m # CONFIG_IP_SCTP=m CONFIG_NET_SCTPPROBE=m -# CONFIG_SCTP_DBG_MSG is not set # CONFIG_SCTP_DBG_OBJCNT is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set @@ -1143,11 +1112,8 @@ CONFIG_ATALK=m CONFIG_DEV_APPLETALK=m CONFIG_IPDDP=m CONFIG_IPDDP_ENCAP=y -CONFIG_IPDDP_DECAP=y # CONFIG_X25 is not set # CONFIG_LAPB is not set -# CONFIG_ECONET is not set -CONFIG_WAN_ROUTER=m CONFIG_IP_DCCP=m CONFIG_IP_DCCP_CCID2=m # CONFIG_IP_DCCP_CCID2_DEBUG is not set @@ -1162,8 +1128,6 @@ CONFIG_IP_DCCP_CCID3=y CONFIG_TIPC=m CONFIG_TIPC_PORTS=8192 # CONFIG_TIPC_MEDIA_IB is not set -# CONFIG_TIPC_ADVANCED is not set -# CONFIG_TIPC_DEBUG is not set CONFIG_NETLABEL=y @@ -1396,7 +1360,6 @@ CONFIG_TULIP=m # CONFIG_TULIP_NAPI is not set # CONFIG_TULIP_MWI is not set CONFIG_TULIP_MMIO=y -# CONFIG_NI5010 is not set CONFIG_DE4X5=m CONFIG_WINBOND_840=m CONFIG_DM9102=m @@ -1404,8 +1367,6 @@ CONFIG_PCMCIA_XIRCOM=m CONFIG_ULI526X=m CONFIG_NET_VENDOR_DLINK=y -CONFIG_DE600=m -CONFIG_DE620=m CONFIG_DL2K=m CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set @@ -1437,7 +1398,6 @@ CONFIG_IXGBE=m CONFIG_IXGBE_DCA=y CONFIG_IXGBE_DCB=y CONFIG_IXGBE_HWMON=y -CONFIG_IXGBE_PTP=y CONFIG_I40E=m # CONFIG_I40E_VXLAN is not set # CONFIG_I40E_DCB is not set @@ -1472,7 +1432,6 @@ CONFIG_NS83820=m CONFIG_NET_VENDOR_8390=y CONFIG_PCMCIA_AXNET=m CONFIG_NE2K_PCI=m -CONFIG_NE3210=m CONFIG_PCMCIA_PCNET=m CONFIG_NET_VENDOR_NVIDIA=y @@ -1480,7 +1439,6 @@ CONFIG_FORCEDETH=m CONFIG_NET_VENDOR_OKI=y # CONFIG_PCH_GBE is not set -# CONFIG_PCH_PTP is not set CONFIG_NET_PACKET_ENGINE=y CONFIG_HAMACHI=m @@ -1521,7 +1479,6 @@ CONFIG_NET_VENDOR_SIS=y CONFIG_SIS900=m CONFIG_SIS190=m -CONFIG_NET_VENDOR_SMC=y CONFIG_NET_VENDOR_SMSC=y CONFIG_PCMCIA_SMC91C92=m @@ -1534,8 +1491,6 @@ CONFIG_STMMAC_ETH=m # CONFIG_STMMAC_PLATFORM is not set # CONFIG_STMMAC_PCI is not set # CONFIG_STMMAC_DA is not set -# CONFIG_STMMAC_DUAL_MAC is not set -# CONFIG_STMMAC_TIMER is not set # CONFIG_STMMAC_DEBUG_FS is not set CONFIG_NET_VENDOR_SUN=y @@ -1596,9 +1551,6 @@ CONFIG_TYPHOON=m CONFIG_DNET=m -CONFIG_LNE390=m -CONFIG_ES3210=m -CONFIG_NET_PCI=y CONFIG_B44=m CONFIG_B44_PCI=y CONFIG_BCMGENET=m @@ -1607,7 +1559,6 @@ CONFIG_BNX2X=m CONFIG_BNX2X_SRIOV=y CONFIG_CNIC=m CONFIG_FEALNX=m -CONFIG_NET_POCKET=y CONFIG_ETHOC=m # @@ -1662,7 +1613,6 @@ CONFIG_CFG80211_DEFAULT_PS=y CONFIG_NL80211=y # CONFIG_NL80211_TESTMODE is not set CONFIG_WIRELESS_EXT=y -# CONFIG_WIRELESS_EXT_SYSFS is not set CONFIG_LIB80211=m CONFIG_LIB80211_CRYPT_WEP=m CONFIG_LIB80211_CRYPT_CCMP=m @@ -1671,7 +1621,6 @@ CONFIG_LIB80211_CRYPT_TKIP=m CONFIG_MAC80211=m CONFIG_MAC80211_RC_MINSTREL=y -# CONFIG_MAC80211_RC_DEFAULT_PID is not set CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y CONFIG_MAC80211_RC_DEFAULT="minstrel" CONFIG_MAC80211_MESH=y @@ -1697,12 +1646,10 @@ CONFIG_ATH9K=m CONFIG_ATH9K_PCI=y CONFIG_ATH9K_AHB=y # CONFIG_ATH9K_DEBUG is not set -# CONFIG_ATH9K_MAC_DEBUG is not set CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_HTC=m CONFIG_ATH9K_BTCOEX_SUPPORT=y # CONFIG_ATH9K_HTC_DEBUGFS is not set -# CONFIG_ATH9K_LEGACY_RATE_CONTROL is not set # CONFIG_ATH9K_STATION_STATISTICS is not set # CONFIG_ATH9K_WOW is not set # @@ -1728,14 +1675,12 @@ CONFIG_B43=m CONFIG_B43_PCMCIA=y CONFIG_B43_SDIO=y CONFIG_B43_BCMA=y -# CONFIG_B43_BCMA_EXTRA is not set CONFIG_B43_BCMA_PIO=y # CONFIG_B43_DEBUG is not set CONFIG_B43_PHY_LP=y CONFIG_B43_PHY_N=y CONFIG_B43_PHY_HT=y # CONFIG_B43_PHY_G is not set -# CONFIG_B43_FORCE_PIO is not set CONFIG_B43LEGACY=m # CONFIG_B43LEGACY_DEBUG is not set CONFIG_B43LEGACY_DMA=y @@ -1746,11 +1691,9 @@ CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y CONFIG_BRCMSMAC=m CONFIG_BRCMFMAC=m CONFIG_BRCMFMAC_SDIO=y -CONFIG_BRCMFMAC_SDIO_OOB=y CONFIG_BRCMFMAC_USB=y CONFIG_BRCMFMAC_PCIE=y # CONFIG_BRCM_TRACING is not set -# CONFIG_BRCMISCAN is not set # CONFIG_BRCMDBG is not set # CONFIG_SYSTEMPORT is not set CONFIG_HERMES=m @@ -1786,14 +1729,9 @@ CONFIG_IWLMVM=m # CONFIG_IWLWIFI_BCAST_FILTERING is not set CONFIG_IWLWIFI_DEBUG=y CONFIG_IWLWIFI_DEBUGFS=y -CONFIG_IWLWIFI_DEVICE_SVTOOL=y -# CONFIG_IWLWIFI_EXPERIMENTAL_MFP is not set -CONFIG_IWLWIFI_UCODE16=y -# CONFIG_IWLWIFI_P2P is not set CONFIG_IWLEGACY=m CONFIG_IWLEGACY_DEBUG=y CONFIG_IWLEGACY_DEBUGFS=y -# CONFIG_IWLWIFI_LEGACY_DEVICE_TRACING is not set CONFIG_IWL4965=y CONFIG_IWL3945=m # CONFIG_IWM is not set @@ -1843,8 +1781,6 @@ CONFIG_ZD1211RW=m # CONFIG_ZD1211RW_DEBUG is not set CONFIG_WL12XX=m -CONFIG_WL12XX_SPI=m -CONFIG_WL12XX_SDIO=m CONFIG_WL1251=m CONFIG_WL1251_SPI=m @@ -1894,7 +1830,6 @@ CONFIG_NET_FC=y # # PCMCIA network device support # -CONFIG_NET_PCMCIA=y CONFIG_PCMCIA_3C589=m CONFIG_PCMCIA_3C574=m CONFIG_PCMCIA_FMVJ18X=m @@ -1927,7 +1862,6 @@ CONFIG_NFC_DIGITAL=m CONFIG_NFC_NCI=m CONFIG_NFC_HCI=m CONFIG_NFC_SHDLC=y -CONFIG_NFC_LLCP=y CONFIG_NFC_SIM=m CONFIG_NFC_MRVL=m @@ -1989,7 +1923,6 @@ CONFIG_WINBOND_FIR=m # CONFIG_BT=m CONFIG_BT_6LOWPAN=m -CONFIG_BT_L2CAP=y CONFIG_BT_SCO=y CONFIG_BT_CMTP=m CONFIG_BT_RFCOMM=m @@ -2113,7 +2046,6 @@ CONFIG_HYSDN_CAPI=y # CONFIG_ISDN_CAPI=m # CONFIG_CAPI_TRACE is not set -CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y CONFIG_ISDN_CAPI_MIDDLEWARE=y CONFIG_ISDN_CAPI_CAPI20=m @@ -2173,7 +2105,6 @@ CONFIG_TABLET_USB_AIPTEK=m CONFIG_TABLET_USB_GTCO=m CONFIG_TABLET_USB_HANWANG=m CONFIG_TABLET_USB_KBTAB=m -CONFIG_TABLET_USB_WACOM=m CONFIG_TABLET_SERIAL_WACOM4=m CONFIG_INPUT_POWERMATE=m @@ -2366,7 +2297,6 @@ CONFIG_SYNCLINK_GT=m CONFIG_N_HDLC=m CONFIG_N_GSM=m # CONFIG_TRACE_SINK is not set -# CONFIG_STALDRV is not set # CONFIG_DUMMY_IRQ is not set # CONFIG_IBM_ASM is not set CONFIG_TIFM_CORE=m @@ -2475,7 +2405,6 @@ CONFIG_I2C_ALGOPCA=m # CONFIG_I2C_I801 is not set # CONFIG_I2C_ISCH is not set # CONFIG_I2C_NFORCE2_S4985 is not set -# CONFIG_I2C_INTEL_MID is not set # CONFIG_I2C_EG20T is not set # CONFIG_I2C_CBUS_GPIO is not set CONFIG_I2C_VIPERBOARD=m @@ -2683,7 +2612,6 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 CONFIG_IIO_INTERRUPT_TRIGGER=m CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m -CONFIG_HID_SENSOR_ENUM_BASE_QUIRKS=y # CONFIG_IIO_SYSFS_TRIGGER is not set # CONFIG_AD5446 is not set # CONFIG_AD5380 is not set @@ -2901,7 +2829,6 @@ CONFIG_WM8350_WATCHDOG=m CONFIG_WM831X_WATCHDOG=m # CONFIG_MAX63XX_WATCHDOG is not set # CONFIG_DW_WATCHDOG is not set -CONFIG_W83697UG_WDT=m # CONFIG_MEN_A21_WDT is not set # CONFIG_GPIO_WATCHDOG is not set # CONFIG_XILINX_WATCHDOG is not set @@ -3007,7 +2934,6 @@ CONFIG_AGP_EFFICEON=y CONFIG_VGA_ARB=y CONFIG_VGA_ARB_MAX_GPUS=16 -# CONFIG_STUB_POULSBO is not set CONFIG_DRM=m CONFIG_DRM_LOAD_EDID_FIRMWARE=y @@ -3016,7 +2942,6 @@ CONFIG_DRM_CIRRUS_QEMU=m # do not enable on f17 or older # CONFIG_DRM_TDFX is not set # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=m -CONFIG_DRM_RADEON_KMS=y # CONFIG_DRM_RADEON_UMS is not set # CONFIG_DRM_I810 is not set # CONFIG_DRM_MGA is not set @@ -3027,14 +2952,11 @@ CONFIG_DRM_I915=m CONFIG_DRM_I915_KMS=y CONFIG_DRM_I915_FBDEV=y # CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set -# CONFIG_DRM_I915_UMS is not set CONFIG_DRM_VIA=m CONFIG_DRM_NOUVEAU=m CONFIG_NOUVEAU_DEBUG=5 CONFIG_NOUVEAU_DEBUG_DEFAULT=3 CONFIG_DRM_NOUVEAU_BACKLIGHT=y -CONFIG_DRM_NOUVEAU_DEBUG=y -# CONFIG_DRM_PSB is not set CONFIG_DRM_I2C_CH7006=m CONFIG_DRM_I2C_SIL164=m CONFIG_DRM_I2C_NXP_TDA998X=m @@ -3073,7 +2995,6 @@ CONFIG_MEDIA_CONTROLLER=y # CONFIG_MEDIA_SDR_SUPPORT is not set CONFIG_VIDEO_DEV=m # CONFIG_VIDEO_ADV_DEBUG is not set -CONFIG_VIDEO_HELPER_CHIPS_AUTO=y CONFIG_VIDEO_V4L2=y # CONFIG_VIDEO_V4L2_INT_DEVICE is not set CONFIG_VIDEO_V4L2_SUBDEV_API=y @@ -3090,13 +3011,9 @@ CONFIG_VIDEO_V4L2_SUBDEV_API=y # # Video Adapters # -CONFIG_V4L_USB_DRIVERS=y -CONFIG_VIDEO_CAPTURE_DRIVERS=y -CONFIG_V4L_PCI_DRIVERS=y CONFIG_VIDEO_AU0828=m CONFIG_VIDEO_AU0828_V4L2=y CONFIG_VIDEO_BT848=m -CONFIG_VIDEO_BT848_DVB=y CONFIG_VIDEO_BWQCAM=m CONFIG_VIDEO_SR030PC30=m CONFIG_VIDEO_NOON010PC30=m @@ -3180,14 +3097,11 @@ CONFIG_MEDIA_ATTACH=y # # V4L/DVB tuners -# Selected automatically by not setting CONFIG_MEDIA_TUNER_CUSTOMISE # -# CONFIG_MEDIA_TUNER_CUSTOMISE is not set # # Digital Video Broadcasting Devices # -CONFIG_DVB_CAPTURE_DRIVERS=y CONFIG_DVB_CORE=m CONFIG_DVB_NET=y CONFIG_DVB_MAX_ADAPTERS=8 @@ -3195,9 +3109,7 @@ CONFIG_DVB_DYNAMIC_MINORS=y # # DVB frontends -# Selected automatically by not setting CONFIG_DVB_FE_CUSTOMISE # -# CONFIG_DVB_FE_CUSTOMISE is not set # # Supported DVB bridge Modules @@ -3219,7 +3131,6 @@ CONFIG_DVB_USB_DW2102=m CONFIG_DVB_USB_FRIIO=m CONFIG_DVB_USB_EC168=m CONFIG_DVB_USB_PCTV452E=m -CONFIG_DVB_USB_IT913X=m CONFIG_DVB_USB_MXL111SF=m CONFIG_DVB_DM1105=m CONFIG_DVB_FIREDTV=m @@ -3300,7 +3211,6 @@ CONFIG_IR_RC5_DECODER=m CONFIG_IR_RC6_DECODER=m CONFIG_IR_JVC_DECODER=m CONFIG_IR_SONY_DECODER=m -CONFIG_IR_RC5_SZ_DECODER=m CONFIG_IR_SANYO_DECODER=m CONFIG_IR_SHARP_DECODER=m CONFIG_IR_MCE_KBD_DECODER=m @@ -3331,14 +3241,11 @@ CONFIG_V4L_MEM2MEM_DRIVERS=y # # Broadcom Crystal HD video decoder driver # -CONFIG_CRYSTALHD=m # # Graphics support # -CONFIG_DISPLAY_SUPPORT=m -CONFIG_VIDEO_OUTPUT_CONTROL=m CONFIG_FB=y # CONFIG_FB_FOREIGN_ENDIAN is not set @@ -3522,7 +3429,6 @@ CONFIG_SND_HDA_INPUT_JACK=y CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_CODEC_REALTEK=y -CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y CONFIG_SND_HDA_CODEC_CA0110=y CONFIG_SND_HDA_CODEC_ANALOG=y CONFIG_SND_HDA_CODEC_SIGMATEL=y @@ -3609,7 +3515,6 @@ CONFIG_USB_SUPPORT=y # CONFIG_USB_DEBUG is not set # DEPRECATED: See bug 362221. Fix udev. -# CONFIG_USB_DEVICE_CLASS is not set # @@ -3617,11 +3522,9 @@ CONFIG_USB_SUPPORT=y # # Deprecated. -# CONFIG_USB_DEVICEFS is not set CONFIG_USB_DEFAULT_PERSIST=y # CONFIG_USB_DYNAMIC_MINORS is not set -CONFIG_USB_SUSPEND=y # # USB Host Controller Drivers @@ -3648,7 +3551,6 @@ CONFIG_USB_SL811_HCD_ISO=y # CONFIG_USB_SL811_CS is not set # CONFIG_USB_R8A66597_HCD is not set CONFIG_USB_XHCI_HCD=y -# CONFIG_USB_XHCI_HCD_DEBUGGING is not set # CONFIG_USB_MAX3421_HCD is not set # @@ -3676,7 +3578,6 @@ CONFIG_USB_STORAGE_KARMA=m CONFIG_USB_STORAGE_REALTEK=m CONFIG_REALTEK_AUTOPM=y CONFIG_USB_STORAGE_ENE_UB6250=m -# CONFIG_USB_LIBUSUAL is not set CONFIG_USB_UAS=m @@ -3685,7 +3586,6 @@ CONFIG_USB_UAS=m # CONFIG_USB_HID=y -CONFIG_HID_SUPPORT=y CONFIG_HID=y CONFIG_I2C_HID=m @@ -3696,12 +3596,10 @@ CONFIG_UHID=m CONFIG_HID_PID=y CONFIG_LOGITECH_FF=y CONFIG_HID_LOGITECH_DJ=m -CONFIG_LOGIWII_FF=y CONFIG_LOGIRUMBLEPAD2_FF=y CONFIG_PANTHERLORD_FF=y CONFIG_THRUSTMASTER_FF=y CONFIG_HID_WACOM=m -CONFIG_HID_WACOM_POWER_SUPPLY=y CONFIG_ZEROPLUS_FF=y CONFIG_USB_HIDDEV=y CONFIG_USB_IDMOUSE=m @@ -3713,9 +3611,7 @@ CONFIG_LOGIWHEELS_FF=y CONFIG_HID_MAGICMOUSE=y CONFIG_HID_MULTITOUCH=m CONFIG_HID_NTRIG=y -CONFIG_HID_QUANTA=y CONFIG_HID_PRIMAX=m -CONFIG_HID_PS3REMOTE=m CONFIG_HID_PRODIKEYS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_GYRATION=m @@ -3727,7 +3623,6 @@ CONFIG_HID_PETALYNX=m CONFIG_HID_PICOLCD=m CONFIG_HID_RMI=m CONFIG_HID_ROCCAT=m -CONFIG_HID_ROCCAT_KONE=m CONFIG_HID_SAMSUNG=m CONFIG_HID_SONY=m CONFIG_SONY_FF=y @@ -3752,23 +3647,16 @@ CONFIG_HID_ELECOM=m CONFIG_HID_ELO=m CONFIG_HID_UCLOGIC=m CONFIG_HID_WALTOP=m -CONFIG_HID_ROCCAT_PYRA=m -CONFIG_HID_ROCCAT_KONEPLUS=m CONFIG_HID_ACRUX=m CONFIG_HID_ACRUX_FF=y CONFIG_HID_KEYTOUCH=m CONFIG_HID_LCPOWER=m -CONFIG_HID_LENOVO_TPKBD=m -CONFIG_HID_ROCCAT_ARVO=m -CONFIG_HID_ROCCAT_ISKU=m -CONFIG_HID_ROCCAT_KOVAPLUS=m CONFIG_HID_HOLTEK=m CONFIG_HOLTEK_FF=y CONFIG_HID_HUION=m CONFIG_HID_GT683R=m CONFIG_HID_SPEEDLINK=m CONFIG_HID_WIIMOTE=m -CONFIG_HID_WIIMOTE_EXT=y CONFIG_HID_KYE=m CONFIG_HID_SAITEK=m CONFIG_HID_TIVO=m @@ -3790,7 +3678,6 @@ CONFIG_USB_MICROTEK=m # CONFIG_USB_DSBR=m -# CONFIG_USB_ET61X251 is not set CONFIG_USB_M5602=m CONFIG_USB_STV06XX=m CONFIG_USB_GSPCA=m @@ -3844,7 +3731,6 @@ CONFIG_USB_GSPCA_SE401=m CONFIG_USB_S2255=m # CONFIG_VIDEO_SH_MOBILE_CEU is not set # CONFIG_VIDEO_SH_MOBILE_CSI2 is not set -# CONFIG_USB_SN9C102 is not set CONFIG_USB_ZR364XX=m # CONFIG_SOC_CAMERA is not set @@ -3925,9 +3811,7 @@ CONFIG_USB_SERIAL_EDGEPORT_TI=m CONFIG_USB_SERIAL_EMPEG=m # CONFIG_USB_SERIAL_F81232 is not set CONFIG_USB_SERIAL_FTDI_SIO=m -CONFIG_USB_SERIAL_FUNSOFT=m CONFIG_USB_SERIAL_GARMIN=m -CONFIG_USB_SERIAL_HP4X=m CONFIG_USB_SERIAL_IPAQ=m CONFIG_USB_SERIAL_IPW=m CONFIG_USB_SERIAL_IR=m @@ -3952,11 +3836,9 @@ CONFIG_USB_SERIAL_MCT_U232=m # CONFIG_USB_SERIAL_METRO is not set CONFIG_USB_SERIAL_MOS7720=m CONFIG_USB_SERIAL_MOS7715_PARPORT=y -# CONFIG_USB_SERIAL_ZIO is not set # CONFIG_USB_SERIAL_WISHBONE is not set # CONFIG_USB_SERIAL_ZTE is not set CONFIG_USB_SERIAL_MOS7840=m -CONFIG_USB_SERIAL_MOTOROLA=m # CONFIG_USB_SERIAL_MXUPORT is not set CONFIG_USB_SERIAL_NAVMAN=m CONFIG_USB_SERIAL_OPTION=m @@ -3964,24 +3846,19 @@ CONFIG_USB_SERIAL_OTI6858=m CONFIG_USB_SERIAL_OPTICON=m CONFIG_USB_SERIAL_OMNINET=m CONFIG_USB_SERIAL_PL2303=m -# CONFIG_USB_SERIAL_QUATECH2 is not set CONFIG_USB_SERIAL_SAFE=m CONFIG_USB_SERIAL_SAFE_PADDED=y CONFIG_USB_SERIAL_SIERRAWIRELESS=m -CONFIG_USB_SERIAL_SIEMENS_MPI=m CONFIG_USB_SERIAL_SPCP8X5=m CONFIG_USB_SERIAL_TI=m CONFIG_USB_SERIAL_VISOR=m CONFIG_USB_SERIAL_WHITEHEAT=m CONFIG_USB_SERIAL_XIRCOM=m CONFIG_USB_SERIAL_QCAUX=m -CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m CONFIG_USB_SERIAL_XSENS_MT=m CONFIG_USB_SERIAL_DEBUG=m CONFIG_USB_SERIAL_SSU100=m CONFIG_USB_SERIAL_QT2=m -CONFIG_USB_SERIAL_FLASHLOADER=m -CONFIG_USB_SERIAL_SUUNTO=m CONFIG_USB_SERIAL_CONSOLE=y CONFIG_USB_EZUSB=y @@ -4020,8 +3897,6 @@ CONFIG_USB_CXACRU=m # CONFIG_USB_CYTHERM is not set CONFIG_USB_EMI26=m CONFIG_USB_FTDI_ELAN=m -CONFIG_USB_FILE_STORAGE=m -# CONFIG_USB_FILE_STORAGE_TEST is not set # CONFIG_USB_GADGET is not set # CONFIG_USB_DWC3 is not set # CONFIG_USB_GADGETFS is not set @@ -4084,7 +3959,6 @@ CONFIG_PCF50633_GPIO=m CONFIG_INPUT_PCF50633_PMU=m CONFIG_INPUT_GPIO_ROTARY_ENCODER=m -CONFIG_MFD_SUPPORT=y CONFIG_MFD_VX855=m CONFIG_MFD_SM501=m CONFIG_MFD_SM501_GPIO=y @@ -4153,7 +4027,6 @@ CONFIG_MISC_FILESYSTEMS=y # CONFIG_EXT3_FS is not set CONFIG_EXT4_FS=y CONFIG_EXT4_USE_FOR_EXT23=y -CONFIG_EXT4_FS_XATTR=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y CONFIG_JBD2=y @@ -4362,9 +4235,7 @@ CONFIG_GFS2_FS_LOCKING_DLM=y CONFIG_UBIFS_FS=m -CONFIG_UBIFS_FS_XATTR=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set -# CONFIG_UBIFS_FS_DEBUG is not set # # Partition Types @@ -4525,7 +4396,6 @@ CONFIG_EARLY_PRINTK_DBGP=y # CONFIG_CRASH_DUMP is not set # CONFIG_CRASH is not set # CONFIG_GCOV_KERNEL is not set -# CONFIG_RAMOOPS is not set CONFIG_KGDB=y CONFIG_KGDB_SERIAL_CONSOLE=y @@ -4558,12 +4428,10 @@ CONFIG_SECURITY_SELINUX_AVC_STATS=y CONFIG_AUDIT=y CONFIG_AUDITSYSCALL=y # http://lists.fedoraproject.org/pipermail/kernel/2013-February/004125.html -CONFIG_AUDIT_LOGINUID_IMMUTABLE=y CONFIG_SECCOMP=y CONFIG_STRICT_DEVMEM=y -# CONFIG_SSBI is not set # # Cryptographic options @@ -4677,7 +4545,6 @@ CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_BACKLIGHT_LCD_SUPPORT=y CONFIG_BACKLIGHT_CLASS_DEVICE=m # CONFIG_BACKLIGHT_GENERIC is not set -CONFIG_BACKLIGHT_PROGEAR=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set # CONFIG_BACKLIGHT_LM3630 is not set @@ -4794,15 +4661,10 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y -CONFIG_CPU_FREQ_TABLE=y CONFIG_CPU_FREQ_STAT=m CONFIG_CPU_FREQ_STAT_DETAILS=y -# CONFIG_IBMTR is not set -# CONFIG_SKISA is not set -# CONFIG_PROTEON is not set -# CONFIG_SMCTR is not set # CONFIG_MOUSE_ATIXL is not set @@ -4845,15 +4707,12 @@ CONFIG_MIGRATION=y CONFIG_BOUNCE=y CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y -# CONFIG_LEDS_AMS_DELTA is not set # CONFIG_LEDS_LOCOMO is not set # CONFIG_LEDS_NET48XX is not set -# CONFIG_LEDS_NET5501 is not set # CONFIG_LEDS_PCA9532 is not set # CONFIG_LEDS_PCA955X is not set # CONFIG_LEDS_BD2802 is not set # CONFIG_LEDS_S3C24XX is not set -# CONFIG_LEDS_PCA9633 is not set CONFIG_LEDS_DELL_NETBOOKS=m # CONFIG_LEDS_TCA6507 is not set # CONFIG_LEDS_LM355x is not set @@ -4861,7 +4720,6 @@ CONFIG_LEDS_DELL_NETBOOKS=m # CONFIG_LEDS_PWM is not set # CONFIG_LEDS_LP8501 is not set # CONFIG_LEDS_PCA963X is not set -# CONFIG_LEDS_PCA9685 is not set CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=m CONFIG_LEDS_TRIGGER_ONESHOT=m @@ -4872,12 +4730,10 @@ CONFIG_LEDS_TRIGGER_BACKLIGHT=m CONFIG_LEDS_TRIGGER_DEFAULT_ON=m CONFIG_LEDS_TRIGGER_TRANSIENT=m CONFIG_LEDS_TRIGGER_CAMERA=m -CONFIG_LEDS_ALIX2=m CONFIG_LEDS_CLEVO_MAIL=m CONFIG_LEDS_INTEL_SS4200=m CONFIG_LEDS_LM3530=m # CONFIG_LEDS_LM3642 is not set -CONFIG_LEDS_LM3556=m CONFIG_LEDS_BLINKM=m CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP5521=m @@ -4939,7 +4795,6 @@ CONFIG_NO_HZ=y CONFIG_TIMER_STATS=y CONFIG_HIGH_RES_TIMERS=y CONFIG_PERF_EVENTS=y -CONFIG_PERF_COUNTERS=y # Auxillary displays CONFIG_KS0108=m @@ -4962,7 +4817,6 @@ CONFIG_APM_POWER=m # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_SBS is not set -# CONFIG_BATTERY_BQ20Z75 is not set # CONFIG_BATTERY_DS2780 is not set # CONFIG_BATTERY_BQ27x00 is not set # CONFIG_BATTERY_MAX17040 is not set @@ -5010,7 +4864,6 @@ CONFIG_LIRC_SERIAL=m CONFIG_LIRC_SERIAL_TRANSMITTER=y CONFIG_LIRC_SASEM=m CONFIG_LIRC_SIR=m -CONFIG_LIRC_TTUSBIR=m # CONFIG_SAMPLES is not set @@ -5097,31 +4950,21 @@ CONFIG_STAGING_MEDIA=y # CONFIG_DVB_AS102 is not set # CONFIG_ET131X is not set # CONFIG_SLICOSS is not set -# CONFIG_WLAGS49_H2 is not set -# CONFIG_WLAGS49_H25 is not set # CONFIG_VIDEO_DT3155 is not set # CONFIG_TI_ST is not set # CONFIG_FB_XGI is not set # CONFIG_VIDEO_GO7007 is not set # CONFIG_I2C_BCM2048 is not set # CONFIG_VIDEO_TCM825X is not set -# CONFIG_USB_MSI3101 is not set # CONFIG_DT3155 is not set -# CONFIG_W35UND is not set # CONFIG_PRISM2_USB is not set # CONFIG_ECHO is not set CONFIG_USB_ATMEL=m # CONFIG_COMEDI is not set -# CONFIG_ASUS_OLED is not set # CONFIG_PANEL is not set -# CONFIG_TRANZPORT is not set -# CONFIG_POHMELFS is not set -# CONFIG_IDE_PHISON is not set # CONFIG_LINE6_USB is not set # CONFIG_VME_BUS is not set -# CONFIG_RAR_REGISTER is not set # CONFIG_VT6656 is not set -# CONFIG_USB_SERIAL_QUATECH_USB2 is not set # Larry Finger maintains these (rhbz 913753) CONFIG_RTLLIB=m CONFIG_RTLLIB_CRYPTO_CCMP=m @@ -5130,7 +4973,6 @@ CONFIG_RTLLIB_CRYPTO_WEP=m CONFIG_RTL8192E=m # CONFIG_INPUT_GPIO is not set # CONFIG_VIDEO_CX25821 is not set -# CONFIG_R8187SE is not set # CONFIG_R8188EU is not set # Larry Finger maintains (rhbz 1113422) CONFIG_R8192EE=m @@ -5138,48 +4980,25 @@ CONFIG_R8192EE=m # CONFIG_RTL8192U is not set CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162) # CONFIG_8723AU_AP_MODE is not set -# CONFIG_8723AU_P2P is not set # CONFIG_8723AU_BT_COEXIST is not set -# CONFIG_FB_SM7XX is not set -# CONFIG_SPECTRA is not set -# CONFIG_EASYCAP is not set # CONFIG_SOLO6X10 is not set -# CONFIG_ACPI_QUICKSTART is not set # CONFIG_LTE_GDM724X is not set CONFIG_R8712U=m # Larry Finger maintains this (rhbz 699618) -# CONFIG_R8712_AP is not set -# CONFIG_ATH6K_LEGACY is not set -# CONFIG_USB_ENESTORAGE is not set # CONFIG_BCM_WIMAX is not set -# CONFIG_USB_BTMTK is not set # CONFIG_FT1000 is not set # CONFIG_SPEAKUP is not set -# CONFIG_DX_SEP is not set # CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set # CONFIG_TOUCHSCREEN_CLEARPAD_TM1217 is not set -# CONFIG_RTS_PSTOR is not set CONFIG_ALTERA_STAPL=m # CONFIG_DVB_CXD2099 is not set # CONFIG_DVB_RTL2832_SDR is not set # CONFIG_PWM_FSL_FTM is not set # CONFIG_USBIP_CORE is not set # CONFIG_INTEL_MEI is not set -# CONFIG_ZCACHE is not set -# CONFIG_RTS5139 is not set -# CONFIG_NVEC_LEDS is not set # CONFIG_VT6655 is not set -# CONFIG_RAMSTER is not set # CONFIG_USB_WPAN_HCD is not set # CONFIG_WIMAX_GDM72XX is not set # CONFIG_IPACK_BUS is not set -# CONFIG_CSR_WIFI is not set -# CONFIG_ZCACHE2 is not set -# CONFIG_NET_VENDOR_SILICOM is not set -# CONFIG_SBYPASS is not set -# CONFIG_BPCTL is not set -# CONFIG_CED1401 is not set -# CONFIG_DGRP is not set -# CONFIG_SB105X is not set # CONFIG_LUSTRE_FS is not set # CONFIG_XILLYBUS is not set # CONFIG_DGAP is not set @@ -5200,7 +5019,6 @@ CONFIG_NOP_USB_XCEIV=m # CONFIG_IMA is not set CONFIG_IMA_MEASURE_PCR_IDX=10 -CONFIG_IMA_AUDIT=y CONFIG_IMA_LSM_RULES=y # CONFIG_EVM is not set @@ -5282,7 +5100,6 @@ CONFIG_GPIO_VIPERBOARD=m # CONFIG_RADIO_MIROPCM20 is not set # CONFIG_USB_GPIO_VBUS is not set # CONFIG_GPIO_SCH is not set -# CONFIG_GPIO_LANGWELL is not set # CONFIG_GPIO_RDC321X is not set # CONFIG_GPIO_VX855 is not set # CONFIG_GPIO_PCH is not set @@ -5300,7 +5117,6 @@ CONFIG_GPIO_VIPERBOARD=m # CONFIG_GPIO_MC33880 is not set # FIXME: Why? -CONFIG_EVENT_POWER_TRACING_DEPRECATED=y CONFIG_TEST_KSTRTOX=y CONFIG_XZ_DEC=y @@ -5341,7 +5157,6 @@ CONFIG_PSTORE_RAM=m # CONFIG_SIGMA is not set -CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4 CONFIG_BCMA=m CONFIG_BCMA_BLOCKIO=y @@ -5381,10 +5196,6 @@ CONFIG_FMC_CHARDEV=m # CONFIG_MODULE_SIG is not set # CONFIG_SYSTEM_TRUSTED_KEYRING is not set # CONFIG_SYSTEM_BLACKLIST_KEYRING is not set -# CONFIG_MODULE_VERIFY_ELF is not set -# CONFIG_CRYPTO_KEY_TYPE is not set -# CONFIG_PGP_LIBRARY is not set -# CONFIG_PGP_PRELOAD is not set # CONFIG_RTC_DRV_EFI is not set # CONFIG_NET_XGENE is not set diff --git a/config-i686-PAE b/config-i686-PAE index fdc8a8bd4..eebaa6fba 100644 --- a/config-i686-PAE +++ b/config-i686-PAE @@ -1,6 +1,5 @@ # CONFIG_HIGHMEM4G is not set CONFIG_HIGHMEM64G=y -# CONFIG_OLPC_OPENFIRMWARE is not set CONFIG_XEN_DEV_EVTCHN=m CONFIG_XEN_SYS_HYPERVISOR=y diff --git a/config-nodebug b/config-nodebug index 299016139..ed6913376 100644 --- a/config-nodebug +++ b/config-nodebug @@ -31,14 +31,12 @@ CONFIG_CPUMASK_OFFSTACK=y # CONFIG_DEBUG_STACK_USAGE is not set # CONFIG_ACPI_DEBUG is not set -# CONFIG_ACPI_DEBUG_FUNC_TRACE is not set # CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_PI_LIST is not set # CONFIG_DEBUG_PAGEALLOC is not set -# CONFIG_DEBUG_WRITECOUNT is not set # CONFIG_DEBUG_OBJECTS is not set # CONFIG_DEBUG_OBJECTS_SELFTEST is not set # CONFIG_DEBUG_OBJECTS_FREE is not set @@ -53,7 +51,6 @@ CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 # CONFIG_MODULE_FORCE_UNLOAD is not set -# CONFIG_SYSCTL_SYSCALL_CHECK is not set # CONFIG_DEBUG_NOTIFIERS is not set @@ -97,7 +94,6 @@ CONFIG_PM_ADVANCED_DEBUG=y # CONFIG_CEPH_LIB_PRETTYDEBUG is not set # CONFIG_QUOTA_DEBUG is not set -CONFIG_PCI_DEFAULT_USE_CRS=y CONFIG_KGDB_KDB=y CONFIG_KDB_KEYBOARD=y diff --git a/config-powerpc-generic b/config-powerpc-generic index b11dcd0c8..bc0f9433e 100644 --- a/config-powerpc-generic +++ b/config-powerpc-generic @@ -14,7 +14,6 @@ CONFIG_TAU_AVERAGE=y # CONFIG_GEN_RTC is not set # CONFIG_GEN_RTC_X is not set CONFIG_RTC_DRV_GENERIC=y -CONFIG_PROC_DEVICETREE=y # CONFIG_CMDLINE_BOOL is not set CONFIG_ADB=y @@ -64,17 +63,14 @@ CONFIG_NVRAM=y # CONFIG_SCSI_AHA1542 is not set # CONFIG_SCSI_IN2000 is not set # CONFIG_SCSI_IPS is not set -# CONFIG_NI52 is not set # CONFIG_NI65 is not set # CONFIG_LANCE is not set # CONFIG_3C515 is not set -# CONFIG_ELPLUS is not set CONFIG_MEMORY_HOTPLUG=y # Stuff which wants bus_to_virt() or virt_to_bus() # CONFIG_BLK_CPQ_DA is not set -# CONFIG_VIDEO_STRADIS is not set # CONFIG_VIDEO_ZORAN is not set # CONFIG_ATM_HORIZON is not set # CONFIG_ATM_FIRESTREAM is not set @@ -96,7 +92,6 @@ CONFIG_PPC_MEDIA5200=y # CONFIG_PPC_LITE5200 is not set CONFIG_PPC_BESTCOMM=y CONFIG_PMAC_RACKMETER=m -CONFIG_USB_OHCI_HCD_PPC_SOC=y CONFIG_USB_OHCI_HCD_PCI=y CONFIG_USB_OHCI_HCD_PPC_OF=y CONFIG_USB_OHCI_HCD_PPC_OF_BE=y @@ -185,7 +180,6 @@ CONFIG_PATA_OF_PLATFORM=m CONFIG_USB_EHCI_HCD_PPC_OF=y # CONFIG_MPC5121_ADS is not set -# CONFIG_MPC5121_GENERIC is not set CONFIG_MTD_OF_PARTS=y # CONFIG_MTD_NAND_FSL_ELBC is not set CONFIG_THERMAL=y @@ -226,7 +220,6 @@ CONFIG_NET_VENDOR_IBM=y # CONFIG_QUICC_ENGINE is not set # CONFIG_QE_GPIO is not set -# CONFIG_MPC8xxx_GPIO is not set CONFIG_IDE_GD=y CONFIG_IDE_GD_ATA=y @@ -277,7 +270,6 @@ CONFIG_MMC_SDHCI_OF=m # CONFIG_CONSISTENT_SIZE_BOOL is not set -CONFIG_CAN_SJA1000_OF_PLATFORM=m CONFIG_PPC_EMULATED_STATS=y @@ -291,7 +283,6 @@ CONFIG_PPC_DISABLE_WERROR=y # CONFIG_XILINX_EMACLITE is not set CONFIG_GPIO_WM831X=m -# CONFIG_GPIO_LANGWELL is not set # CONFIG_GPIO_UCB1400 is not set # CONFIG_EDAC_MPC85XX is not set @@ -304,7 +295,6 @@ CONFIG_SPARSE_IRQ=y CONFIG_PATA_MACIO=y CONFIG_SERIAL_GRLIB_GAISLER_APBUART=m # CONFIG_PMIC_ADP5520 is not set -# CONFIG_MFD_88PM8607 is not set # CONFIG_MFD_MAX8997 is not set # CONFIG_MFD_TPS65910 is not set # CONFIG_MFD_TPS65912_I2C is not set @@ -313,7 +303,6 @@ CONFIG_SERIAL_GRLIB_GAISLER_APBUART=m # CONFIG_MMC_SDHCI_OF_ESDHC is not set # CONFIG_MMC_SDHCI_OF_HLWD is not set -# CONFIG_MFD_TC35892 is not set # CONFIG_MFD_AAT2870_CORE is not set # CONFIG_GPIO_SCH is not set @@ -367,10 +356,7 @@ CONFIG_PPC_DENORMALISATION=y # CONFIG_RTC_DRV_SNVS is not set # CONFIG_ASYMMETRIC_KEY_TYPE is not set -# CONFIG_OF_DISPLAY_TIMING is not set -# CONFIG_OF_VIDEOMODE is not set -# CONFIG_POWERNV_MSI is not set # CONFIG_CPU_LITTLE_ENDIAN is not set CONFIG_POWER_RESET_GPIO=y diff --git a/config-powerpc64 b/config-powerpc64 index 32c8c6024..cd0f2d38c 100644 --- a/config-powerpc64 +++ b/config-powerpc64 @@ -8,11 +8,9 @@ CONFIG_PPC_PMAC64=y CONFIG_PPC_MAPLE=y # CONFIG_PPC_CELL is not set # CONFIG_PPC_IBM_CELL_BLADE is not set -# CONFIG_PPC_ISERIES is not set CONFIG_PPC_PSERIES=y CONFIG_PPC_PMAC=y CONFIG_PPC_POWERNV=y -CONFIG_POWERNV_MSI=y CONFIG_PPC_POWERNV_RTAS=y CONFIG_SENSORS_IBMPOWERNV=y CONFIG_HW_RANDOM_POWERNV=m @@ -51,15 +49,10 @@ CONFIG_SCSI_IPR=m CONFIG_SCSI_IPR_TRACE=y CONFIG_SCSI_IPR_DUMP=y CONFIG_HVC_RTAS=y -# CONFIG_HVC_ISERIES is not set CONFIG_HVC_OPAL=y # iSeries device drivers # -# CONFIG_ISERIES_VETH is not set -CONFIG_VIODASD=m -CONFIG_VIOCD=m -CONFIG_VIOTAPE=m CONFIG_PASEMI_MAC=m CONFIG_SERIAL_OF_PLATFORM=m @@ -86,10 +79,8 @@ CONFIG_NR_CPUS=1024 # CONFIG_FB_ATY128 is not set # CONFIG_FB_ATY is not set -# CONFIG_POWER4_ONLY is not set CONFIG_RTAS_PROC=y -CONFIG_IOMMU_VMERGE=y CONFIG_NUMA=y CONFIG_NUMA_BALANCING=y CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y @@ -119,12 +110,10 @@ CONFIG_INFINIBAND_EHCA=m CONFIG_XMON_DISASSEMBLY=y -CONFIG_SCSI_IBMVSCSIS=m # CONFIG_TUNE_CELL is not set # CONFIG_BLK_DEV_PLATFORM is not set -# CONFIG_VIRQ_DEBUG is not set CONFIG_EDAC_CPC925=m CONFIG_FRAME_WARN=2048 diff --git a/config-powerpc64p7 b/config-powerpc64p7 index 48420dabd..60baede68 100644 --- a/config-powerpc64p7 +++ b/config-powerpc64p7 @@ -3,12 +3,9 @@ CONFIG_POWER7_CPU=y # CONFIG_PPC_MAPLE is not set # CONFIG_PPC_CELL is not set # CONFIG_PPC_IBM_CELL_BLADE is not set -# CONFIG_PPC_ISERIES is not set -# CONFIG_POWER3 is not set CONFIG_PPC_PSERIES=y # CONFIG_PPC_PMAC is not set CONFIG_PPC_POWERNV=y -CONFIG_POWERNV_MSI=y CONFIG_PPC_POWERNV_RTAS=y CONFIG_HW_RANDOM_POWERNV=m CONFIG_SENSORS_IBMPOWERNV=y @@ -43,15 +40,10 @@ CONFIG_SCSI_IPR=m CONFIG_SCSI_IPR_TRACE=y CONFIG_SCSI_IPR_DUMP=y CONFIG_HVC_RTAS=y -# CONFIG_HVC_ISERIES is not set CONFIG_HVC_OPAL=y # iSeries device drivers # -# CONFIG_ISERIES_VETH is not set -CONFIG_VIODASD=m -CONFIG_VIOCD=m -CONFIG_VIOTAPE=m CONFIG_SERIAL_OF_PLATFORM=m @@ -77,10 +69,8 @@ CONFIG_NR_CPUS=1024 # CONFIG_FB_ATY128 is not set # CONFIG_FB_ATY is not set -# CONFIG_POWER4_ONLY is not set CONFIG_RTAS_PROC=y -CONFIG_IOMMU_VMERGE=y CONFIG_NUMA=y CONFIG_NUMA_BALANCING=y CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y @@ -110,12 +100,10 @@ CONFIG_INFINIBAND_EHCA=m CONFIG_XMON_DISASSEMBLY=y -CONFIG_SCSI_IBMVSCSIS=m # CONFIG_TUNE_CELL is not set # CONFIG_BLK_DEV_PLATFORM is not set -# CONFIG_VIRQ_DEBUG is not set CONFIG_EDAC_CPC925=m CONFIG_FRAME_WARN=2048 diff --git a/config-s390x b/config-s390x index fe0df614b..f9472348d 100644 --- a/config-s390x +++ b/config-s390x @@ -14,7 +14,6 @@ CONFIG_HZ_100=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_LOG_BUF_SHIFT=16 -CONFIG_NO_IDLE_HZ=y # # I/O subsystem configuration @@ -25,13 +24,9 @@ CONFIG_QDIO=m # Misc # CONFIG_IPL=y -# CONFIG_IPL_TAPE is not set -CONFIG_IPL_VM=y -# CONFIG_PROCESS_DEBUG is not set CONFIG_PFAULT=y CONFIG_SHARED_KERNEL=y CONFIG_CMM=m -CONFIG_CMM_PROC=y # CONFIG_NETIUCV is not set CONFIG_SMSGIUCV=m CONFIG_CRASH_DUMP=y @@ -40,7 +35,6 @@ CONFIG_CRASH_DUMP=y # SCSI low-level drivers # CONFIG_ZFCP=m -CONFIG_ZFCPDUMP=y CONFIG_CCW=y # @@ -83,7 +77,6 @@ CONFIG_TN3270_FS=m # # S/390 tape interface support # -CONFIG_S390_TAPE_BLOCK=y # # S/390 tape hardware support @@ -149,10 +142,7 @@ CONFIG_CRYPTO_AES_S390=m # CONFIG_PACK_STACK=y CONFIG_CHECK_STACK=y -# CONFIG_WARN_STACK is not set -# CONFIG_SMALL_STACK is not set -CONFIG_ZVM_WATCHDOG=m CONFIG_DIAG288_WATCHDOG=m CONFIG_VMLOGRDR=m CONFIG_MONREADER=m @@ -171,15 +161,12 @@ CONFIG_VIRT_CPU_ACCOUNTING=y CONFIG_STACK_GUARD=256 CONFIG_CMM_IUCV=y -# CONFIG_DETECT_SOFTLOCKUP is not set CONFIG_S390_HYPFS_FS=y CONFIG_MONWRITER=m CONFIG_ZCRYPT=m -CONFIG_ZCRYPT_MONOLITHIC=y -CONFIG_S390_EXEC_PROTECT=y CONFIG_AFIUCV=m CONFIG_S390_PRNG=m @@ -218,7 +205,6 @@ CONFIG_SMSGIUCV_EVENT=m CONFIG_VMCP=y -CONFIG_ZFCP_DIF=y CONFIG_SCHED_MC=y CONFIG_SCHED_BOOK=y @@ -315,7 +301,6 @@ CONFIG_HOTPLUG_PCI_S390=y # CONFIG_FMC is not set -CONFIG_NETDEV_10000=y CONFIG_MLX4_EN=m CONFIG_MLX4_EN_DCB=y CONFIG_INFINIBAND=m diff --git a/config-x86-32-generic b/config-x86-32-generic index dac24a2c4..13e1bac70 100644 --- a/config-x86-32-generic +++ b/config-x86-32-generic @@ -2,15 +2,9 @@ # CONFIG_X86_32_NON_STANDARD is not set -# CONFIG_X86_ELAN is not set # CONFIG_X86_GOLDFISH is not set -# CONFIG_X86_NUMAQ is not set -# CONFIG_X86_SUMMIT is not set CONFIG_X86_BIGSMP=y -# CONFIG_X86_VISWS is not set # CONFIG_X86_RDC321X is not set -# CONFIG_X86_ES7000 is not set -# CONFIG_M386 is not set # CONFIG_M486 is not set # CONFIG_M586 is not set # CONFIG_M586TSC is not set @@ -89,7 +83,6 @@ CONFIG_X86_LONGRUN=y # CONFIG_X86_E_POWERSAVER is not set CONFIG_X86_HT=y -CONFIG_X86_TRAMPOLINE=y # CONFIG_4KSTACKS is not set @@ -113,7 +106,6 @@ CONFIG_SCx200_ACB=m CONFIG_PC8736x_GPIO=m # CONFIG_NSC_GPIO is not set -CONFIG_CS5535_GPIO=m CONFIG_GPIO_SCH=m CONFIG_HW_RANDOM_GEODE=m @@ -143,7 +135,6 @@ CONFIG_LBDAF=y CONFIG_OLPC=y -CONFIG_OLPC_OPENFIRMWARE=y CONFIG_BATTERY_OLPC=y CONFIG_MOUSE_PS2_OLPC=y CONFIG_OLPC_XO1_PM=y @@ -160,10 +151,8 @@ CONFIG_RCU_FANOUT=32 # CONFIG_X86_ANCIENT_MCE is not set -# CONFIG_X86_MRST is not set CONFIG_I2C_PXA=m -# CONFIG_GPIO_LANGWELL is not set # CONFIG_INTEL_TXT is not set @@ -184,7 +173,6 @@ CONFIG_POWER_RESET_GPIO=y CONFIG_MTD_OF_PARTS=y CONFIG_MTD_PHYSMAP_OF=m -CONFIG_PROC_DEVICETREE=y CONFIG_SERIAL_OF_PLATFORM=m CONFIG_SERIAL_GRLIB_GAISLER_APBUART=m # CONFIG_MMC_SDHCI_OF is not set @@ -209,7 +197,6 @@ CONFIG_BACKLIGHT_PWM=m # CONFIG_EDAC_SBRIDGE is not set -# CONFIG_X86_WANT_INTEL_MID is not set # CONFIG_OF_SELFTEST is not set # CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set # CONFIG_INPUT_GP2A is not set @@ -223,12 +210,9 @@ CONFIG_BACKLIGHT_PWM=m # CONFIG_BACKLIGHT_OT200 is not set # CONFIG_RTC_DRV_SNVS is not set # CONFIG_RTC_DRV_HYM8563 is not set -# CONFIG_OF_DISPLAY_TIMING is not set -# CONFIG_OF_VIDEOMODE is not set # CONFIG_MLX5_INFINIBAND is not set # CONFIG_PINCTRL_SINGLE is not set -# CONFIG_PINCTRL_CAPRI is not set # CONFIG_PINCTRL_MSM8X74 is not set # CONFIG_PINCTRL_BCM281XX is not set # CONFIG_PINCTRL_APQ8064 is not set diff --git a/config-x86-generic b/config-x86-generic index fb687bb2f..686972fdd 100644 --- a/config-x86-generic +++ b/config-x86-generic @@ -52,7 +52,6 @@ CONFIG_EFI_RUNTIME_MAP=y # CONFIG_FB_N411 is not set CONFIG_INTEL_IOMMU=y -CONFIG_DMAR_BROKEN_GFX_WA=y CONFIG_INTEL_IOMMU_FLOPPY_WA=y # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set CONFIG_SCSI_ADVANSYS=m @@ -71,7 +70,6 @@ CONFIG_DEBUG_STACKOVERFLOW=y CONFIG_ACPI=y CONFIG_ACPI_AC=y -# CONFIG_ACPI_ASUS is not set CONFIG_ACPI_BATTERY=y CONFIG_ACPI_BUTTON=y CONFIG_ACPI_CONTAINER=y @@ -88,7 +86,6 @@ CONFIG_ACPI_VIDEO=m CONFIG_ACPI_INITRD_TABLE_OVERRIDE=y # FIXME: Next two are deprecated. Remove them when they disappear upstream # CONFIG_ACPI_PROCFS_POWER is not set -# CONFIG_ACPI_PROC_EVENT is not set CONFIG_PNPACPI=y CONFIG_ACPI_PROCESSOR_AGGREGATOR=m CONFIG_ACPI_HED=m @@ -245,7 +242,6 @@ CONFIG_PVPANIC=m # CONFIG_TOUCHSCREEN_INTEL_MID is not set # CONFIG_SMSC37B787_WDT is not set -CONFIG_W83697HF_WDT=m CONFIG_VIA_WDT=m CONFIG_IE6XX_WDT=m @@ -269,7 +265,6 @@ CONFIG_PARAVIRT_TIME_ACCOUNTING=y # PARAVIRT_SPINLOCKS has a 5% perf hit on native hw (see kconfig) # CONFIG_PARAVIRT_SPINLOCKS is not set -CONFIG_KVM_CLOCK=y CONFIG_KVM_GUEST=y CONFIG_KVM_MMU_AUDIT=y # default $x would be nice... # CONFIG_KVM_DEBUG_FS is not set @@ -293,7 +288,6 @@ CONFIG_XEN_COMPAT_XENFS=y CONFIG_XEN_BACKEND=y CONFIG_XEN_BLKDEV_BACKEND=m CONFIG_XEN_DEBUG_FS=y -CONFIG_XEN_PLATFORM_PCI=y CONFIG_XEN_GNTDEV=m CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m CONFIG_XEN_SELFBALLOONING=y @@ -417,7 +411,6 @@ CONFIG_PCI_CNB20LE_QUIRK=y CONFIG_ACPI_EC_DEBUGFS=m # CONFIG_ACPI_APEI_ERST_DEBUG is not set -# CONFIG_ACPI_QUICKSTART is not set CONFIG_INTEL_IDLE=y diff --git a/config-x86_64-generic b/config-x86_64-generic index 2f6155f66..de4671325 100644 --- a/config-x86_64-generic +++ b/config-x86_64-generic @@ -9,7 +9,6 @@ CONFIG_GENERIC_CPU=y CONFIG_X86_UV=y CONFIG_UV_MMTIMER=m CONFIG_NUMA=y -CONFIG_K8_NUMA=y CONFIG_AMD_NUMA=y CONFIG_X86_64_ACPI_NUMA=y # CONFIG_NUMA_EMU is not set @@ -67,7 +66,6 @@ CONFIG_CRYPTO_SHA1_SSSE3=m CONFIG_CRYPTO_SHA256_SSSE3=m CONFIG_CRYPTO_SHA512_SSSE3=m CONFIG_CRYPTO_BLOWFISH_X86_64=m -CONFIG_CRYPTO_BLOWFISH_AVX2_X86_64=m CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m CONFIG_CRYPTO_CAMELLIA_X86_64=m CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m @@ -78,7 +76,6 @@ CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m CONFIG_CRYPTO_SERPENT_AVX_X86_64=m CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m -CONFIG_CRYPTO_TWOFISH_AVX2_X86_64=m CONFIG_CRYPTO_DES3_EDE_X86_64=m # staging crypto # CONFIG_CRYPTO_SKEIN is not set @@ -150,7 +147,6 @@ CONFIG_RCU_FANOUT=64 CONFIG_INTEL_TXT=y -CONFIG_GPIO_LANGWELL=y CONFIG_FUNCTION_GRAPH_TRACER=y @@ -178,10 +174,8 @@ CONFIG_MLX4_EN_DCB=y CONFIG_SFC=m CONFIG_SFC_MCDI_MON=y CONFIG_SFC_SRIOV=y -CONFIG_SFC_PTP=y CONFIG_SFC_MTD=y # Override MTD stuff because SFC_MTD needs it -CONFIG_MTD_CHAR=m CONFIG_MTD_BLOCK=m CONFIG_NO_HZ_FULL=y From e96360e1925e85d127543eed7f9e3323921344d1 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Thu, 2 Oct 2014 09:52:37 -0400 Subject: [PATCH 10/67] Linux v3.17-rc7-46-g50dddff3cb9a - Cleanup dead Kconfig symbols in config-* from Paul Bolle --- ACPI-Limit-access-to-custom_method.patch | 2 +- ARM-tegra-usb-no-reset.patch | 2 +- Add-EFI-signature-data-types.patch | 2 +- Add-an-EFI-signature-blob-parser-and-key-loader.patch | 2 +- Add-option-to-automatically-enforce-module-signature.patch | 2 +- Add-secure_modules-call.patch | 2 +- Add-sysrq-option-to-disable-secure-boot-mode.patch | 2 +- HID-wacom-Add-support-for-the-Cintiq-Companion.patch | 2 +- KEYS-Add-a-system-blacklist-keyring.patch | 2 +- KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch | 2 +- MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch | 2 +- MODSIGN-Support-not-importing-certs-from-db.patch | 2 +- PCI-Lock-down-BAR-access-when-module-security-is-ena.patch | 2 +- Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch | 2 +- Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch | 2 +- acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch | 2 +- acpi-video-Add-4-new-models-to-the-use_native_backli.patch | 2 +- acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch | 2 +- acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch | 2 +- arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch | 2 +- arm-dts-am335x-bone-common-enable-and-use-i2c2.patch | 2 +- arm-dts-am335x-bone-common-setup-default-pinmux-http.patch | 2 +- arm-dts-am335x-boneblack-add-cpu0-opp-points.patch | 2 +- arm-dts-am335x-boneblack-lcdc-add-panel-info.patch | 2 +- arm-dts-sun7i-bananapi.patch | 2 +- arm-highbank-l2-reverts.patch | 2 +- arm-i.MX6-Utilite-device-dtb.patch | 2 +- asus-wmi-Restrict-debugfs-interface-when-module-load.patch | 2 +- ath9k-rx-dma-stop-check.patch | 2 +- crash-driver.patch | 2 +- criu-no-expert.patch | 2 +- die-floppy-die.patch | 2 +- disable-i8042-check-on-apple-mac.patch | 2 +- disable-libdw-unwind-on-non-x86.patch | 2 +- drm-i915-hush-check-crtc-state.patch | 2 +- drm-vmwgfx-Fix-drm.h-include.patch | 2 +- efi-Add-EFI_SECURE_BOOT-bit.patch | 2 +- efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch | 2 +- efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch | 2 +- hibernate-Disable-in-a-signed-modules-environment.patch | 2 +- input-kill-stupid-messages.patch | 2 +- input-silence-i8042-noise.patch | 2 +- kbuild-AFTER_LINK.patch | 2 +- kernel.spec | 6 +++++- kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch | 2 +- lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch | 2 +- lis3-improve-handling-of-null-rate.patch | 2 +- no-pcspkr-modalias.patch | 2 +- perf-install-trace-event-plugins.patch | 2 +- pinctrl-pinctrl-single-must-be-initialized-early.patch | 2 +- psmouse-Add-psmouse_matches_pnp_id-helper-function.patch | 2 +- psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch | 2 +- samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch | 2 +- scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch | 2 +- silence-fbcon-logo.patch | 2 +- sources | 2 +- watchdog-Disable-watchdog-on-virtual-machines.patch | 2 +- x86-Lock-down-IO-port-access-when-module-security-is.patch | 2 +- x86-Restrict-MSR-access-when-module-loading-is-restr.patch | 2 +- 59 files changed, 63 insertions(+), 59 deletions(-) diff --git a/ACPI-Limit-access-to-custom_method.patch b/ACPI-Limit-access-to-custom_method.patch index 9d64ec33f..389bc2e27 100644 --- a/ACPI-Limit-access-to-custom_method.patch +++ b/ACPI-Limit-access-to-custom_method.patch @@ -1,4 +1,4 @@ -From dfba458265ff3aa39546a1c48b1a9f8278fb6dcd Mon Sep 17 00:00:00 2001 +From 0df2f35ab0e93ff8a39468859822a86548d91873 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Mar 2012 08:39:37 -0500 Subject: [PATCH] ACPI: Limit access to custom_method diff --git a/ARM-tegra-usb-no-reset.patch b/ARM-tegra-usb-no-reset.patch index 05430effd..ccc4d0c6b 100644 --- a/ARM-tegra-usb-no-reset.patch +++ b/ARM-tegra-usb-no-reset.patch @@ -1,4 +1,4 @@ -From 8d0de36dce188ae39a090d684b5e856f6b998676 Mon Sep 17 00:00:00 2001 +From c0d266bc33344f50b128cdc87e2ff101ccf3218b Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Thu, 3 May 2012 20:27:11 +0100 Subject: [PATCH] ARM: tegra: usb no reset diff --git a/Add-EFI-signature-data-types.patch b/Add-EFI-signature-data-types.patch index 52cb1f223..71d3e2cc5 100644 --- a/Add-EFI-signature-data-types.patch +++ b/Add-EFI-signature-data-types.patch @@ -1,4 +1,4 @@ -From 215641a5837eb4ca62e1aeea2d442f9e53cc28af Mon Sep 17 00:00:00 2001 +From 1b9577267b38725df55b9e4f567b9e20bd27e09b Mon Sep 17 00:00:00 2001 From: Dave Howells Date: Tue, 23 Oct 2012 09:30:54 -0400 Subject: [PATCH] Add EFI signature data types diff --git a/Add-an-EFI-signature-blob-parser-and-key-loader.patch b/Add-an-EFI-signature-blob-parser-and-key-loader.patch index 6206d0481..eb3da0471 100644 --- a/Add-an-EFI-signature-blob-parser-and-key-loader.patch +++ b/Add-an-EFI-signature-blob-parser-and-key-loader.patch @@ -1,4 +1,4 @@ -From b669e1337984f3193948113f12c20991ee927fc7 Mon Sep 17 00:00:00 2001 +From a533b31b50eb347b16e6b0b15c338715ea6bc54a Mon Sep 17 00:00:00 2001 From: Dave Howells Date: Tue, 23 Oct 2012 09:36:28 -0400 Subject: [PATCH] Add an EFI signature blob parser and key loader. diff --git a/Add-option-to-automatically-enforce-module-signature.patch b/Add-option-to-automatically-enforce-module-signature.patch index 5084b2790..22aae32a7 100644 --- a/Add-option-to-automatically-enforce-module-signature.patch +++ b/Add-option-to-automatically-enforce-module-signature.patch @@ -1,4 +1,4 @@ -From 759630ea5024385c087e3072a78d83099803eb1c Mon Sep 17 00:00:00 2001 +From b0baf401aff12358e8b59e75c568510097d954a0 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Aug 2013 18:36:30 -0400 Subject: [PATCH] Add option to automatically enforce module signatures when in diff --git a/Add-secure_modules-call.patch b/Add-secure_modules-call.patch index 786b888ca..4fe353522 100644 --- a/Add-secure_modules-call.patch +++ b/Add-secure_modules-call.patch @@ -1,4 +1,4 @@ -From b0684b1fc4abcc4ca5a10c8ea3f4482fd7aa8df5 Mon Sep 17 00:00:00 2001 +From 4e67d4fe737858ce5795c76dd87a183a96658df7 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Aug 2013 17:58:15 -0400 Subject: [PATCH] Add secure_modules() call diff --git a/Add-sysrq-option-to-disable-secure-boot-mode.patch b/Add-sysrq-option-to-disable-secure-boot-mode.patch index a521094ba..894a89db5 100644 --- a/Add-sysrq-option-to-disable-secure-boot-mode.patch +++ b/Add-sysrq-option-to-disable-secure-boot-mode.patch @@ -1,4 +1,4 @@ -From 9678f525eab31cf068fc0248352bee2936b9ee0c Mon Sep 17 00:00:00 2001 +From 41ea0266a4109ae7421d341b77398630de640072 Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Fri, 30 Aug 2013 09:28:51 -0400 Subject: [PATCH] Add sysrq option to disable secure boot mode diff --git a/HID-wacom-Add-support-for-the-Cintiq-Companion.patch b/HID-wacom-Add-support-for-the-Cintiq-Companion.patch index 65e33e9de..6b7cbd263 100644 --- a/HID-wacom-Add-support-for-the-Cintiq-Companion.patch +++ b/HID-wacom-Add-support-for-the-Cintiq-Companion.patch @@ -1,4 +1,4 @@ -From a8bb37b78fcbda02cd09fc2dabdb3f6366f6817d Mon Sep 17 00:00:00 2001 +From ab2394e1b1ef618d535098541ab756195ac16ff4 Mon Sep 17 00:00:00 2001 From: Benjamin Tissoires Date: Wed, 3 Sep 2014 15:43:25 -0400 Subject: [PATCH] HID: wacom: Add support for the Cintiq Companion diff --git a/KEYS-Add-a-system-blacklist-keyring.patch b/KEYS-Add-a-system-blacklist-keyring.patch index bee03505d..3b677027d 100644 --- a/KEYS-Add-a-system-blacklist-keyring.patch +++ b/KEYS-Add-a-system-blacklist-keyring.patch @@ -1,4 +1,4 @@ -From c8d8b4e270614a6aae9a961dfdd8f95a29640a11 Mon Sep 17 00:00:00 2001 +From 39cfe788622a54eb8f83ea3bf6fc3a0902f1651b Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 26 Oct 2012 12:36:24 -0400 Subject: [PATCH] KEYS: Add a system blacklist keyring diff --git a/KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch b/KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch index ba7a87195..262236731 100644 --- a/KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch +++ b/KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch @@ -1,4 +1,4 @@ -From 0fef2fc98f668d3a3c0189e7cfcdcf05010a154e Mon Sep 17 00:00:00 2001 +From d6cef257401a411d8f5a987c865919b6b1846c35 Mon Sep 17 00:00:00 2001 From: David Howells Date: Tue, 16 Sep 2014 17:29:03 +0100 Subject: [PATCH] KEYS: Reinstate EPERM for a key type name beginning with a diff --git a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch index f4ab1ef80..d36a8b901 100644 --- a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch +++ b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch @@ -1,4 +1,4 @@ -From dae51fbc07e6c4ae3d73e0107807bcbe3a81eb11 Mon Sep 17 00:00:00 2001 +From 28a45b2c5375e7d985b3bd1fe0f16e22275c36f1 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 26 Oct 2012 12:42:16 -0400 Subject: [PATCH] MODSIGN: Import certificates from UEFI Secure Boot diff --git a/MODSIGN-Support-not-importing-certs-from-db.patch b/MODSIGN-Support-not-importing-certs-from-db.patch index d5b4328d1..cffa1eb58 100644 --- a/MODSIGN-Support-not-importing-certs-from-db.patch +++ b/MODSIGN-Support-not-importing-certs-from-db.patch @@ -1,4 +1,4 @@ -From 141bfee2a9912c8f76a0180f505078046d571089 Mon Sep 17 00:00:00 2001 +From e8dde33cbc070f7e1f108e24d469ffd86e369eee Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Thu, 3 Oct 2013 10:14:23 -0400 Subject: [PATCH] MODSIGN: Support not importing certs from db diff --git a/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch b/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch index 0925f85fd..1723b1e39 100644 --- a/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch +++ b/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch @@ -1,4 +1,4 @@ -From 0904c09bfbdbda56ff2a9c8945b9cb2211457377 Mon Sep 17 00:00:00 2001 +From ea93e6a7e0c02a2226bdfdf0cde0ad7c010fa69b Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Thu, 8 Mar 2012 10:10:38 -0500 Subject: [PATCH] PCI: Lock down BAR access when module security is enabled diff --git a/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch b/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch index 6b4afeee7..b604d5021 100644 --- a/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch +++ b/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch @@ -1,4 +1,4 @@ -From e6a661968b01d672792e20abe7d3f215089539e2 Mon Sep 17 00:00:00 2001 +From c77f4b7b3eba1bfd4beb048195127fbe919bf93a Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Mar 2012 09:28:15 -0500 Subject: [PATCH] Restrict /dev/mem and /dev/kmem when module loading is diff --git a/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch b/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch index 6c6d5224c..681dc52ec 100644 --- a/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch +++ b/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch @@ -1,4 +1,4 @@ -From ff35c53a447b37a554e1386e7ca5fb843aa4266d Mon Sep 17 00:00:00 2001 +From 8f6974e97ac66eb602a0b932a0f7fe247cec39fd Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Mon, 28 Jul 2014 12:59:48 -0400 Subject: [PATCH] Revert "Revert "ACPI / video: change acpi-video diff --git a/acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch b/acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch index 3c49bf4da..11a7e0216 100644 --- a/acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch +++ b/acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch @@ -1,4 +1,4 @@ -From ce8770ac86a3935af8eb33ed5e0af2337c1da377 Mon Sep 17 00:00:00 2001 +From 4a5679eaceb68833c45119e8c1a8bf576c8373da Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Mon, 25 Jun 2012 19:57:30 -0400 Subject: [PATCH] acpi: Ignore acpi_rsdp kernel parameter when module loading diff --git a/acpi-video-Add-4-new-models-to-the-use_native_backli.patch b/acpi-video-Add-4-new-models-to-the-use_native_backli.patch index ec1a0e45f..1de316274 100644 --- a/acpi-video-Add-4-new-models-to-the-use_native_backli.patch +++ b/acpi-video-Add-4-new-models-to-the-use_native_backli.patch @@ -1,4 +1,4 @@ -From 5d0dae4c72e278d8afa0a685f74dbb1e6440f69b Mon Sep 17 00:00:00 2001 +From 965dfac8b7d7e4c4b32046c482e4bbd6b9ee136e Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 30 Apr 2014 15:24:19 +0200 Subject: [PATCH] acpi-video: Add 4 new models to the use_native_backlight dmi diff --git a/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch b/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch index a7253cd62..f01bec7c5 100644 --- a/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch +++ b/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch @@ -1,4 +1,4 @@ -From 7d128f57a5ef9cceb4229141e288450be8562a10 Mon Sep 17 00:00:00 2001 +From 20bb8936018d4690e6cb51a01a08412950804cf9 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 2 Jun 2014 17:41:10 +0200 Subject: [PATCH] acpi-video: Add use native backlight quirk for the ThinkPad diff --git a/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch b/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch index 4cc35ae9d..1376ee031 100644 --- a/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch +++ b/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch @@ -1,4 +1,4 @@ -From c51b09e2f91a9350990b152f4156521a1b189b6c Mon Sep 17 00:00:00 2001 +From 1e77ea7d8d17e5641465dce3a816c3c55741a1fe Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 2 Jun 2014 17:41:11 +0200 Subject: [PATCH] acpi-video: Add use_native_backlight quirk for HP ProBook diff --git a/arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch b/arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch index 78625e982..0ff5b3f95 100644 --- a/arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch +++ b/arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch @@ -1,4 +1,4 @@ -From b6bdc946deda3ce96ce2541b2238ec7123f16aea Mon Sep 17 00:00:00 2001 +From 04eaeb3aaad42682cdd2e196387b5c96bc9c80e7 Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Thu, 13 Mar 2014 14:18:52 -0500 Subject: [PATCH] arm: dts: am335x-bone-common: add diff --git a/arm-dts-am335x-bone-common-enable-and-use-i2c2.patch b/arm-dts-am335x-bone-common-enable-and-use-i2c2.patch index b91718e20..d6ce77cba 100644 --- a/arm-dts-am335x-bone-common-enable-and-use-i2c2.patch +++ b/arm-dts-am335x-bone-common-enable-and-use-i2c2.patch @@ -1,4 +1,4 @@ -From ac2dd832b746f42cb2133ed63e79f3cfa8c69297 Mon Sep 17 00:00:00 2001 +From ba6053802da507a31010ac8bc5920e242f777d3c Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Tue, 31 Dec 2013 11:17:45 -0600 Subject: [PATCH] arm: dts: am335x-bone-common: enable and use i2c2 diff --git a/arm-dts-am335x-bone-common-setup-default-pinmux-http.patch b/arm-dts-am335x-bone-common-setup-default-pinmux-http.patch index 11d830ca4..80447a25a 100644 --- a/arm-dts-am335x-bone-common-setup-default-pinmux-http.patch +++ b/arm-dts-am335x-bone-common-setup-default-pinmux-http.patch @@ -1,4 +1,4 @@ -From 58097bcfe543c3f163343c26f5d74a08e47ae8dd Mon Sep 17 00:00:00 2001 +From ac47bc1bb41b3b34dd83a4329115c6078d0c18d8 Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Tue, 31 Dec 2013 14:18:00 -0600 Subject: [PATCH] arm: dts: am335x-bone-common: setup default pinmux diff --git a/arm-dts-am335x-boneblack-add-cpu0-opp-points.patch b/arm-dts-am335x-boneblack-add-cpu0-opp-points.patch index 5bfe32d56..af7bb6357 100644 --- a/arm-dts-am335x-boneblack-add-cpu0-opp-points.patch +++ b/arm-dts-am335x-boneblack-add-cpu0-opp-points.patch @@ -1,4 +1,4 @@ -From 31f8fceb7ec2d3f4fe4af441111360228492914b Mon Sep 17 00:00:00 2001 +From 2fa757dff1e8ea0bb292333f4e54bc00b2ab4cb4 Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Fri, 27 Dec 2013 13:14:19 -0600 Subject: [PATCH] arm: dts: am335x-boneblack: add cpu0 opp points diff --git a/arm-dts-am335x-boneblack-lcdc-add-panel-info.patch b/arm-dts-am335x-boneblack-lcdc-add-panel-info.patch index a39dae677..441efe399 100644 --- a/arm-dts-am335x-boneblack-lcdc-add-panel-info.patch +++ b/arm-dts-am335x-boneblack-lcdc-add-panel-info.patch @@ -1,4 +1,4 @@ -From 35093fcde62202263247f82742b938699d257312 Mon Sep 17 00:00:00 2001 +From 0d8373737385fe7a545af4a19e42226439e40bd4 Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Fri, 27 Dec 2013 13:05:09 -0600 Subject: [PATCH] arm: dts: am335x-boneblack: lcdc add panel-info diff --git a/arm-dts-sun7i-bananapi.patch b/arm-dts-sun7i-bananapi.patch index 70184764a..816aa9bc8 100644 --- a/arm-dts-sun7i-bananapi.patch +++ b/arm-dts-sun7i-bananapi.patch @@ -1,4 +1,4 @@ -From b74b4496e0ece6dea6b2d00adb6366f9cedb5d47 Mon Sep 17 00:00:00 2001 +From 5c448ffefd4212aac7de1c45e9ee79b0539b94ed Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 30 Sep 2014 14:29:26 +0100 Subject: [PATCH] arm: dts sun7i bananapi diff --git a/arm-highbank-l2-reverts.patch b/arm-highbank-l2-reverts.patch index e93c6442d..d83e7fc01 100644 --- a/arm-highbank-l2-reverts.patch +++ b/arm-highbank-l2-reverts.patch @@ -1,4 +1,4 @@ -From be2dabd3c534e7665e29b6a7fcf1cd82a3a1783b Mon Sep 17 00:00:00 2001 +From 1226cde2c605454a5b43b8e1113450eb9a20104a Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Tue, 30 Sep 2014 16:19:47 -0400 Subject: [PATCH] arm: highbank l2 reverts diff --git a/arm-i.MX6-Utilite-device-dtb.patch b/arm-i.MX6-Utilite-device-dtb.patch index 4a7cb1b39..49fd665b7 100644 --- a/arm-i.MX6-Utilite-device-dtb.patch +++ b/arm-i.MX6-Utilite-device-dtb.patch @@ -1,4 +1,4 @@ -From af23548eb3b9f0576afab2ac4685eb2d35c70c40 Mon Sep 17 00:00:00 2001 +From 6e37418c4d5013a6c13ffdd4fdc3abff6b5a2abc Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Fri, 11 Jul 2014 00:10:56 +0100 Subject: [PATCH] arm: i.MX6 Utilite device dtb diff --git a/asus-wmi-Restrict-debugfs-interface-when-module-load.patch b/asus-wmi-Restrict-debugfs-interface-when-module-load.patch index e095b7942..595962883 100644 --- a/asus-wmi-Restrict-debugfs-interface-when-module-load.patch +++ b/asus-wmi-Restrict-debugfs-interface-when-module-load.patch @@ -1,4 +1,4 @@ -From 84487e5c072cb74499cc5d0dec38074dbf882d4d Mon Sep 17 00:00:00 2001 +From 2dd8b0efb47f8dfd08845e49196062d693686609 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Mar 2012 08:46:50 -0500 Subject: [PATCH] asus-wmi: Restrict debugfs interface when module loading is diff --git a/ath9k-rx-dma-stop-check.patch b/ath9k-rx-dma-stop-check.patch index 609021d55..de1b7bb26 100644 --- a/ath9k-rx-dma-stop-check.patch +++ b/ath9k-rx-dma-stop-check.patch @@ -1,4 +1,4 @@ -From 4340f00265531b5ecb2aa4c341878c2584a28036 Mon Sep 17 00:00:00 2001 +From 963b930e50d01e78b09df588d4884605111ba312 Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Wed, 6 Feb 2013 09:57:47 -0500 Subject: [PATCH] ath9k: rx dma stop check diff --git a/crash-driver.patch b/crash-driver.patch index 43f5d0e23..701f26999 100644 --- a/crash-driver.patch +++ b/crash-driver.patch @@ -1,4 +1,4 @@ -From 7ffc99dcf9e9f3812307c1db65dc5f04dd97dd0d Mon Sep 17 00:00:00 2001 +From 737906ac8f96b2d4610cbca4f25a936aca85c6c5 Mon Sep 17 00:00:00 2001 From: Dave Anderson Date: Tue, 26 Nov 2013 12:42:46 -0500 Subject: [PATCH] crash-driver diff --git a/criu-no-expert.patch b/criu-no-expert.patch index b4aa0f67e..3d01dcaa0 100644 --- a/criu-no-expert.patch +++ b/criu-no-expert.patch @@ -1,4 +1,4 @@ -From c639fc38861d9b0fec41cf9c4724034c7567a1ef Mon Sep 17 00:00:00 2001 +From a9d8abf71a1744dffdeac6d0797c0ea0dc096935 Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Wed, 30 Jan 2013 10:55:31 -0500 Subject: [PATCH] criu: no expert diff --git a/die-floppy-die.patch b/die-floppy-die.patch index 1063c224f..0ab816686 100644 --- a/die-floppy-die.patch +++ b/die-floppy-die.patch @@ -1,4 +1,4 @@ -From 2bfe90bebec2493cfd3a34995e2527469012e620 Mon Sep 17 00:00:00 2001 +From f93830e1c8d0d51cfb3ea7eb3acf0992f8810654 Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Tue, 30 Mar 2010 00:04:29 -0400 Subject: [PATCH] die-floppy-die diff --git a/disable-i8042-check-on-apple-mac.patch b/disable-i8042-check-on-apple-mac.patch index 3028a5c0a..bba3010c6 100644 --- a/disable-i8042-check-on-apple-mac.patch +++ b/disable-i8042-check-on-apple-mac.patch @@ -1,4 +1,4 @@ -From 8679b8116696e780089bd6da60bbdd92efa5437c Mon Sep 17 00:00:00 2001 +From 9f308dcb240e882eaf14cc4480be3ca63c4494ee Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Thu, 20 May 2010 10:30:31 -0400 Subject: [PATCH] disable i8042 check on apple mac diff --git a/disable-libdw-unwind-on-non-x86.patch b/disable-libdw-unwind-on-non-x86.patch index 2447bf1e5..40b20ec70 100644 --- a/disable-libdw-unwind-on-non-x86.patch +++ b/disable-libdw-unwind-on-non-x86.patch @@ -1,4 +1,4 @@ -From f391f6be0e94a80a33d2e3ece9e9b296a89ae4ef Mon Sep 17 00:00:00 2001 +From a5f456eb3df067207c123bb4961ccb82189970a7 Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Fri, 18 Apr 2014 06:58:29 -0400 Subject: [PATCH] disable libdw unwind on non-x86 diff --git a/drm-i915-hush-check-crtc-state.patch b/drm-i915-hush-check-crtc-state.patch index 10793ee03..2055af26a 100644 --- a/drm-i915-hush-check-crtc-state.patch +++ b/drm-i915-hush-check-crtc-state.patch @@ -1,4 +1,4 @@ -From 7cfc753f0b38b5347d31f09e2eb475e3fb6374fe Mon Sep 17 00:00:00 2001 +From 6de11d4f9ce4a7c79be6604fa0072fef9ee26353 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Wed, 13 Nov 2013 10:17:24 -0500 Subject: [PATCH] drm/i915: hush check crtc state diff --git a/drm-vmwgfx-Fix-drm.h-include.patch b/drm-vmwgfx-Fix-drm.h-include.patch index 4699e7746..925453be0 100644 --- a/drm-vmwgfx-Fix-drm.h-include.patch +++ b/drm-vmwgfx-Fix-drm.h-include.patch @@ -1,4 +1,4 @@ -From c738052ea5451ee572dfb4d8326e0ab4849ec0dd Mon Sep 17 00:00:00 2001 +From 07c1b7c1935d5d8989ac121f7cb7b2c0ba3f51cd Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 5 Sep 2014 13:19:59 -0400 Subject: [PATCH] drm/vmwgfx: Fix drm.h include diff --git a/efi-Add-EFI_SECURE_BOOT-bit.patch b/efi-Add-EFI_SECURE_BOOT-bit.patch index a98cc012e..c627e9614 100644 --- a/efi-Add-EFI_SECURE_BOOT-bit.patch +++ b/efi-Add-EFI_SECURE_BOOT-bit.patch @@ -1,4 +1,4 @@ -From b5216539b41791bb1082f5304e0105a9df65d386 Mon Sep 17 00:00:00 2001 +From b76b1fd3f627130ce4deb9cf18e22821641d3942 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Tue, 27 Aug 2013 13:33:03 -0400 Subject: [PATCH] efi: Add EFI_SECURE_BOOT bit diff --git a/efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch b/efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch index c13e31e1f..235c11c0d 100644 --- a/efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch +++ b/efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch @@ -1,4 +1,4 @@ -From 26e5d751544871de9b0d77c769a0f2fc8ba4ecc2 Mon Sep 17 00:00:00 2001 +From ae23a55e01db4e9e779a72f6e413ab55aace61b8 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Tue, 5 Feb 2013 19:25:05 -0500 Subject: [PATCH] efi: Disable secure boot if shim is in insecure mode diff --git a/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch b/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch index 680696b6c..ee32a298d 100644 --- a/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch +++ b/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch @@ -1,4 +1,4 @@ -From 96534d1ee2b0c866db384a46b94a479ba25c2687 Mon Sep 17 00:00:00 2001 +From a2b08624a067cdabf6f1104973c8f245869332b8 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Tue, 27 Aug 2013 13:28:43 -0400 Subject: [PATCH] efi: Make EFI_SECURE_BOOT_SIG_ENFORCE depend on EFI diff --git a/hibernate-Disable-in-a-signed-modules-environment.patch b/hibernate-Disable-in-a-signed-modules-environment.patch index f37e4fa35..6139386ec 100644 --- a/hibernate-Disable-in-a-signed-modules-environment.patch +++ b/hibernate-Disable-in-a-signed-modules-environment.patch @@ -1,4 +1,4 @@ -From 3055cf9347f028233023c5edaee95c9929af43b0 Mon Sep 17 00:00:00 2001 +From 2984d07563cb9f3677e91bc00af1a0cccd399a6a Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 20 Jun 2014 08:53:24 -0400 Subject: [PATCH] hibernate: Disable in a signed modules environment diff --git a/input-kill-stupid-messages.patch b/input-kill-stupid-messages.patch index d67f3ad6d..95400b1c8 100644 --- a/input-kill-stupid-messages.patch +++ b/input-kill-stupid-messages.patch @@ -1,4 +1,4 @@ -From e8cc1f97f22228190d9e7b3fb6af5ec38ce3bd2d Mon Sep 17 00:00:00 2001 +From 1ff3f970aedb04c4ed8167a4031bc3c205900246 Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Thu, 29 Jul 2010 16:46:31 -0700 Subject: [PATCH] input: kill stupid messages diff --git a/input-silence-i8042-noise.patch b/input-silence-i8042-noise.patch index 723c7452e..949f99f56 100644 --- a/input-silence-i8042-noise.patch +++ b/input-silence-i8042-noise.patch @@ -1,4 +1,4 @@ -From ce0a6d0f7b30c563234d72eabbb0e60ff7639a2c Mon Sep 17 00:00:00 2001 +From dea79d6ead307ed09bf96c0370b5dba6d3f6fbd4 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Thu, 25 Sep 2008 16:23:33 -0400 Subject: [PATCH] input: silence i8042 noise diff --git a/kbuild-AFTER_LINK.patch b/kbuild-AFTER_LINK.patch index 06095a6d1..a24153e71 100644 --- a/kbuild-AFTER_LINK.patch +++ b/kbuild-AFTER_LINK.patch @@ -1,4 +1,4 @@ -From f1d7c98528fbc73e95ea6c8d225bc70bd2aa0ec9 Mon Sep 17 00:00:00 2001 +From c0be326e14e73235d2bedc9a6d36903d7d3e5221 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Mon, 6 Oct 2008 23:03:03 -0700 Subject: [PATCH] kbuild: AFTER_LINK diff --git a/kernel.spec b/kernel.spec index d33ae60ce..c62d64f68 100644 --- a/kernel.spec +++ b/kernel.spec @@ -69,7 +69,7 @@ Summary: The Linux kernel # The rc snapshot level %define rcrev 7 # The git snapshot level -%define gitrev 1 +%define gitrev 2 # Set rpm version accordingly %define rpmversion 3.%{upstream_sublevel}.0 %endif @@ -2230,6 +2230,10 @@ fi # ||----w | # || || %changelog +* Thu Oct 02 2014 Josh Boyer - 3.17.0-0.rc7.git2.1 +- Linux v3.17-rc7-46-g50dddff3cb9a +- Cleanup dead Kconfig symbols in config-* from Paul Bolle + * Wed Oct 01 2014 Kyle McMartin - Update kernel-arm64.patch from git, again... enable AMD_XGBE on arm64. diff --git a/kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch b/kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch index 4c13bee8b..fa22f6efa 100644 --- a/kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch +++ b/kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch @@ -1,4 +1,4 @@ -From 6500426047325fad265a2b25f590351490c686d8 Mon Sep 17 00:00:00 2001 +From 0bf7baf77953c465de5e9325c05312d84e595f17 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Aug 2013 03:33:56 -0400 Subject: [PATCH] kexec: Disable at runtime if the kernel enforces module diff --git a/lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch b/lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch index 58deda617..07898b734 100644 --- a/lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch +++ b/lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch @@ -1,4 +1,4 @@ -From 81234cb7704a6310583d03133a439bdd3e332598 Mon Sep 17 00:00:00 2001 +From 89b36f0ed2f97cbc1ab1660932d0e898301959e6 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Mon, 11 Nov 2013 08:39:16 -0500 Subject: [PATCH] lib/cpumask: Make CPUMASK_OFFSTACK usable without debug diff --git a/lis3-improve-handling-of-null-rate.patch b/lis3-improve-handling-of-null-rate.patch index 2d1a6dab1..a1da9c540 100644 --- a/lis3-improve-handling-of-null-rate.patch +++ b/lis3-improve-handling-of-null-rate.patch @@ -1,4 +1,4 @@ -From e427953f0acc0e35683effafc6ff1f229a1d0334 Mon Sep 17 00:00:00 2001 +From 3527774e5b9940ce7e98431f694a399424f1c8eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Piel?= Date: Thu, 3 Nov 2011 16:22:40 +0100 Subject: [PATCH] lis3: improve handling of null rate diff --git a/no-pcspkr-modalias.patch b/no-pcspkr-modalias.patch index 862cd3285..9e0c3d594 100644 --- a/no-pcspkr-modalias.patch +++ b/no-pcspkr-modalias.patch @@ -1,4 +1,4 @@ -From 6eb3a4acf70957084dc7c5adcb222ca7f55ec43f Mon Sep 17 00:00:00 2001 +From 06742691c8c40e7db8df914ec6aa6f95549caa81 Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Thu, 29 Jul 2010 16:46:31 -0700 Subject: [PATCH] no pcspkr modalias diff --git a/perf-install-trace-event-plugins.patch b/perf-install-trace-event-plugins.patch index 519d681d0..7b0379b9b 100644 --- a/perf-install-trace-event-plugins.patch +++ b/perf-install-trace-event-plugins.patch @@ -1,4 +1,4 @@ -From c62e26f571c8711d99531221eb3acf9b638f27fc Mon Sep 17 00:00:00 2001 +From d69c330b7b3696cdbce25564801e92e2dbeade9f Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Mon, 2 Jun 2014 15:11:01 -0400 Subject: [PATCH] perf: install trace-event plugins diff --git a/pinctrl-pinctrl-single-must-be-initialized-early.patch b/pinctrl-pinctrl-single-must-be-initialized-early.patch index f0f4cfdd4..5499c852e 100644 --- a/pinctrl-pinctrl-single-must-be-initialized-early.patch +++ b/pinctrl-pinctrl-single-must-be-initialized-early.patch @@ -1,4 +1,4 @@ -From 4e51a4e4efac32756a13316a8c3cf2b2f3af73d5 Mon Sep 17 00:00:00 2001 +From 3b1b08d0f94aac1956d66f0b5cf920f51fd5ff85 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Sat, 15 Sep 2012 12:00:41 +0300 Subject: [PATCH] pinctrl: pinctrl-single must be initialized early. diff --git a/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch b/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch index 51cfa0b96..dc254ba25 100644 --- a/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch +++ b/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch @@ -1,4 +1,4 @@ -From ab64636e179484c3f55ea16cc0d7d9397f22dca1 Mon Sep 17 00:00:00 2001 +From 352c87e518dbc639610b02bd8b6ab40694658476 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 27 Jun 2014 18:46:42 +0200 Subject: [PATCH] psmouse: Add psmouse_matches_pnp_id helper function diff --git a/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch b/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch index 15f3509d3..76b4aec87 100644 --- a/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch +++ b/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch @@ -1,4 +1,4 @@ -From 9eb69e37e2d9f6b15e9d85d7caea88d4a931e97f Mon Sep 17 00:00:00 2001 +From 9fc3b67ff3bb93f3df924e18542d8673746a825f Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 27 Jun 2014 18:50:33 +0200 Subject: [PATCH] psmouse: Add support for detecting FocalTech PS/2 touchpads diff --git a/samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch b/samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch index 0ae71ca86..e691b000e 100644 --- a/samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch +++ b/samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch @@ -1,4 +1,4 @@ -From 2b539a008e2ba45ed756b20b5703d57eccc54ba3 Mon Sep 17 00:00:00 2001 +From e132d9c2793f639f6e3a4b71703f251c1c664188 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 2 Jun 2014 17:40:59 +0200 Subject: [PATCH] samsung-laptop: Add broken-acpi-video quirk for NC210/NC110 diff --git a/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch b/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch index 2224003bb..1fbebbfdb 100644 --- a/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch +++ b/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch @@ -1,4 +1,4 @@ -From bcf026ba3338bd79059f5102ba15e00a4a3c07ea Mon Sep 17 00:00:00 2001 +From 9df98b71a65800b7b09e8009a58d83bc534c6e61 Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Fri, 10 Feb 2012 14:56:13 -0500 Subject: [PATCH] scsi: sd_revalidate_disk prevent NULL ptr deref diff --git a/silence-fbcon-logo.patch b/silence-fbcon-logo.patch index c9b0e9a4f..9db54f0da 100644 --- a/silence-fbcon-logo.patch +++ b/silence-fbcon-logo.patch @@ -1,4 +1,4 @@ -From a33b96f8aa643a4a16407e9d0d44e6037e03e96e Mon Sep 17 00:00:00 2001 +From 3d9ce91b813b526073a21049bd9adfa0481697cc Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Thu, 29 Jul 2010 16:46:31 -0700 Subject: [PATCH] silence fbcon logo diff --git a/sources b/sources index 5dab81637..cde586ecc 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ 5c569ed649a0c9711879f333e90c5386 linux-3.16.tar.xz 49868ce6467b35cd9ffea1120d129462 perf-man-3.16.tar.gz 225ad95c519089a2f9acc503f948c11a patch-3.17-rc7.xz -637e15cb4076dd83534ac69ed4146013 patch-3.17-rc7-git1.xz +74e59cb978561769518ff21e53a5dea3 patch-3.17-rc7-git2.xz diff --git a/watchdog-Disable-watchdog-on-virtual-machines.patch b/watchdog-Disable-watchdog-on-virtual-machines.patch index 9b9123ed1..898604e25 100644 --- a/watchdog-Disable-watchdog-on-virtual-machines.patch +++ b/watchdog-Disable-watchdog-on-virtual-machines.patch @@ -1,4 +1,4 @@ -From 8ffdb1a2d80801dfeb20879cfce023dc3a9d1347 Mon Sep 17 00:00:00 2001 +From 1771140338c6669d441722ad367e2c78c6391891 Mon Sep 17 00:00:00 2001 From: Dave Jones Date: Tue, 24 Jun 2014 08:43:34 -0400 Subject: [PATCH] watchdog: Disable watchdog on virtual machines. diff --git a/x86-Lock-down-IO-port-access-when-module-security-is.patch b/x86-Lock-down-IO-port-access-when-module-security-is.patch index 41b252cc2..2b6fb493b 100644 --- a/x86-Lock-down-IO-port-access-when-module-security-is.patch +++ b/x86-Lock-down-IO-port-access-when-module-security-is.patch @@ -1,4 +1,4 @@ -From d97acfe361ef67a08dcaa06bf4b1530ad59e87a2 Mon Sep 17 00:00:00 2001 +From 10eb4afe0aefda4d8d4064c12f337c995683d413 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Thu, 8 Mar 2012 10:35:59 -0500 Subject: [PATCH] x86: Lock down IO port access when module security is enabled diff --git a/x86-Restrict-MSR-access-when-module-loading-is-restr.patch b/x86-Restrict-MSR-access-when-module-loading-is-restr.patch index 40b7d7b25..3616e51d3 100644 --- a/x86-Restrict-MSR-access-when-module-loading-is-restr.patch +++ b/x86-Restrict-MSR-access-when-module-loading-is-restr.patch @@ -1,4 +1,4 @@ -From ca054df0e1b01372a664ac5b3ad88099cecf096b Mon Sep 17 00:00:00 2001 +From 10797794eaa5239fa96ea4a471e25fea918a0767 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 8 Feb 2013 11:12:13 -0800 Subject: [PATCH] x86: Restrict MSR access when module loading is restricted From 019fb5328ee69ed0bddcd24d78a8ee742bae8f9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Thu, 2 Oct 2014 18:59:22 +0200 Subject: [PATCH 11/67] enable BPF on PPC LE (#1148933) --- config-powerpc64le | 1 - 1 file changed, 1 deletion(-) diff --git a/config-powerpc64le b/config-powerpc64le index 8fb979630..bd4d1ec80 100644 --- a/config-powerpc64le +++ b/config-powerpc64le @@ -1,5 +1,4 @@ # CONFIG_VIRTUALIZATION is not set -# CONFIG_BPF_JIT is not set CONFIG_CPU_LITTLE_ENDIAN=y # CONFIG_CARL9170 is not set From 7f07215ed8928c44a91100b17396a68d3a6266ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Thu, 2 Oct 2014 19:32:41 +0200 Subject: [PATCH 12/67] enable virtualization on PPC LE --- config-powerpc64le | 1 - 1 file changed, 1 deletion(-) diff --git a/config-powerpc64le b/config-powerpc64le index bd4d1ec80..94fbbfc61 100644 --- a/config-powerpc64le +++ b/config-powerpc64le @@ -1,4 +1,3 @@ -# CONFIG_VIRTUALIZATION is not set CONFIG_CPU_LITTLE_ENDIAN=y # CONFIG_CARL9170 is not set From f6f5459d200faf99d1750608e7efaf4a8ae682a5 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 3 Oct 2014 08:27:54 -0400 Subject: [PATCH 13/67] Disable CARL9170 on all ppc64 --- config-powerpc64 | 2 ++ config-powerpc64le | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config-powerpc64 b/config-powerpc64 index cd0f2d38c..e24be4faf 100644 --- a/config-powerpc64 +++ b/config-powerpc64 @@ -179,3 +179,5 @@ CONFIG_BPF_JIT=y # CONFIG_PPC_TRANSACTIONAL_MEM is not set # CONFIG_SND_HDA_INTEL is not set CONFIG_BLK_DEV_RSXX=m + +# CONFIG_CARL9170 is not set diff --git a/config-powerpc64le b/config-powerpc64le index 94fbbfc61..ee43fdb3b 100644 --- a/config-powerpc64le +++ b/config-powerpc64le @@ -1,3 +1 @@ CONFIG_CPU_LITTLE_ENDIAN=y - -# CONFIG_CARL9170 is not set From b25a5034bae7ef4779218d7e4eae9b95a065da04 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 3 Oct 2014 09:50:35 -0400 Subject: [PATCH 14/67] Linux v3.17-rc7-76-g58586869599f - Various ppc64/ppc64le config changes --- ACPI-Limit-access-to-custom_method.patch | 1 - ARM-tegra-usb-no-reset.patch | 1 - Add-EFI-signature-data-types.patch | 1 - Add-an-EFI-signature-blob-parser-and-key-loader.patch | 1 - Add-option-to-automatically-enforce-module-signature.patch | 1 - Add-secure_modules-call.patch | 1 - Add-sysrq-option-to-disable-secure-boot-mode.patch | 1 - HID-wacom-Add-support-for-the-Cintiq-Companion.patch | 1 - KEYS-Add-a-system-blacklist-keyring.patch | 1 - KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch | 1 - MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch | 1 - MODSIGN-Support-not-importing-certs-from-db.patch | 1 - PCI-Lock-down-BAR-access-when-module-security-is-ena.patch | 1 - Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch | 1 - Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch | 1 - acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch | 1 - acpi-video-Add-4-new-models-to-the-use_native_backli.patch | 1 - acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch | 1 - acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch | 1 - arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch | 1 - arm-dts-am335x-bone-common-enable-and-use-i2c2.patch | 1 - arm-dts-am335x-bone-common-setup-default-pinmux-http.patch | 1 - arm-dts-am335x-boneblack-add-cpu0-opp-points.patch | 1 - arm-dts-am335x-boneblack-lcdc-add-panel-info.patch | 1 - arm-dts-sun7i-bananapi.patch | 1 - arm-highbank-l2-reverts.patch | 1 - arm-i.MX6-Utilite-device-dtb.patch | 1 - asus-wmi-Restrict-debugfs-interface-when-module-load.patch | 1 - ath9k-rx-dma-stop-check.patch | 1 - crash-driver.patch | 1 - criu-no-expert.patch | 1 - die-floppy-die.patch | 1 - disable-i8042-check-on-apple-mac.patch | 1 - disable-libdw-unwind-on-non-x86.patch | 1 - drm-i915-hush-check-crtc-state.patch | 1 - drm-vmwgfx-Fix-drm.h-include.patch | 1 - efi-Add-EFI_SECURE_BOOT-bit.patch | 1 - efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch | 1 - efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch | 1 - hibernate-Disable-in-a-signed-modules-environment.patch | 1 - input-kill-stupid-messages.patch | 1 - input-silence-i8042-noise.patch | 1 - kbuild-AFTER_LINK.patch | 1 - kernel.spec | 6 +++++- kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch | 1 - lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch | 1 - lis3-improve-handling-of-null-rate.patch | 1 - no-pcspkr-modalias.patch | 1 - perf-install-trace-event-plugins.patch | 1 - pinctrl-pinctrl-single-must-be-initialized-early.patch | 1 - psmouse-Add-psmouse_matches_pnp_id-helper-function.patch | 1 - psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch | 1 - samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch | 1 - scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch | 1 - silence-fbcon-logo.patch | 1 - sources | 2 +- watchdog-Disable-watchdog-on-virtual-machines.patch | 1 - x86-Lock-down-IO-port-access-when-module-security-is.patch | 1 - x86-Restrict-MSR-access-when-module-loading-is-restr.patch | 1 - 59 files changed, 6 insertions(+), 59 deletions(-) diff --git a/ACPI-Limit-access-to-custom_method.patch b/ACPI-Limit-access-to-custom_method.patch index 389bc2e27..636c25b4c 100644 --- a/ACPI-Limit-access-to-custom_method.patch +++ b/ACPI-Limit-access-to-custom_method.patch @@ -1,4 +1,3 @@ -From 0df2f35ab0e93ff8a39468859822a86548d91873 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Mar 2012 08:39:37 -0500 Subject: [PATCH] ACPI: Limit access to custom_method diff --git a/ARM-tegra-usb-no-reset.patch b/ARM-tegra-usb-no-reset.patch index ccc4d0c6b..2f3dd6872 100644 --- a/ARM-tegra-usb-no-reset.patch +++ b/ARM-tegra-usb-no-reset.patch @@ -1,4 +1,3 @@ -From c0d266bc33344f50b128cdc87e2ff101ccf3218b Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Thu, 3 May 2012 20:27:11 +0100 Subject: [PATCH] ARM: tegra: usb no reset diff --git a/Add-EFI-signature-data-types.patch b/Add-EFI-signature-data-types.patch index 71d3e2cc5..b6df877a9 100644 --- a/Add-EFI-signature-data-types.patch +++ b/Add-EFI-signature-data-types.patch @@ -1,4 +1,3 @@ -From 1b9577267b38725df55b9e4f567b9e20bd27e09b Mon Sep 17 00:00:00 2001 From: Dave Howells Date: Tue, 23 Oct 2012 09:30:54 -0400 Subject: [PATCH] Add EFI signature data types diff --git a/Add-an-EFI-signature-blob-parser-and-key-loader.patch b/Add-an-EFI-signature-blob-parser-and-key-loader.patch index eb3da0471..e78b065cd 100644 --- a/Add-an-EFI-signature-blob-parser-and-key-loader.patch +++ b/Add-an-EFI-signature-blob-parser-and-key-loader.patch @@ -1,4 +1,3 @@ -From a533b31b50eb347b16e6b0b15c338715ea6bc54a Mon Sep 17 00:00:00 2001 From: Dave Howells Date: Tue, 23 Oct 2012 09:36:28 -0400 Subject: [PATCH] Add an EFI signature blob parser and key loader. diff --git a/Add-option-to-automatically-enforce-module-signature.patch b/Add-option-to-automatically-enforce-module-signature.patch index 22aae32a7..8e2789aae 100644 --- a/Add-option-to-automatically-enforce-module-signature.patch +++ b/Add-option-to-automatically-enforce-module-signature.patch @@ -1,4 +1,3 @@ -From b0baf401aff12358e8b59e75c568510097d954a0 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Aug 2013 18:36:30 -0400 Subject: [PATCH] Add option to automatically enforce module signatures when in diff --git a/Add-secure_modules-call.patch b/Add-secure_modules-call.patch index 4fe353522..ecf5b894f 100644 --- a/Add-secure_modules-call.patch +++ b/Add-secure_modules-call.patch @@ -1,4 +1,3 @@ -From 4e67d4fe737858ce5795c76dd87a183a96658df7 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Aug 2013 17:58:15 -0400 Subject: [PATCH] Add secure_modules() call diff --git a/Add-sysrq-option-to-disable-secure-boot-mode.patch b/Add-sysrq-option-to-disable-secure-boot-mode.patch index 894a89db5..414fe6e31 100644 --- a/Add-sysrq-option-to-disable-secure-boot-mode.patch +++ b/Add-sysrq-option-to-disable-secure-boot-mode.patch @@ -1,4 +1,3 @@ -From 41ea0266a4109ae7421d341b77398630de640072 Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Fri, 30 Aug 2013 09:28:51 -0400 Subject: [PATCH] Add sysrq option to disable secure boot mode diff --git a/HID-wacom-Add-support-for-the-Cintiq-Companion.patch b/HID-wacom-Add-support-for-the-Cintiq-Companion.patch index 6b7cbd263..276fa103f 100644 --- a/HID-wacom-Add-support-for-the-Cintiq-Companion.patch +++ b/HID-wacom-Add-support-for-the-Cintiq-Companion.patch @@ -1,4 +1,3 @@ -From ab2394e1b1ef618d535098541ab756195ac16ff4 Mon Sep 17 00:00:00 2001 From: Benjamin Tissoires Date: Wed, 3 Sep 2014 15:43:25 -0400 Subject: [PATCH] HID: wacom: Add support for the Cintiq Companion diff --git a/KEYS-Add-a-system-blacklist-keyring.patch b/KEYS-Add-a-system-blacklist-keyring.patch index 3b677027d..ca6eb84eb 100644 --- a/KEYS-Add-a-system-blacklist-keyring.patch +++ b/KEYS-Add-a-system-blacklist-keyring.patch @@ -1,4 +1,3 @@ -From 39cfe788622a54eb8f83ea3bf6fc3a0902f1651b Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 26 Oct 2012 12:36:24 -0400 Subject: [PATCH] KEYS: Add a system blacklist keyring diff --git a/KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch b/KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch index 262236731..cd141ea8d 100644 --- a/KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch +++ b/KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch @@ -1,4 +1,3 @@ -From d6cef257401a411d8f5a987c865919b6b1846c35 Mon Sep 17 00:00:00 2001 From: David Howells Date: Tue, 16 Sep 2014 17:29:03 +0100 Subject: [PATCH] KEYS: Reinstate EPERM for a key type name beginning with a diff --git a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch index d36a8b901..8aa848c1e 100644 --- a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch +++ b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch @@ -1,4 +1,3 @@ -From 28a45b2c5375e7d985b3bd1fe0f16e22275c36f1 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 26 Oct 2012 12:42:16 -0400 Subject: [PATCH] MODSIGN: Import certificates from UEFI Secure Boot diff --git a/MODSIGN-Support-not-importing-certs-from-db.patch b/MODSIGN-Support-not-importing-certs-from-db.patch index cffa1eb58..6ed99e627 100644 --- a/MODSIGN-Support-not-importing-certs-from-db.patch +++ b/MODSIGN-Support-not-importing-certs-from-db.patch @@ -1,4 +1,3 @@ -From e8dde33cbc070f7e1f108e24d469ffd86e369eee Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Thu, 3 Oct 2013 10:14:23 -0400 Subject: [PATCH] MODSIGN: Support not importing certs from db diff --git a/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch b/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch index 1723b1e39..2fc17c0b4 100644 --- a/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch +++ b/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch @@ -1,4 +1,3 @@ -From ea93e6a7e0c02a2226bdfdf0cde0ad7c010fa69b Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Thu, 8 Mar 2012 10:10:38 -0500 Subject: [PATCH] PCI: Lock down BAR access when module security is enabled diff --git a/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch b/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch index b604d5021..003bfec72 100644 --- a/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch +++ b/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch @@ -1,4 +1,3 @@ -From c77f4b7b3eba1bfd4beb048195127fbe919bf93a Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Mar 2012 09:28:15 -0500 Subject: [PATCH] Restrict /dev/mem and /dev/kmem when module loading is diff --git a/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch b/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch index 681dc52ec..0f3a70150 100644 --- a/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch +++ b/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch @@ -1,4 +1,3 @@ -From 8f6974e97ac66eb602a0b932a0f7fe247cec39fd Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Mon, 28 Jul 2014 12:59:48 -0400 Subject: [PATCH] Revert "Revert "ACPI / video: change acpi-video diff --git a/acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch b/acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch index 11a7e0216..cea06c30f 100644 --- a/acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch +++ b/acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch @@ -1,4 +1,3 @@ -From 4a5679eaceb68833c45119e8c1a8bf576c8373da Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Mon, 25 Jun 2012 19:57:30 -0400 Subject: [PATCH] acpi: Ignore acpi_rsdp kernel parameter when module loading diff --git a/acpi-video-Add-4-new-models-to-the-use_native_backli.patch b/acpi-video-Add-4-new-models-to-the-use_native_backli.patch index 1de316274..4411248f3 100644 --- a/acpi-video-Add-4-new-models-to-the-use_native_backli.patch +++ b/acpi-video-Add-4-new-models-to-the-use_native_backli.patch @@ -1,4 +1,3 @@ -From 965dfac8b7d7e4c4b32046c482e4bbd6b9ee136e Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 30 Apr 2014 15:24:19 +0200 Subject: [PATCH] acpi-video: Add 4 new models to the use_native_backlight dmi diff --git a/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch b/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch index f01bec7c5..fb77e5641 100644 --- a/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch +++ b/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch @@ -1,4 +1,3 @@ -From 20bb8936018d4690e6cb51a01a08412950804cf9 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 2 Jun 2014 17:41:10 +0200 Subject: [PATCH] acpi-video: Add use native backlight quirk for the ThinkPad diff --git a/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch b/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch index 1376ee031..33a26383b 100644 --- a/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch +++ b/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch @@ -1,4 +1,3 @@ -From 1e77ea7d8d17e5641465dce3a816c3c55741a1fe Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 2 Jun 2014 17:41:11 +0200 Subject: [PATCH] acpi-video: Add use_native_backlight quirk for HP ProBook diff --git a/arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch b/arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch index 0ff5b3f95..e95955deb 100644 --- a/arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch +++ b/arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch @@ -1,4 +1,3 @@ -From 04eaeb3aaad42682cdd2e196387b5c96bc9c80e7 Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Thu, 13 Mar 2014 14:18:52 -0500 Subject: [PATCH] arm: dts: am335x-bone-common: add diff --git a/arm-dts-am335x-bone-common-enable-and-use-i2c2.patch b/arm-dts-am335x-bone-common-enable-and-use-i2c2.patch index d6ce77cba..04efe225a 100644 --- a/arm-dts-am335x-bone-common-enable-and-use-i2c2.patch +++ b/arm-dts-am335x-bone-common-enable-and-use-i2c2.patch @@ -1,4 +1,3 @@ -From ba6053802da507a31010ac8bc5920e242f777d3c Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Tue, 31 Dec 2013 11:17:45 -0600 Subject: [PATCH] arm: dts: am335x-bone-common: enable and use i2c2 diff --git a/arm-dts-am335x-bone-common-setup-default-pinmux-http.patch b/arm-dts-am335x-bone-common-setup-default-pinmux-http.patch index 80447a25a..180055d44 100644 --- a/arm-dts-am335x-bone-common-setup-default-pinmux-http.patch +++ b/arm-dts-am335x-bone-common-setup-default-pinmux-http.patch @@ -1,4 +1,3 @@ -From ac47bc1bb41b3b34dd83a4329115c6078d0c18d8 Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Tue, 31 Dec 2013 14:18:00 -0600 Subject: [PATCH] arm: dts: am335x-bone-common: setup default pinmux diff --git a/arm-dts-am335x-boneblack-add-cpu0-opp-points.patch b/arm-dts-am335x-boneblack-add-cpu0-opp-points.patch index af7bb6357..2c10bfa4f 100644 --- a/arm-dts-am335x-boneblack-add-cpu0-opp-points.patch +++ b/arm-dts-am335x-boneblack-add-cpu0-opp-points.patch @@ -1,4 +1,3 @@ -From 2fa757dff1e8ea0bb292333f4e54bc00b2ab4cb4 Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Fri, 27 Dec 2013 13:14:19 -0600 Subject: [PATCH] arm: dts: am335x-boneblack: add cpu0 opp points diff --git a/arm-dts-am335x-boneblack-lcdc-add-panel-info.patch b/arm-dts-am335x-boneblack-lcdc-add-panel-info.patch index 441efe399..00511f50e 100644 --- a/arm-dts-am335x-boneblack-lcdc-add-panel-info.patch +++ b/arm-dts-am335x-boneblack-lcdc-add-panel-info.patch @@ -1,4 +1,3 @@ -From 0d8373737385fe7a545af4a19e42226439e40bd4 Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Fri, 27 Dec 2013 13:05:09 -0600 Subject: [PATCH] arm: dts: am335x-boneblack: lcdc add panel-info diff --git a/arm-dts-sun7i-bananapi.patch b/arm-dts-sun7i-bananapi.patch index 816aa9bc8..94cbc9eb6 100644 --- a/arm-dts-sun7i-bananapi.patch +++ b/arm-dts-sun7i-bananapi.patch @@ -1,4 +1,3 @@ -From 5c448ffefd4212aac7de1c45e9ee79b0539b94ed Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 30 Sep 2014 14:29:26 +0100 Subject: [PATCH] arm: dts sun7i bananapi diff --git a/arm-highbank-l2-reverts.patch b/arm-highbank-l2-reverts.patch index d83e7fc01..f1e6d45d3 100644 --- a/arm-highbank-l2-reverts.patch +++ b/arm-highbank-l2-reverts.patch @@ -1,4 +1,3 @@ -From 1226cde2c605454a5b43b8e1113450eb9a20104a Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Tue, 30 Sep 2014 16:19:47 -0400 Subject: [PATCH] arm: highbank l2 reverts diff --git a/arm-i.MX6-Utilite-device-dtb.patch b/arm-i.MX6-Utilite-device-dtb.patch index 49fd665b7..0354f7547 100644 --- a/arm-i.MX6-Utilite-device-dtb.patch +++ b/arm-i.MX6-Utilite-device-dtb.patch @@ -1,4 +1,3 @@ -From 6e37418c4d5013a6c13ffdd4fdc3abff6b5a2abc Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Fri, 11 Jul 2014 00:10:56 +0100 Subject: [PATCH] arm: i.MX6 Utilite device dtb diff --git a/asus-wmi-Restrict-debugfs-interface-when-module-load.patch b/asus-wmi-Restrict-debugfs-interface-when-module-load.patch index 595962883..babfe87ef 100644 --- a/asus-wmi-Restrict-debugfs-interface-when-module-load.patch +++ b/asus-wmi-Restrict-debugfs-interface-when-module-load.patch @@ -1,4 +1,3 @@ -From 2dd8b0efb47f8dfd08845e49196062d693686609 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Mar 2012 08:46:50 -0500 Subject: [PATCH] asus-wmi: Restrict debugfs interface when module loading is diff --git a/ath9k-rx-dma-stop-check.patch b/ath9k-rx-dma-stop-check.patch index de1b7bb26..32884eb65 100644 --- a/ath9k-rx-dma-stop-check.patch +++ b/ath9k-rx-dma-stop-check.patch @@ -1,4 +1,3 @@ -From 963b930e50d01e78b09df588d4884605111ba312 Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Wed, 6 Feb 2013 09:57:47 -0500 Subject: [PATCH] ath9k: rx dma stop check diff --git a/crash-driver.patch b/crash-driver.patch index 701f26999..9ec016d50 100644 --- a/crash-driver.patch +++ b/crash-driver.patch @@ -1,4 +1,3 @@ -From 737906ac8f96b2d4610cbca4f25a936aca85c6c5 Mon Sep 17 00:00:00 2001 From: Dave Anderson Date: Tue, 26 Nov 2013 12:42:46 -0500 Subject: [PATCH] crash-driver diff --git a/criu-no-expert.patch b/criu-no-expert.patch index 3d01dcaa0..c2d424e59 100644 --- a/criu-no-expert.patch +++ b/criu-no-expert.patch @@ -1,4 +1,3 @@ -From a9d8abf71a1744dffdeac6d0797c0ea0dc096935 Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Wed, 30 Jan 2013 10:55:31 -0500 Subject: [PATCH] criu: no expert diff --git a/die-floppy-die.patch b/die-floppy-die.patch index 0ab816686..b77c37a97 100644 --- a/die-floppy-die.patch +++ b/die-floppy-die.patch @@ -1,4 +1,3 @@ -From f93830e1c8d0d51cfb3ea7eb3acf0992f8810654 Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Tue, 30 Mar 2010 00:04:29 -0400 Subject: [PATCH] die-floppy-die diff --git a/disable-i8042-check-on-apple-mac.patch b/disable-i8042-check-on-apple-mac.patch index bba3010c6..73d8037f1 100644 --- a/disable-i8042-check-on-apple-mac.patch +++ b/disable-i8042-check-on-apple-mac.patch @@ -1,4 +1,3 @@ -From 9f308dcb240e882eaf14cc4480be3ca63c4494ee Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Thu, 20 May 2010 10:30:31 -0400 Subject: [PATCH] disable i8042 check on apple mac diff --git a/disable-libdw-unwind-on-non-x86.patch b/disable-libdw-unwind-on-non-x86.patch index 40b20ec70..a57c70608 100644 --- a/disable-libdw-unwind-on-non-x86.patch +++ b/disable-libdw-unwind-on-non-x86.patch @@ -1,4 +1,3 @@ -From a5f456eb3df067207c123bb4961ccb82189970a7 Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Fri, 18 Apr 2014 06:58:29 -0400 Subject: [PATCH] disable libdw unwind on non-x86 diff --git a/drm-i915-hush-check-crtc-state.patch b/drm-i915-hush-check-crtc-state.patch index 2055af26a..b4bea5f76 100644 --- a/drm-i915-hush-check-crtc-state.patch +++ b/drm-i915-hush-check-crtc-state.patch @@ -1,4 +1,3 @@ -From 6de11d4f9ce4a7c79be6604fa0072fef9ee26353 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Wed, 13 Nov 2013 10:17:24 -0500 Subject: [PATCH] drm/i915: hush check crtc state diff --git a/drm-vmwgfx-Fix-drm.h-include.patch b/drm-vmwgfx-Fix-drm.h-include.patch index 925453be0..9e6929b9d 100644 --- a/drm-vmwgfx-Fix-drm.h-include.patch +++ b/drm-vmwgfx-Fix-drm.h-include.patch @@ -1,4 +1,3 @@ -From 07c1b7c1935d5d8989ac121f7cb7b2c0ba3f51cd Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 5 Sep 2014 13:19:59 -0400 Subject: [PATCH] drm/vmwgfx: Fix drm.h include diff --git a/efi-Add-EFI_SECURE_BOOT-bit.patch b/efi-Add-EFI_SECURE_BOOT-bit.patch index c627e9614..8f49e006a 100644 --- a/efi-Add-EFI_SECURE_BOOT-bit.patch +++ b/efi-Add-EFI_SECURE_BOOT-bit.patch @@ -1,4 +1,3 @@ -From b76b1fd3f627130ce4deb9cf18e22821641d3942 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Tue, 27 Aug 2013 13:33:03 -0400 Subject: [PATCH] efi: Add EFI_SECURE_BOOT bit diff --git a/efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch b/efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch index 235c11c0d..928e1457c 100644 --- a/efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch +++ b/efi-Disable-secure-boot-if-shim-is-in-insecure-mode.patch @@ -1,4 +1,3 @@ -From ae23a55e01db4e9e779a72f6e413ab55aace61b8 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Tue, 5 Feb 2013 19:25:05 -0500 Subject: [PATCH] efi: Disable secure boot if shim is in insecure mode diff --git a/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch b/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch index ee32a298d..18d269488 100644 --- a/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch +++ b/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch @@ -1,4 +1,3 @@ -From a2b08624a067cdabf6f1104973c8f245869332b8 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Tue, 27 Aug 2013 13:28:43 -0400 Subject: [PATCH] efi: Make EFI_SECURE_BOOT_SIG_ENFORCE depend on EFI diff --git a/hibernate-Disable-in-a-signed-modules-environment.patch b/hibernate-Disable-in-a-signed-modules-environment.patch index 6139386ec..53dd6deac 100644 --- a/hibernate-Disable-in-a-signed-modules-environment.patch +++ b/hibernate-Disable-in-a-signed-modules-environment.patch @@ -1,4 +1,3 @@ -From 2984d07563cb9f3677e91bc00af1a0cccd399a6a Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 20 Jun 2014 08:53:24 -0400 Subject: [PATCH] hibernate: Disable in a signed modules environment diff --git a/input-kill-stupid-messages.patch b/input-kill-stupid-messages.patch index 95400b1c8..65a3cd688 100644 --- a/input-kill-stupid-messages.patch +++ b/input-kill-stupid-messages.patch @@ -1,4 +1,3 @@ -From 1ff3f970aedb04c4ed8167a4031bc3c205900246 Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Thu, 29 Jul 2010 16:46:31 -0700 Subject: [PATCH] input: kill stupid messages diff --git a/input-silence-i8042-noise.patch b/input-silence-i8042-noise.patch index 949f99f56..0872bc3d3 100644 --- a/input-silence-i8042-noise.patch +++ b/input-silence-i8042-noise.patch @@ -1,4 +1,3 @@ -From dea79d6ead307ed09bf96c0370b5dba6d3f6fbd4 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Thu, 25 Sep 2008 16:23:33 -0400 Subject: [PATCH] input: silence i8042 noise diff --git a/kbuild-AFTER_LINK.patch b/kbuild-AFTER_LINK.patch index a24153e71..603e0e053 100644 --- a/kbuild-AFTER_LINK.patch +++ b/kbuild-AFTER_LINK.patch @@ -1,4 +1,3 @@ -From c0be326e14e73235d2bedc9a6d36903d7d3e5221 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Mon, 6 Oct 2008 23:03:03 -0700 Subject: [PATCH] kbuild: AFTER_LINK diff --git a/kernel.spec b/kernel.spec index c62d64f68..19848f4d5 100644 --- a/kernel.spec +++ b/kernel.spec @@ -69,7 +69,7 @@ Summary: The Linux kernel # The rc snapshot level %define rcrev 7 # The git snapshot level -%define gitrev 2 +%define gitrev 3 # Set rpm version accordingly %define rpmversion 3.%{upstream_sublevel}.0 %endif @@ -2230,6 +2230,10 @@ fi # ||----w | # || || %changelog +* Fri Oct 03 2014 Josh Boyer - 3.17.0-0.rc7.git3.1 +- Linux v3.17-rc7-76-g58586869599f +- Various ppc64/ppc64le config changes + * Thu Oct 02 2014 Josh Boyer - 3.17.0-0.rc7.git2.1 - Linux v3.17-rc7-46-g50dddff3cb9a - Cleanup dead Kconfig symbols in config-* from Paul Bolle diff --git a/kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch b/kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch index fa22f6efa..b33213738 100644 --- a/kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch +++ b/kexec-Disable-at-runtime-if-the-kernel-enforces-modu.patch @@ -1,4 +1,3 @@ -From 0bf7baf77953c465de5e9325c05312d84e595f17 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 9 Aug 2013 03:33:56 -0400 Subject: [PATCH] kexec: Disable at runtime if the kernel enforces module diff --git a/lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch b/lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch index 07898b734..73eb34320 100644 --- a/lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch +++ b/lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch @@ -1,4 +1,3 @@ -From 89b36f0ed2f97cbc1ab1660932d0e898301959e6 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Mon, 11 Nov 2013 08:39:16 -0500 Subject: [PATCH] lib/cpumask: Make CPUMASK_OFFSTACK usable without debug diff --git a/lis3-improve-handling-of-null-rate.patch b/lis3-improve-handling-of-null-rate.patch index a1da9c540..e3d3f4ee2 100644 --- a/lis3-improve-handling-of-null-rate.patch +++ b/lis3-improve-handling-of-null-rate.patch @@ -1,4 +1,3 @@ -From 3527774e5b9940ce7e98431f694a399424f1c8eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Piel?= Date: Thu, 3 Nov 2011 16:22:40 +0100 Subject: [PATCH] lis3: improve handling of null rate diff --git a/no-pcspkr-modalias.patch b/no-pcspkr-modalias.patch index 9e0c3d594..15bbe14d3 100644 --- a/no-pcspkr-modalias.patch +++ b/no-pcspkr-modalias.patch @@ -1,4 +1,3 @@ -From 06742691c8c40e7db8df914ec6aa6f95549caa81 Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Thu, 29 Jul 2010 16:46:31 -0700 Subject: [PATCH] no pcspkr modalias diff --git a/perf-install-trace-event-plugins.patch b/perf-install-trace-event-plugins.patch index 7b0379b9b..9a7ad3aa3 100644 --- a/perf-install-trace-event-plugins.patch +++ b/perf-install-trace-event-plugins.patch @@ -1,4 +1,3 @@ -From d69c330b7b3696cdbce25564801e92e2dbeade9f Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Mon, 2 Jun 2014 15:11:01 -0400 Subject: [PATCH] perf: install trace-event plugins diff --git a/pinctrl-pinctrl-single-must-be-initialized-early.patch b/pinctrl-pinctrl-single-must-be-initialized-early.patch index 5499c852e..d19b75f50 100644 --- a/pinctrl-pinctrl-single-must-be-initialized-early.patch +++ b/pinctrl-pinctrl-single-must-be-initialized-early.patch @@ -1,4 +1,3 @@ -From 3b1b08d0f94aac1956d66f0b5cf920f51fd5ff85 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Sat, 15 Sep 2012 12:00:41 +0300 Subject: [PATCH] pinctrl: pinctrl-single must be initialized early. diff --git a/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch b/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch index dc254ba25..59adcedaf 100644 --- a/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch +++ b/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch @@ -1,4 +1,3 @@ -From 352c87e518dbc639610b02bd8b6ab40694658476 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 27 Jun 2014 18:46:42 +0200 Subject: [PATCH] psmouse: Add psmouse_matches_pnp_id helper function diff --git a/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch b/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch index 76b4aec87..0d0583d5f 100644 --- a/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch +++ b/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch @@ -1,4 +1,3 @@ -From 9fc3b67ff3bb93f3df924e18542d8673746a825f Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 27 Jun 2014 18:50:33 +0200 Subject: [PATCH] psmouse: Add support for detecting FocalTech PS/2 touchpads diff --git a/samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch b/samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch index e691b000e..3dd7bc143 100644 --- a/samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch +++ b/samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch @@ -1,4 +1,3 @@ -From e132d9c2793f639f6e3a4b71703f251c1c664188 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 2 Jun 2014 17:40:59 +0200 Subject: [PATCH] samsung-laptop: Add broken-acpi-video quirk for NC210/NC110 diff --git a/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch b/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch index 1fbebbfdb..9dad35ce2 100644 --- a/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch +++ b/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch @@ -1,4 +1,3 @@ -From 9df98b71a65800b7b09e8009a58d83bc534c6e61 Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Fri, 10 Feb 2012 14:56:13 -0500 Subject: [PATCH] scsi: sd_revalidate_disk prevent NULL ptr deref diff --git a/silence-fbcon-logo.patch b/silence-fbcon-logo.patch index 9db54f0da..2b907f90b 100644 --- a/silence-fbcon-logo.patch +++ b/silence-fbcon-logo.patch @@ -1,4 +1,3 @@ -From 3d9ce91b813b526073a21049bd9adfa0481697cc Mon Sep 17 00:00:00 2001 From: "kernel-team@fedoraproject.org" Date: Thu, 29 Jul 2010 16:46:31 -0700 Subject: [PATCH] silence fbcon logo diff --git a/sources b/sources index cde586ecc..c94d7b500 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ 5c569ed649a0c9711879f333e90c5386 linux-3.16.tar.xz 49868ce6467b35cd9ffea1120d129462 perf-man-3.16.tar.gz 225ad95c519089a2f9acc503f948c11a patch-3.17-rc7.xz -74e59cb978561769518ff21e53a5dea3 patch-3.17-rc7-git2.xz +c5a3bf45884d8b585f48c6ac772d8d1f patch-3.17-rc7-git3.xz diff --git a/watchdog-Disable-watchdog-on-virtual-machines.patch b/watchdog-Disable-watchdog-on-virtual-machines.patch index 898604e25..23a17c054 100644 --- a/watchdog-Disable-watchdog-on-virtual-machines.patch +++ b/watchdog-Disable-watchdog-on-virtual-machines.patch @@ -1,4 +1,3 @@ -From 1771140338c6669d441722ad367e2c78c6391891 Mon Sep 17 00:00:00 2001 From: Dave Jones Date: Tue, 24 Jun 2014 08:43:34 -0400 Subject: [PATCH] watchdog: Disable watchdog on virtual machines. diff --git a/x86-Lock-down-IO-port-access-when-module-security-is.patch b/x86-Lock-down-IO-port-access-when-module-security-is.patch index 2b6fb493b..327c65ef6 100644 --- a/x86-Lock-down-IO-port-access-when-module-security-is.patch +++ b/x86-Lock-down-IO-port-access-when-module-security-is.patch @@ -1,4 +1,3 @@ -From 10eb4afe0aefda4d8d4064c12f337c995683d413 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Thu, 8 Mar 2012 10:35:59 -0500 Subject: [PATCH] x86: Lock down IO port access when module security is enabled diff --git a/x86-Restrict-MSR-access-when-module-loading-is-restr.patch b/x86-Restrict-MSR-access-when-module-loading-is-restr.patch index 3616e51d3..f21c93821 100644 --- a/x86-Restrict-MSR-access-when-module-loading-is-restr.patch +++ b/x86-Restrict-MSR-access-when-module-loading-is-restr.patch @@ -1,4 +1,3 @@ -From 10797794eaa5239fa96ea4a471e25fea918a0767 Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Fri, 8 Feb 2013 11:12:13 -0800 Subject: [PATCH] x86: Restrict MSR access when module loading is restricted From e8a3eb7d294c94b9aba76f6f936568b65355fd2c Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Mon, 6 Oct 2014 09:00:35 -0400 Subject: [PATCH 15/67] Linux v3.17 --- KEYS-Add-a-system-blacklist-keyring.patch | 4 ++-- ...GN-Import-certificates-from-UEFI-Secure-Boot.patch | 4 ++-- criu-no-expert.patch | 6 +++--- kernel.spec | 11 +++++++---- sources | 6 ++---- 5 files changed, 16 insertions(+), 15 deletions(-) diff --git a/KEYS-Add-a-system-blacklist-keyring.patch b/KEYS-Add-a-system-blacklist-keyring.patch index ca6eb84eb..17ef25bf1 100644 --- a/KEYS-Add-a-system-blacklist-keyring.patch +++ b/KEYS-Add-a-system-blacklist-keyring.patch @@ -29,10 +29,10 @@ index 72665eb80692..2c7b80d31366 100644 + #endif /* _KEYS_SYSTEM_KEYRING_H */ diff --git a/init/Kconfig b/init/Kconfig -index e84c6423a2e5..223b1a32bbcb 100644 +index 80a6907f91c5..dfdd7f738247 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1720,6 +1720,15 @@ config SYSTEM_TRUSTED_KEYRING +@@ -1723,6 +1723,15 @@ config SYSTEM_TRUSTED_KEYRING Keys in this keyring are used by module signature checking. diff --git a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch index 8aa848c1e..a23a15cd3 100644 --- a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch +++ b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch @@ -42,10 +42,10 @@ index 41359e548bcb..db9e6118575e 100644 efi_guid_t guid; u64 table; diff --git a/init/Kconfig b/init/Kconfig -index 223b1a32bbcb..3bad458f1c68 100644 +index dfdd7f738247..3c866db603a7 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1874,6 +1874,15 @@ config MODULE_SIG_ALL +@@ -1877,6 +1877,15 @@ config MODULE_SIG_ALL comment "Do not forget to sign required modules with scripts/sign-file" depends on MODULE_SIG_FORCE && !MODULE_SIG_ALL diff --git a/criu-no-expert.patch b/criu-no-expert.patch index c2d424e59..2ac9eb04c 100644 --- a/criu-no-expert.patch +++ b/criu-no-expert.patch @@ -9,10 +9,10 @@ Upstream-status: Fedora mustard 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/init/Kconfig b/init/Kconfig -index 3bad458f1c68..aee58b9fedfc 100644 +index 3c866db603a7..bfb3c54d5286 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1147,7 +1147,7 @@ config DEBUG_BLK_CGROUP +@@ -1149,7 +1149,7 @@ config DEBUG_BLK_CGROUP endif # CGROUPS config CHECKPOINT_RESTORE @@ -21,7 +21,7 @@ index 3bad458f1c68..aee58b9fedfc 100644 default n help Enables additional kernel features in a sake of checkpoint/restore. -@@ -1158,7 +1158,7 @@ config CHECKPOINT_RESTORE +@@ -1160,7 +1160,7 @@ config CHECKPOINT_RESTORE If unsure, say N here. menuconfig NAMESPACES diff --git a/kernel.spec b/kernel.spec index 19848f4d5..53d1827c1 100644 --- a/kernel.spec +++ b/kernel.spec @@ -6,7 +6,7 @@ Summary: The Linux kernel # For a stable, released kernel, released_kernel should be 1. For rawhide # and/or a kernel built from an rc or git snapshot, released_kernel should # be 0. -%global released_kernel 0 +%global released_kernel 1 %global aarch64patches 1 @@ -48,7 +48,7 @@ Summary: The Linux kernel # base_sublevel is the kernel version we're starting with and patching # on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base, # which yields a base_sublevel of 0. -%define base_sublevel 16 +%define base_sublevel 17 ## If this is a released kernel ## %if 0%{?released_kernel} @@ -67,9 +67,9 @@ Summary: The Linux kernel # The next upstream release sublevel (base_sublevel+1) %define upstream_sublevel %(echo $((%{base_sublevel} + 1))) # The rc snapshot level -%define rcrev 7 +%define rcrev 0 # The git snapshot level -%define gitrev 3 +%define gitrev 0 # Set rpm version accordingly %define rpmversion 3.%{upstream_sublevel}.0 %endif @@ -2230,6 +2230,9 @@ fi # ||----w | # || || %changelog +* Mon Oct 06 2014 Josh Boyer - 3.17.0-1 +- Linux v3.17 + * Fri Oct 03 2014 Josh Boyer - 3.17.0-0.rc7.git3.1 - Linux v3.17-rc7-76-g58586869599f - Various ppc64/ppc64le config changes diff --git a/sources b/sources index c94d7b500..b506483dc 100644 --- a/sources +++ b/sources @@ -1,4 +1,2 @@ -5c569ed649a0c9711879f333e90c5386 linux-3.16.tar.xz -49868ce6467b35cd9ffea1120d129462 perf-man-3.16.tar.gz -225ad95c519089a2f9acc503f948c11a patch-3.17-rc7.xz -c5a3bf45884d8b585f48c6ac772d8d1f patch-3.17-rc7-git3.xz +fb30d0f29214d75cddd2faa94f73d5cf linux-3.17.tar.xz +159e969cbc27201d8e2fa0f609dc722f perf-man-3.17.tar.gz From 57378012630f19ea86356f5da9490b382ca71cf5 Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Fri, 3 Oct 2014 16:56:54 -0400 Subject: [PATCH 16/67] enable 64k pages on arm64 --- config-arm64 | 4 ++-- kernel.spec | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/config-arm64 b/config-arm64 index 0310d91c9..dcc10155c 100644 --- a/config-arm64 +++ b/config-arm64 @@ -12,8 +12,8 @@ CONFIG_ARCH_XGENE=y # CONFIG_AMBA_PL08X is not set CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y CONFIG_ARCH_REQUIRE_GPIOLIB=y -# CONFIG_ARM64_64K_PAGES is not set -CONFIG_COMPAT=y +CONFIG_ARM64_64K_PAGES=y +# CONFIG_COMPAT is not set CONFIG_BCMA_POSSIBLE=y CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 diff --git a/kernel.spec b/kernel.spec index 53d1827c1..194396c1d 100644 --- a/kernel.spec +++ b/kernel.spec @@ -2230,6 +2230,10 @@ fi # ||----w | # || || %changelog +* Mon Oct 06 2014 Kyle McMartin +- enable 64K pages on arm64... (presently) needed to boot on amd seattle + platforms due to physical memory being unreachable. + * Mon Oct 06 2014 Josh Boyer - 3.17.0-1 - Linux v3.17 From e9b747ebb7fd4e16d7ec77bccf448611b0c46a05 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Mon, 6 Oct 2014 15:59:08 -0400 Subject: [PATCH 17/67] Fixup ppc64-fixtools to apply with git-am --- ppc64-fixtools.patch | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ppc64-fixtools.patch b/ppc64-fixtools.patch index f461d298a..7bebf788a 100644 --- a/ppc64-fixtools.patch +++ b/ppc64-fixtools.patch @@ -1,3 +1,9 @@ +From: Peter Robinson +Date: Mon Oct 06 15:15:15 2014 +0100 +Subject: [Patch] ppc64-fixtools + +Build tools on ppc64le (rhbz 1138884), Some minor ppc64 cleanups + diff --git a/tools/perf/arch/powerpc/util/skip-callchain-idx.c b/tools/perf/arch/powerpc/util/skip-callchain-idx.c index a7c23a4..d73ef8b 100644 --- a/tools/perf/arch/powerpc/util/skip-callchain-idx.c From ce8e218a5e0856615ab3d25219fe73a576faa213 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Tue, 7 Oct 2014 14:08:27 -0400 Subject: [PATCH 18/67] Add patch to fix GFS2 regression (from Bob Peterson) --- ...Make-rename-not-save-dirent-location.patch | 90 +++++++++++++++++++ kernel.spec | 9 +- ppc64-fixtools.patch | 12 ++- 3 files changed, 107 insertions(+), 4 deletions(-) create mode 100644 GFS2-Make-rename-not-save-dirent-location.patch diff --git a/GFS2-Make-rename-not-save-dirent-location.patch b/GFS2-Make-rename-not-save-dirent-location.patch new file mode 100644 index 000000000..adb4e6d73 --- /dev/null +++ b/GFS2-Make-rename-not-save-dirent-location.patch @@ -0,0 +1,90 @@ +From: Bob Peterson +Date: Mon, 29 Sep 2014 08:52:04 -0400 +Subject: [PATCH] GFS2: Make rename not save dirent location + +This patch fixes a regression in the patch "GFS2: Remember directory +insert point", commit 2b47dad866d04f14c328f888ba5406057b8c7d33. +The problem had to do with the rename function: The function found +space for the new dirent, and remembered that location. But then the +old dirent was removed, which often moved the eligible location for +the renamed dirent. Putting the new dirent at the saved location +caused file system corruption. + +This patch adds a new "save_loc" variable to struct gfs2_diradd. +If 1, the dirent location is saved. If 0, the dirent location is not +saved and the buffer_head is released as per previous behavior. + +Signed-off-by: Bob Peterson +Signed-off-by: Steven Whitehouse +--- + fs/gfs2/dir.c | 9 +++++++-- + fs/gfs2/dir.h | 1 + + fs/gfs2/inode.c | 6 +++--- + 3 files changed, 11 insertions(+), 5 deletions(-) + +diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c +index 1a349f9a9685..5d4261ff5d23 100644 +--- a/fs/gfs2/dir.c ++++ b/fs/gfs2/dir.c +@@ -2100,8 +2100,13 @@ int gfs2_diradd_alloc_required(struct inode *inode, const struct qstr *name, + } + if (IS_ERR(dent)) + return PTR_ERR(dent); +- da->bh = bh; +- da->dent = dent; ++ ++ if (da->save_loc) { ++ da->bh = bh; ++ da->dent = dent; ++ } else { ++ brelse(bh); ++ } + return 0; + } + +diff --git a/fs/gfs2/dir.h b/fs/gfs2/dir.h +index 126c65dda028..e1b309c24dab 100644 +--- a/fs/gfs2/dir.h ++++ b/fs/gfs2/dir.h +@@ -23,6 +23,7 @@ struct gfs2_diradd { + unsigned nr_blocks; + struct gfs2_dirent *dent; + struct buffer_head *bh; ++ int save_loc; + }; + + extern struct inode *gfs2_dir_search(struct inode *dir, +diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c +index fc8ac2ee0667..7d2723ce067e 100644 +--- a/fs/gfs2/inode.c ++++ b/fs/gfs2/inode.c +@@ -600,7 +600,7 @@ static int gfs2_create_inode(struct inode *dir, struct dentry *dentry, + int error, free_vfs_inode = 0; + u32 aflags = 0; + unsigned blocks = 1; +- struct gfs2_diradd da = { .bh = NULL, }; ++ struct gfs2_diradd da = { .bh = NULL, .save_loc = 1, }; + + if (!name->len || name->len > GFS2_FNAMESIZE) + return -ENAMETOOLONG; +@@ -899,7 +899,7 @@ static int gfs2_link(struct dentry *old_dentry, struct inode *dir, + struct gfs2_inode *ip = GFS2_I(inode); + struct gfs2_holder ghs[2]; + struct buffer_head *dibh; +- struct gfs2_diradd da = { .bh = NULL, }; ++ struct gfs2_diradd da = { .bh = NULL, .save_loc = 1, }; + int error; + + if (S_ISDIR(inode->i_mode)) +@@ -1337,7 +1337,7 @@ static int gfs2_rename(struct inode *odir, struct dentry *odentry, + struct gfs2_rgrpd *nrgd; + unsigned int num_gh; + int dir_rename = 0; +- struct gfs2_diradd da = { .nr_blocks = 0, }; ++ struct gfs2_diradd da = { .nr_blocks = 0, .save_loc = 0, }; + unsigned int x; + int error; + +-- +1.9.3 + diff --git a/kernel.spec b/kernel.spec index 194396c1d..1955ea0b1 100644 --- a/kernel.spec +++ b/kernel.spec @@ -42,7 +42,7 @@ Summary: The Linux kernel # For non-released -rc kernels, this will be appended after the rcX and # gitX tags, so a 3 here would become part of release "0.rcX.gitX.3" # -%global baserelease 1 +%global baserelease 2 %global fedora_build %{baserelease} # base_sublevel is the kernel version we're starting with and patching @@ -625,6 +625,8 @@ Patch26028: HID-rmi-check-sanity-of-incoming-report.patch #rhbz 1145318 Patch26029: KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch +Patch26030: GFS2-Make-rename-not-save-dirent-location.patch + # git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel Patch30000: kernel-arm64.patch @@ -1362,6 +1364,8 @@ ApplyPatch HID-rmi-check-sanity-of-incoming-report.patch #rhbz 1145318 ApplyPatch KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch +ApplyPatch GFS2-Make-rename-not-save-dirent-location.patch + %if 0%{?aarch64patches} ApplyPatch kernel-arm64.patch %ifnarch aarch64 # this is stupid, but i want to notice before secondary koji does. @@ -2230,6 +2234,9 @@ fi # ||----w | # || || %changelog +* Tue Oct 07 2014 Josh Boyer +- Add patch to fix GFS2 regression (from Bob Peterson) + * Mon Oct 06 2014 Kyle McMartin - enable 64K pages on arm64... (presently) needed to boot on amd seattle platforms due to physical memory being unreachable. diff --git a/ppc64-fixtools.patch b/ppc64-fixtools.patch index 7bebf788a..f8c934ba2 100644 --- a/ppc64-fixtools.patch +++ b/ppc64-fixtools.patch @@ -1,11 +1,14 @@ From: Peter Robinson -Date: Mon Oct 06 15:15:15 2014 +0100 -Subject: [Patch] ppc64-fixtools +Date: Mon, 6 Oct 2014 15:15:15 +0100 +Subject: [PATCH] ppc64-fixtools Build tools on ppc64le (rhbz 1138884), Some minor ppc64 cleanups +--- + tools/perf/arch/powerpc/util/skip-callchain-idx.c | 1 + + 1 file changed, 1 insertion(+) diff --git a/tools/perf/arch/powerpc/util/skip-callchain-idx.c b/tools/perf/arch/powerpc/util/skip-callchain-idx.c -index a7c23a4..d73ef8b 100644 +index a7c23a4b3778..d73ef8bb08c7 100644 --- a/tools/perf/arch/powerpc/util/skip-callchain-idx.c +++ b/tools/perf/arch/powerpc/util/skip-callchain-idx.c @@ -15,6 +15,7 @@ @@ -16,3 +19,6 @@ index a7c23a4..d73ef8b 100644 /* * When saving the callchain on Power, the kernel conservatively saves +-- +1.9.3 + From da99f20f026faababa016afb0c23cc8af405f4ee Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Wed, 8 Oct 2014 12:10:10 -0400 Subject: [PATCH 19/67] Linux v3.17-2860-gef0625b70dac - Reenable debugging options. - Temporarily disable aarch64patches --- ARM-tegra-usb-no-reset.patch | 26 +-- ...tomatically-enforce-module-signature.patch | 6 +- Add-secure_modules-call.patch | 2 +- ...q-option-to-disable-secure-boot-mode.patch | 2 +- HID-rmi-check-sanity-of-incoming-report.patch | 105 ------------ ...Add-support-for-the-Cintiq-Companion.patch | 46 ----- KEYS-Add-a-system-blacklist-keyring.patch | 4 +- ...t-certificates-from-UEFI-Secure-Boot.patch | 4 +- ...PI-video-change-acpi-video-brightnes.patch | 4 +- config-arm-generic | 1 + config-arm64 | 3 + config-armv7 | 2 + config-armv7-generic | 8 +- config-generic | 26 ++- config-nodebug | 112 ++++++------- config-x86-generic | 3 +- config-x86_64-generic | 1 + crash-driver.patch | 8 +- criu-no-expert.patch | 2 +- ...ECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch | 4 +- kernel.spec | 35 ++-- ...trl-single-must-be-initialized-early.patch | 4 +- ...mouse_matches_pnp_id-helper-function.patch | 99 ----------- ...ort-for-detecting-FocalTech-PS-2-tou.patch | 157 ------------------ ...validate_disk-prevent-NULL-ptr-deref.patch | 4 +- sources | 1 + 26 files changed, 141 insertions(+), 528 deletions(-) delete mode 100644 HID-rmi-check-sanity-of-incoming-report.patch delete mode 100644 HID-wacom-Add-support-for-the-Cintiq-Companion.patch delete mode 100644 psmouse-Add-psmouse_matches_pnp_id-helper-function.patch delete mode 100644 psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch diff --git a/ARM-tegra-usb-no-reset.patch b/ARM-tegra-usb-no-reset.patch index 2f3dd6872..0d4ea9d8f 100644 --- a/ARM-tegra-usb-no-reset.patch +++ b/ARM-tegra-usb-no-reset.patch @@ -9,23 +9,23 @@ Patch for disconnect issues with storage attached to a 1 file changed, 7 insertions(+) diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index d481c99a20d7..6050143ce7ec 100644 +index 11e80ac31324..15a1c2783b91 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5036,6 +5036,13 @@ static void hub_events(void) - (u16) hub->change_bits[0], - (u16) hub->event_bits[0]); +@@ -5023,6 +5023,13 @@ static void hub_event(struct work_struct *work) + (u16) hub->change_bits[0], + (u16) hub->event_bits[0]); -+ /* Don't disconnect USB-SATA on TrimSlice */ -+ if (strcmp(dev_name(hdev->bus->controller), "tegra-ehci.0") == 0) { -+ if ((hdev->state == 7) && (hub->change_bits[0] == 0) && -+ (hub->event_bits[0] == 0x2)) -+ hub->event_bits[0] = 0; -+ } ++ /* Don't disconnect USB-SATA on TrimSlice */ ++ if (strcmp(dev_name(hdev->bus->controller), "tegra-ehci.0") == 0) { ++ if ((hdev->state == 7) && (hub->change_bits[0] == 0) && ++ (hub->event_bits[0] == 0x2)) ++ hub->event_bits[0] = 0; ++ } + - /* Lock the device, then check to see if we were - * disconnected while waiting for the lock to succeed. */ - usb_lock_device(hdev); + /* Lock the device, then check to see if we were + * disconnected while waiting for the lock to succeed. */ + usb_lock_device(hdev); -- 1.9.3 diff --git a/Add-option-to-automatically-enforce-module-signature.patch b/Add-option-to-automatically-enforce-module-signature.patch index 8e2789aae..4cce7b623 100644 --- a/Add-option-to-automatically-enforce-module-signature.patch +++ b/Add-option-to-automatically-enforce-module-signature.patch @@ -33,10 +33,10 @@ index 199f453cb4de..ec38acf00b40 100644 290/040 ALL edd_mbr_sig_buffer EDD MBR signatures 2D0/A00 ALL e820_map E820 memory map table diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 36327438caf0..61542c282e70 100644 +index e4b1f431c7ed..e12033b15d25 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -1566,6 +1566,16 @@ config EFI_MIXED +@@ -1578,6 +1578,16 @@ config EFI_MIXED If unsure, say N. @@ -163,7 +163,7 @@ index 341a73ecea2e..cca08ac450e2 100644 extern int modules_disabled; /* for sysctl */ diff --git a/kernel/module.c b/kernel/module.c -index 1f7b4664300e..866417ecc76a 100644 +index d9b88208e6eb..96078ffc846a 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -3843,6 +3843,13 @@ void module_layout(struct module *mod, diff --git a/Add-secure_modules-call.patch b/Add-secure_modules-call.patch index ecf5b894f..22326cf58 100644 --- a/Add-secure_modules-call.patch +++ b/Add-secure_modules-call.patch @@ -41,7 +41,7 @@ index 71f282a4e307..341a73ecea2e 100644 #ifdef CONFIG_SYSFS diff --git a/kernel/module.c b/kernel/module.c -index 03214bd288e9..1f7b4664300e 100644 +index 65586ffa0c98..d9b88208e6eb 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -3842,3 +3842,13 @@ void module_layout(struct module *mod, diff --git a/Add-sysrq-option-to-disable-secure-boot-mode.patch b/Add-sysrq-option-to-disable-secure-boot-mode.patch index 414fe6e31..fc59af3c1 100644 --- a/Add-sysrq-option-to-disable-secure-boot-mode.patch +++ b/Add-sysrq-option-to-disable-secure-boot-mode.patch @@ -228,7 +228,7 @@ index 379650b984f8..070f29fefdc2 100644 return 0; diff --git a/kernel/module.c b/kernel/module.c -index 866417ecc76a..d7ca95c5a349 100644 +index 96078ffc846a..965d876de799 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -108,9 +108,9 @@ struct list_head *kdb_modules = &modules; /* kdb needs the list of modules */ diff --git a/HID-rmi-check-sanity-of-incoming-report.patch b/HID-rmi-check-sanity-of-incoming-report.patch deleted file mode 100644 index f3d0b6e08..000000000 --- a/HID-rmi-check-sanity-of-incoming-report.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 5b65c2a0296644dd3dbdd590d6f00174d18c96b3 Mon Sep 17 00:00:00 2001 -From: Benjamin Tissoires -Date: Wed, 10 Sep 2014 18:02:37 -0700 -Subject: HID: rmi: check sanity of the incoming report - -In the Dell XPS 13 9333, it appears that sometimes the bus get confused -and corrupts the incoming data. It fills the input report with the -sentinel value "ff". Synaptics told us that such behavior does not comes -from the touchpad itself, so we filter out such reports here. - -Unfortunately, we can not simply discard the incoming data because they -may contain useful information. Most of the time, the misbehavior is -quite near the end of the report, so we can still use the valid part of -it. - -Fixes: -https://bugzilla.redhat.com/show_bug.cgi?id=1123584 - -Signed-off-by: Benjamin Tissoires -Signed-off-by: Andrew Duggan -Signed-off-by: Jiri Kosina - -diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c -index 8389e81..3cccff7 100644 ---- a/drivers/hid/hid-rmi.c -+++ b/drivers/hid/hid-rmi.c -@@ -320,10 +320,7 @@ static int rmi_f11_input_event(struct hid_device *hdev, u8 irq, u8 *data, - int offset; - int i; - -- if (size < hdata->f11.report_size) -- return 0; -- -- if (!(irq & hdata->f11.irq_mask)) -+ if (!(irq & hdata->f11.irq_mask) || size <= 0) - return 0; - - offset = (hdata->max_fingers >> 2) + 1; -@@ -332,9 +329,19 @@ static int rmi_f11_input_event(struct hid_device *hdev, u8 irq, u8 *data, - int fs_bit_position = (i & 0x3) << 1; - int finger_state = (data[fs_byte_position] >> fs_bit_position) & - 0x03; -+ int position = offset + 5 * i; -+ -+ if (position + 5 > size) { -+ /* partial report, go on with what we received */ -+ printk_once(KERN_WARNING -+ "%s %s: Detected incomplete finger report. Finger reports may occasionally get dropped on this platform.\n", -+ dev_driver_string(&hdev->dev), -+ dev_name(&hdev->dev)); -+ hid_dbg(hdev, "Incomplete finger report\n"); -+ break; -+ } - -- rmi_f11_process_touch(hdata, i, finger_state, -- &data[offset + 5 * i]); -+ rmi_f11_process_touch(hdata, i, finger_state, &data[position]); - } - input_mt_sync_frame(hdata->input); - input_sync(hdata->input); -@@ -352,6 +359,11 @@ static int rmi_f30_input_event(struct hid_device *hdev, u8 irq, u8 *data, - if (!(irq & hdata->f30.irq_mask)) - return 0; - -+ if (size < (int)hdata->f30.report_size) { -+ hid_warn(hdev, "Click Button pressed, but the click data is missing\n"); -+ return 0; -+ } -+ - for (i = 0; i < hdata->gpio_led_count; i++) { - if (test_bit(i, &hdata->button_mask)) { - value = (data[i / 8] >> (i & 0x07)) & BIT(0); -@@ -412,9 +424,29 @@ static int rmi_read_data_event(struct hid_device *hdev, u8 *data, int size) - return 1; - } - -+static int rmi_check_sanity(struct hid_device *hdev, u8 *data, int size) -+{ -+ int valid_size = size; -+ /* -+ * On the Dell XPS 13 9333, the bus sometimes get confused and fills -+ * the report with a sentinel value "ff". Synaptics told us that such -+ * behavior does not comes from the touchpad itself, so we filter out -+ * such reports here. -+ */ -+ -+ while ((data[valid_size - 1] == 0xff) && valid_size > 0) -+ valid_size--; -+ -+ return valid_size; -+} -+ - static int rmi_raw_event(struct hid_device *hdev, - struct hid_report *report, u8 *data, int size) - { -+ size = rmi_check_sanity(hdev, data, size); -+ if (size < 2) -+ return 0; -+ - switch (data[0]) { - case RMI_READ_DATA_REPORT_ID: - return rmi_read_data_event(hdev, data, size); --- -cgit v0.10.1 - diff --git a/HID-wacom-Add-support-for-the-Cintiq-Companion.patch b/HID-wacom-Add-support-for-the-Cintiq-Companion.patch deleted file mode 100644 index 276fa103f..000000000 --- a/HID-wacom-Add-support-for-the-Cintiq-Companion.patch +++ /dev/null @@ -1,46 +0,0 @@ -From: Benjamin Tissoires -Date: Wed, 3 Sep 2014 15:43:25 -0400 -Subject: [PATCH] HID: wacom: Add support for the Cintiq Companion - -The Wacom Cintiq Companion shares the same sensor than the Cintiq -Companion Hybrid, with the exception of the different PIDs. - -Bugzilla: 1134969 -Upstream-status: Queued for 3.18 - -Signed-off-by: Benjamin Tissoires ---- - drivers/hid/wacom_wac.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c -index aa6a08eb7ad6..c3cbbfb5811f 100644 ---- a/drivers/hid/wacom_wac.c -+++ b/drivers/hid/wacom_wac.c -@@ -2573,6 +2573,14 @@ static const struct wacom_features wacom_features_0x309 = - { "Wacom ISDv5 309", .type = WACOM_24HDT, /* Touch */ - .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x0307, .touch_max = 10, - .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE }; -+static const struct wacom_features wacom_features_0x30A = -+ { "Wacom ISDv5 30A", 59352, 33648, 2047, 63, -+ CINTIQ_HYBRID, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 200, 200, -+ .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x30C }; -+static const struct wacom_features wacom_features_0x30C = -+ { "Wacom ISDv5 30C", .type = WACOM_24HDT, /* Touch */ -+ .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x30A, .touch_max = 10, -+ .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE }; - - #define USB_DEVICE_WACOM(prod) \ - HID_DEVICE(BUS_USB, HID_GROUP_WACOM, USB_VENDOR_ID_WACOM, prod),\ -@@ -2708,6 +2716,8 @@ const struct hid_device_id wacom_ids[] = { - { USB_DEVICE_WACOM(0x304) }, - { USB_DEVICE_WACOM(0x307) }, - { USB_DEVICE_WACOM(0x309) }, -+ { USB_DEVICE_WACOM(0x30A) }, -+ { USB_DEVICE_WACOM(0x30C) }, - { USB_DEVICE_WACOM(0x30E) }, - { USB_DEVICE_WACOM(0x314) }, - { USB_DEVICE_WACOM(0x315) }, --- -1.9.3 - diff --git a/KEYS-Add-a-system-blacklist-keyring.patch b/KEYS-Add-a-system-blacklist-keyring.patch index 17ef25bf1..7bbda8d5e 100644 --- a/KEYS-Add-a-system-blacklist-keyring.patch +++ b/KEYS-Add-a-system-blacklist-keyring.patch @@ -29,10 +29,10 @@ index 72665eb80692..2c7b80d31366 100644 + #endif /* _KEYS_SYSTEM_KEYRING_H */ diff --git a/init/Kconfig b/init/Kconfig -index 80a6907f91c5..dfdd7f738247 100644 +index e25a82a291a6..2d90498c77d7 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1723,6 +1723,15 @@ config SYSTEM_TRUSTED_KEYRING +@@ -1733,6 +1733,15 @@ config SYSTEM_TRUSTED_KEYRING Keys in this keyring are used by module signature checking. diff --git a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch index a23a15cd3..d0e8c1d86 100644 --- a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch +++ b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch @@ -42,10 +42,10 @@ index 41359e548bcb..db9e6118575e 100644 efi_guid_t guid; u64 table; diff --git a/init/Kconfig b/init/Kconfig -index dfdd7f738247..3c866db603a7 100644 +index 2d90498c77d7..5e701ec1be55 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1877,6 +1877,15 @@ config MODULE_SIG_ALL +@@ -1887,6 +1887,15 @@ config MODULE_SIG_ALL comment "Do not forget to sign required modules with scripts/sign-file" depends on MODULE_SIG_FORCE && !MODULE_SIG_ALL diff --git a/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch b/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch index 0f3a70150..f728b9342 100644 --- a/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch +++ b/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch @@ -15,10 +15,10 @@ Signed-off-by: Josh Boyer 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt -index 10d51c2f10d7..5b6ebe8b519e 100644 +index d9a452e8fb9b..b3400aafe446 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt -@@ -3596,7 +3596,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. +@@ -3618,7 +3618,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. the allocated input device; If set to 0, video driver will only send out the event without touching backlight brightness level. diff --git a/config-arm-generic b/config-arm-generic index 1f07efa9b..dc561554f 100644 --- a/config-arm-generic +++ b/config-arm-generic @@ -103,6 +103,7 @@ CONFIG_EXTCON=m CONFIG_EXTCON_GPIO=m CONFIG_EXTCON_ADC_JACK=m # CONFIG_EXTCON_SM5502 is not set +# CONFIG_EXTCON_RT8973A is not set # MTD CONFIG_MTD_BLKDEVS=m diff --git a/config-arm64 b/config-arm64 index dcc10155c..4d1931942 100644 --- a/config-arm64 +++ b/config-arm64 @@ -92,6 +92,7 @@ CONFIG_PHY_XGENE=y CONFIG_NET_XGENE=y CONFIG_RTC_DRV_XGENE=m CONFIG_RTC_DRV_EFI=y +CONFIG_HW_RANDOM_XGENE=m # not arm64 # CONFIG_GPIO_ADNP is not set @@ -133,6 +134,8 @@ CONFIG_ACPI_CONTAINER=y CONFIG_ACPI_HED=m CONFIG_ACPI_CUSTOM_METHOD=m +CONFIG_BPF_JIT=y + CONFIG_AMD_XGBE=y CONFIG_AMD_XGBE_PHY=y # CONFIG_AMD_XGBE_DCB is not set diff --git a/config-armv7 b/config-armv7 index 133a31064..d6dfd043b 100644 --- a/config-armv7 +++ b/config-armv7 @@ -164,6 +164,7 @@ CONFIG_RTC_DRV_PALMAS=m CONFIG_OMAP5_DSS_HDMI=y CONFIG_OMAP5_DSS_HDMI_AUDIO=y CONFIG_COMMON_CLK_PALMAS=m +CONFIG_INPUT_PALMAS_PWRBUTTON=m CONFIG_WL_TI=y CONFIG_WLCORE_SDIO=m @@ -486,6 +487,7 @@ CONFIG_I2C_RK3X=m CONFIG_SPI_ROCKCHIP=m CONFIG_SND_SOC_ROCKCHIP=m CONFIG_PWM_ROCKCHIP=m +CONFIG_ROCKCHIP_SARADC=m # ST Ericsson CONFIG_MACH_HREFV60=y diff --git a/config-armv7-generic b/config-armv7-generic index 4a96a546a..044df4295 100644 --- a/config-armv7-generic +++ b/config-armv7-generic @@ -273,6 +273,7 @@ CONFIG_SND_SOC_ODROIDX2=m # CONFIG_EXYNOS_IOMMU_DEBUG is not set # CONFIG_SAMSUNG_PM_DEBUG is not set # CONFIG_SAMSUNG_PM_CHECK is not set +# CONFIG_ARM_EXYNOS5_BUS_DEVFREQ is not set # Arndale/Origen CONFIG_MFD_MAX8997=y @@ -356,7 +357,6 @@ CONFIG_GENERIC_CPUFREQ_CPU0=m # usb CONFIG_USB_OHCI_HCD_PLATFORM=m CONFIG_USB_EHCI_HCD_PLATFORM=m -# CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OTG_BLACKLIST_HUB is not set CONFIG_USB_ULPI=y CONFIG_AX88796=m @@ -367,6 +367,7 @@ CONFIG_USB_OTG=y CONFIG_USB_GADGET=m CONFIG_USB_GADGET_VBUS_DRAW=100 CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +# CONFIG_USB_GADGET_XILINX is not set CONFIG_USB_MUSB_HDRC=m CONFIG_USB_MUSB_DUAL_ROLE=y CONFIG_USB_MUSB_DSPS=m @@ -436,6 +437,7 @@ CONFIG_GENERIC_PINCONF=y # CONFIG_PINCTRL_MSM8X74 is not set # CONFIG_PINCTRL_BCM281XX is not set # CONFIG_PINCTRL_APQ8064 is not set +# CONFIG_PINCTRL_APQ8084 is not set # CONFIG_PINCTRL_IPQ8064 is not set # CONFIG_PINCTRL_MSM8960 is not set @@ -562,6 +564,7 @@ CONFIG_USB_DWC3_OMAP=m CONFIG_USB_DWC3_PCI=m # CONFIG_USB_DWC3_DEBUG is not set # CONFIG_USB_DWC3_KEYSTONE is not set +# CONFIG_USB_DWC3_QCOM is not set # CONFIG_DWC3_HOST_USB3_LPM_ENABLE is not set CONFIG_DW_WATCHDOG=m CONFIG_PCIE_DW=y @@ -688,6 +691,9 @@ CONFIG_REGULATOR_TPS80031=m CONFIG_REGULATOR_LTC3589=m CONFIG_REGULATOR_ANATOP=m CONFIG_REGULATOR_DA9211=m +CONFIG_REGULATOR_ISL9305=m +CONFIG_REGULATOR_MAX77802=m +CONFIG_REGULATOR_PWM=m CONFIG_CHARGER_MANAGER=y CONFIG_CHARGER_BQ2415X=m diff --git a/config-generic b/config-generic index ab611ccdd..f5201848b 100644 --- a/config-generic +++ b/config-generic @@ -391,6 +391,7 @@ CONFIG_VHOST_SCSI=m # SCSI device support # CONFIG_SCSI=y +# CONFIG_SCSI_MQ_DEFAULT is not set CONFIG_SCSI_ENCLOSURE=m CONFIG_SCSI_PROC_FS=y @@ -1676,13 +1677,13 @@ CONFIG_B43_PCMCIA=y CONFIG_B43_SDIO=y CONFIG_B43_BCMA=y CONFIG_B43_BCMA_PIO=y -# CONFIG_B43_DEBUG is not set +CONFIG_B43_DEBUG=y CONFIG_B43_PHY_LP=y CONFIG_B43_PHY_N=y CONFIG_B43_PHY_HT=y # CONFIG_B43_PHY_G is not set CONFIG_B43LEGACY=m -# CONFIG_B43LEGACY_DEBUG is not set +CONFIG_B43LEGACY_DEBUG=y CONFIG_B43LEGACY_DMA=y CONFIG_B43LEGACY_PIO=y CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y @@ -2118,6 +2119,8 @@ CONFIG_INPUT_SPARSEKMAP=m CONFIG_INPUT_CMA3000=m CONFIG_INPUT_CMA3000_I2C=m CONFIG_INPUT_IDEAPAD_SLIDEBAR=m +# CONFIG_INPUT_DRV260X_HAPTICS is not set +# CONFIG_INPUT_DRV2667_HAPTICS is not set # # Input I/O drivers @@ -2617,8 +2620,10 @@ CONFIG_HID_SENSOR_IIO_TRIGGER=m # CONFIG_AD5380 is not set # CONFIG_AD5064 is not set # CONFIG_BMA180 is not set +# CONFIG_BMC150_ACCEL is not set # CONFIG_MAX1363 is not set # CONFIG_MAX517 is not set +# CONFIG_MAX5821 is not set # CONFIG_MCP4725 is not set # CONFIG_ITG3200 is not set # CONFIG_APDS9300 is not set @@ -2632,6 +2637,7 @@ CONFIG_HID_SENSOR_IIO_TRIGGER=m # CONFIG_TSL4531 is not set # CONFIG_NAU7802 is not set # CONFIG_TI_ADC081C is not set +# CONFIG_TI_ADC128S052 is not set # CONFIG_EXYNOS_ADC is not set # CONFIG_VIPERBOARD_ADC is not set # CONFIG_VF610_ADC is not set @@ -2643,6 +2649,7 @@ CONFIG_IIO_ST_ACCEL_3AXIS=m CONFIG_HID_SENSOR_INCLINOMETER_3D=m CONFIG_HID_SENSOR_DEVICE_ROTATION=m # CONFIG_ADJD_S311 is not set +# CONFIG_AL3320A is not set # CONFIG_SENSORS_TSL2563 is not set # CONFIG_SENSORS_HMC5843_I2C is not set # CONFIG_VCNL4000 is not set @@ -2681,6 +2688,7 @@ CONFIG_HID_SENSOR_DEVICE_ROTATION=m # CONFIG_ADIS16136 is not set # CONFIG_ADIS16260 is not set # CONFIG_ADXRS450 is not set +# CONFIG_BMG160 is not set # CONFIG_ADIS16400 is not set # CONFIG_ADIS16480 is not set # CONFIG_DHT11 is not set @@ -3619,6 +3627,7 @@ CONFIG_HID_ICADE=m CONFIG_HID_TWINHAN=m CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m +CONFIG_HID_PENMOUNT=m CONFIG_HID_PETALYNX=m CONFIG_HID_PICOLCD=m CONFIG_HID_RMI=m @@ -3936,6 +3945,8 @@ CONFIG_USB_XUSBATM=m # CONFIG_USB_DWC2 is not set # CONFIG_USB_ISP1301 is not set # CONFIG_USB_OTG is not set +# CONFIG_USB_OTG_WHITELIST is not set +CONFIG_USB_LED_TRIG=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y @@ -4446,6 +4457,7 @@ CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_BLKCIPHER=y # CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_ANUBIS=m @@ -4645,7 +4657,7 @@ CONFIG_PM_DEBUG=y # CONFIG_DPM_WATCHDOG is not set # revisit this in debug CONFIG_PM_TRACE=y CONFIG_PM_TRACE_RTC=y -# CONFIG_PM_TEST_SUSPEND is not set +CONFIG_PM_TEST_SUSPEND=y CONFIG_PM_RUNTIME=y # CONFIG_PM_OPP is not set # CONFIG_PM_AUTOSLEEP is not set @@ -4930,6 +4942,7 @@ CONFIG_NET_DSA_MV88E6123_61_65=m CONFIG_WM8350_POWER=m # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +# CONFIG_VIDEO_PCI_SKELETON is not set CONFIG_USB_WUSB=m CONFIG_USB_WUSB_CBAF=m @@ -5193,7 +5206,14 @@ CONFIG_FMC_CHARDEV=m # CONFIG_ARM_ARCH_TIMER_EVTSTREAM is not set # CONFIG_PM_DEVFREQ is not set +# CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND is not set +# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set +# CONFIG_DEVFREQ_GOV_POWERSAVE is not set +# CONFIG_DEVFREQ_GOV_USERSPACE is not set + # CONFIG_MODULE_SIG is not set +# FIXME: Revisit this to see if we can use it instead of the spec file stuff +# CONFIG_MODULE_COMPRESS is not set # CONFIG_SYSTEM_TRUSTED_KEYRING is not set # CONFIG_SYSTEM_BLACKLIST_KEYRING is not set diff --git a/config-nodebug b/config-nodebug index ed6913376..143433bf8 100644 --- a/config-nodebug +++ b/config-nodebug @@ -2,115 +2,115 @@ CONFIG_SND_VERBOSE_PRINTK=y CONFIG_SND_DEBUG=y CONFIG_SND_PCM_XRUN_DEBUG=y -# CONFIG_DEBUG_ATOMIC_SLEEP is not set +CONFIG_DEBUG_ATOMIC_SLEEP=y -# CONFIG_DEBUG_MUTEXES is not set -# CONFIG_DEBUG_RT_MUTEXES is not set -# CONFIG_DEBUG_LOCK_ALLOC is not set -# CONFIG_LOCK_TORTURE_TEST is not set -# CONFIG_PROVE_LOCKING is not set -# CONFIG_DEBUG_SPINLOCK is not set -# CONFIG_PROVE_RCU is not set +CONFIG_DEBUG_MUTEXES=y +CONFIG_DEBUG_RT_MUTEXES=y +CONFIG_DEBUG_LOCK_ALLOC=y +CONFIG_LOCK_TORTURE_TEST=m +CONFIG_PROVE_LOCKING=y +CONFIG_DEBUG_SPINLOCK=y +CONFIG_PROVE_RCU=y # CONFIG_PROVE_RCU_REPEATEDLY is not set -# CONFIG_DEBUG_PER_CPU_MAPS is not set +CONFIG_DEBUG_PER_CPU_MAPS=y CONFIG_CPUMASK_OFFSTACK=y -# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set +CONFIG_CPU_NOTIFIER_ERROR_INJECT=m -# CONFIG_FAULT_INJECTION is not set -# CONFIG_FAILSLAB is not set -# CONFIG_FAIL_PAGE_ALLOC is not set -# CONFIG_FAIL_MAKE_REQUEST is not set -# CONFIG_FAULT_INJECTION_DEBUG_FS is not set -# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set -# CONFIG_FAIL_IO_TIMEOUT is not set -# CONFIG_FAIL_MMC_REQUEST is not set +CONFIG_FAULT_INJECTION=y +CONFIG_FAILSLAB=y +CONFIG_FAIL_PAGE_ALLOC=y +CONFIG_FAIL_MAKE_REQUEST=y +CONFIG_FAULT_INJECTION_DEBUG_FS=y +CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y +CONFIG_FAIL_IO_TIMEOUT=y +CONFIG_FAIL_MMC_REQUEST=y -# CONFIG_LOCK_STAT is not set +CONFIG_LOCK_STAT=y -# CONFIG_DEBUG_STACK_USAGE is not set +CONFIG_DEBUG_STACK_USAGE=y -# CONFIG_ACPI_DEBUG is not set +CONFIG_ACPI_DEBUG=y -# CONFIG_DEBUG_SG is not set -# CONFIG_DEBUG_PI_LIST is not set +CONFIG_DEBUG_SG=y +CONFIG_DEBUG_PI_LIST=y # CONFIG_DEBUG_PAGEALLOC is not set -# CONFIG_DEBUG_OBJECTS is not set +CONFIG_DEBUG_OBJECTS=y # CONFIG_DEBUG_OBJECTS_SELFTEST is not set -# CONFIG_DEBUG_OBJECTS_FREE is not set -# CONFIG_DEBUG_OBJECTS_TIMERS is not set -# CONFIG_DEBUG_OBJECTS_RCU_HEAD is not set +CONFIG_DEBUG_OBJECTS_FREE=y +CONFIG_DEBUG_OBJECTS_TIMERS=y +CONFIG_DEBUG_OBJECTS_RCU_HEAD=y CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 -# CONFIG_X86_PTDUMP is not set -# CONFIG_EFI_PGT_DUMP is not set +CONFIG_X86_PTDUMP=y +CONFIG_EFI_PGT_DUMP=y -# CONFIG_CAN_DEBUG_DEVICES is not set +CONFIG_CAN_DEBUG_DEVICES=y -# CONFIG_MODULE_FORCE_UNLOAD is not set +CONFIG_MODULE_FORCE_UNLOAD=y -# CONFIG_DEBUG_NOTIFIERS is not set +CONFIG_DEBUG_NOTIFIERS=y -# CONFIG_DMA_API_DEBUG is not set +CONFIG_DMA_API_DEBUG=y -# CONFIG_MMIOTRACE is not set +CONFIG_MMIOTRACE=y -# CONFIG_DEBUG_CREDENTIALS is not set +CONFIG_DEBUG_CREDENTIALS=y # off in both production debug and nodebug builds, # on in rawhide nodebug builds -# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y -# CONFIG_EXT4_DEBUG is not set +CONFIG_EXT4_DEBUG=y # CONFIG_XFS_WARN is not set -# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +CONFIG_DEBUG_PERF_USE_VMALLOC=y -# CONFIG_JBD2_DEBUG is not set +CONFIG_JBD2_DEBUG=y -# CONFIG_NFSD_FAULT_INJECTION is not set +CONFIG_NFSD_FAULT_INJECTION=y -# CONFIG_DEBUG_BLK_CGROUP is not set +CONFIG_DEBUG_BLK_CGROUP=y -# CONFIG_DRBD_FAULT_INJECTION is not set +CONFIG_DRBD_FAULT_INJECTION=y -# CONFIG_ATH_DEBUG is not set -# CONFIG_CARL9170_DEBUGFS is not set -# CONFIG_IWLWIFI_DEVICE_TRACING is not set +CONFIG_ATH_DEBUG=y +CONFIG_CARL9170_DEBUGFS=y +CONFIG_IWLWIFI_DEVICE_TRACING=y # CONFIG_RTLWIFI_DEBUG is not set -# CONFIG_DEBUG_OBJECTS_WORK is not set +CONFIG_DEBUG_OBJECTS_WORK=y -# CONFIG_DMADEVICES_DEBUG is not set -# CONFIG_DMADEVICES_VDEBUG is not set +CONFIG_DMADEVICES_DEBUG=y +CONFIG_DMADEVICES_VDEBUG=y CONFIG_PM_ADVANCED_DEBUG=y -# CONFIG_CEPH_LIB_PRETTYDEBUG is not set -# CONFIG_QUOTA_DEBUG is not set +CONFIG_CEPH_LIB_PRETTYDEBUG=y +CONFIG_QUOTA_DEBUG=y CONFIG_KGDB_KDB=y CONFIG_KDB_KEYBOARD=y CONFIG_KDB_CONTINUE_CATASTROPHIC=0 -# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set +CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y # CONFIG_PERCPU_TEST is not set -# CONFIG_TEST_LIST_SORT is not set +CONFIG_TEST_LIST_SORT=y # CONFIG_TEST_STRING_HELPERS is not set -# CONFIG_DETECT_HUNG_TASK is not set +CONFIG_DETECT_HUNG_TASK=y CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set -# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set +CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y -# CONFIG_DEBUG_KMEMLEAK is not set +CONFIG_DEBUG_KMEMLEAK=y CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=1024 # CONFIG_DEBUG_KMEMLEAK_TEST is not set CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y @@ -121,7 +121,7 @@ CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y # CONFIG_SPI_DEBUG is not set -# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set +CONFIG_X86_DEBUG_STATIC_CPU_HAS=y # CONFIG_SCHEDSTATS is not set # CONFIG_LATENCYTOP is not set diff --git a/config-x86-generic b/config-x86-generic index 686972fdd..6eaf95da1 100644 --- a/config-x86-generic +++ b/config-x86-generic @@ -335,7 +335,7 @@ CONFIG_SP5100_TCO=m # CONFIG_MEMTEST is not set # CONFIG_DEBUG_TLBFLUSH is not set -# CONFIG_MAXSMP is not set +CONFIG_MAXSMP=y CONFIG_HP_ILO=m @@ -406,6 +406,7 @@ CONFIG_GPIO_ICH=m # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set +# CONFIG_SERIAL_8250_FINTEK is not set CONFIG_PCI_CNB20LE_QUIRK=y diff --git a/config-x86_64-generic b/config-x86_64-generic index de4671325..677a2d14c 100644 --- a/config-x86_64-generic +++ b/config-x86_64-generic @@ -57,6 +57,7 @@ CONFIG_INTEL_MIC_X100_DMA=m # SHPC has half-arsed PCI probing, which makes it load on too many systems CONFIG_HOTPLUG_PCI_SHPC=m +# CONFIG_CRYPTO_SHA1_MB is not set CONFIG_CRYPTO_AES_X86_64=y CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m CONFIG_CRYPTO_TWOFISH_X86_64=m diff --git a/crash-driver.patch b/crash-driver.patch index 9ec016d50..4f99d487f 100644 --- a/crash-driver.patch +++ b/crash-driver.patch @@ -269,7 +269,7 @@ index 000000000000..fd4736ec99f5 + +#endif /* _X86_CRASH_H */ diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig -index 6e9f74a5c095..ee6bae16b04c 100644 +index efefd12a0f7b..6a318132b7ee 100644 --- a/drivers/char/Kconfig +++ b/drivers/char/Kconfig @@ -4,6 +4,9 @@ @@ -283,13 +283,13 @@ index 6e9f74a5c095..ee6bae16b04c 100644 config DEVKMEM diff --git a/drivers/char/Makefile b/drivers/char/Makefile -index a324f9303e36..33ce2fb1d0a3 100644 +index d06cde26031b..0832636fd9bc 100644 --- a/drivers/char/Makefile +++ b/drivers/char/Makefile -@@ -61,3 +61,5 @@ obj-$(CONFIG_JS_RTC) += js-rtc.o - js-rtc-y = rtc.o +@@ -62,3 +62,5 @@ js-rtc-y = rtc.o obj-$(CONFIG_TILE_SROM) += tile-srom.o + obj-$(CONFIG_XILLYBUS) += xillybus/ + +obj-$(CONFIG_CRASH) += crash.o diff --git a/drivers/char/crash.c b/drivers/char/crash.c diff --git a/criu-no-expert.patch b/criu-no-expert.patch index 2ac9eb04c..7583f7418 100644 --- a/criu-no-expert.patch +++ b/criu-no-expert.patch @@ -9,7 +9,7 @@ Upstream-status: Fedora mustard 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/init/Kconfig b/init/Kconfig -index 3c866db603a7..bfb3c54d5286 100644 +index 5e701ec1be55..abb2fc8f1b7a 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -1149,7 +1149,7 @@ config DEBUG_BLK_CGROUP diff --git a/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch b/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch index 18d269488..e781fdcd5 100644 --- a/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch +++ b/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch @@ -11,10 +11,10 @@ Signed-off-by: Josh Boyer 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 61542c282e70..e5ee669e87b6 100644 +index e12033b15d25..05a5303d1857 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -1567,7 +1567,8 @@ config EFI_MIXED +@@ -1579,7 +1579,8 @@ config EFI_MIXED If unsure, say N. config EFI_SECURE_BOOT_SIG_ENFORCE diff --git a/kernel.spec b/kernel.spec index 1955ea0b1..0c75739e1 100644 --- a/kernel.spec +++ b/kernel.spec @@ -6,9 +6,9 @@ Summary: The Linux kernel # For a stable, released kernel, released_kernel should be 1. For rawhide # and/or a kernel built from an rc or git snapshot, released_kernel should # be 0. -%global released_kernel 1 +%global released_kernel 0 -%global aarch64patches 1 +%global aarch64patches 0 # Sign modules on x86. Make sure the config files match this setting if more # architectures are added. @@ -42,7 +42,7 @@ Summary: The Linux kernel # For non-released -rc kernels, this will be appended after the rcX and # gitX tags, so a 3 here would become part of release "0.rcX.gitX.3" # -%global baserelease 2 +%global baserelease 1 %global fedora_build %{baserelease} # base_sublevel is the kernel version we're starting with and patching @@ -69,7 +69,7 @@ Summary: The Linux kernel # The rc snapshot level %define rcrev 0 # The git snapshot level -%define gitrev 0 +%define gitrev 1 # Set rpm version accordingly %define rpmversion 3.%{upstream_sublevel}.0 %endif @@ -124,7 +124,7 @@ Summary: The Linux kernel # Set debugbuildsenabled to 1 for production (build separate debug kernels) # and 0 for rawhide (all kernels are debug kernels). # See also 'make debug' and 'make release'. -%define debugbuildsenabled 1 +%define debugbuildsenabled 0 # Want to build a vanilla kernel build without any non-upstream patches? %define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0} @@ -609,19 +609,9 @@ Patch26002: samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch Patch26013: acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch Patch26014: acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch -#rhbz 1134969 -Patch26016: HID-wacom-Add-support-for-the-Cintiq-Companion.patch - -#rhbz 1110011 -Patch26019: psmouse-Add-psmouse_matches_pnp_id-helper-function.patch -Patch26020: psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch - #rhbz 1138759 Patch26021: drm-vmwgfx-Fix-drm.h-include.patch -#rhbz 1123584 -Patch26028: HID-rmi-check-sanity-of-incoming-report.patch - #rhbz 1145318 Patch26029: KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch @@ -1348,19 +1338,9 @@ ApplyPatch samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch ApplyPatch acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch ApplyPatch acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch -#rhbz 1134969 -ApplyPatch HID-wacom-Add-support-for-the-Cintiq-Companion.patch - -#rhbz 1110011 -ApplyPatch psmouse-Add-psmouse_matches_pnp_id-helper-function.patch -ApplyPatch psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch - #rhbz 1138759 ApplyPatch drm-vmwgfx-Fix-drm.h-include.patch -#rhbz 1123584 -ApplyPatch HID-rmi-check-sanity-of-incoming-report.patch - #rhbz 1145318 ApplyPatch KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch @@ -2234,6 +2214,11 @@ fi # ||----w | # || || %changelog +* Wed Oct 08 2014 Josh Boyer - 3.18.0-0.rc0.git1.1 +- Linux v3.17-2860-gef0625b70dac +- Reenable debugging options. +- Temporarily disable aarch64patches + * Tue Oct 07 2014 Josh Boyer - Add patch to fix GFS2 regression (from Bob Peterson) diff --git a/pinctrl-pinctrl-single-must-be-initialized-early.patch b/pinctrl-pinctrl-single-must-be-initialized-early.patch index d19b75f50..73af44f56 100644 --- a/pinctrl-pinctrl-single-must-be-initialized-early.patch +++ b/pinctrl-pinctrl-single-must-be-initialized-early.patch @@ -10,10 +10,10 @@ exercise left to the reader. 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c -index 95dd9cf55cb3..800fc34d7ea9 100644 +index fb94b772ad62..99668ad01b54 100644 --- a/drivers/pinctrl/pinctrl-single.c +++ b/drivers/pinctrl/pinctrl-single.c -@@ -2012,7 +2012,17 @@ static struct platform_driver pcs_driver = { +@@ -2026,7 +2026,17 @@ static struct platform_driver pcs_driver = { #endif }; diff --git a/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch b/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch deleted file mode 100644 index 59adcedaf..000000000 --- a/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch +++ /dev/null @@ -1,99 +0,0 @@ -From: Hans de Goede -Date: Fri, 27 Jun 2014 18:46:42 +0200 -Subject: [PATCH] psmouse: Add psmouse_matches_pnp_id helper function - -The matches_pnp_id function from the synaptics driver is useful for other -drivers too. Make it a generic psmouse helper function. - -Bugzilla: 1110011 -Upstream-status: sent for 3.17/3.18 - -Signed-off-by: Hans de Goede ---- - drivers/input/mouse/psmouse-base.c | 14 ++++++++++++++ - drivers/input/mouse/psmouse.h | 1 + - drivers/input/mouse/synaptics.c | 17 +++-------------- - 3 files changed, 18 insertions(+), 14 deletions(-) - -diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c -index b4e1f014ddc2..02e68c3008a3 100644 ---- a/drivers/input/mouse/psmouse-base.c -+++ b/drivers/input/mouse/psmouse-base.c -@@ -462,6 +462,20 @@ static int psmouse_poll(struct psmouse *psmouse) - PSMOUSE_CMD_POLL | (psmouse->pktsize << 8)); - } - -+/* -+ * psmouse_matches_pnp_id - check if psmouse matches one of the passed in ids. -+ */ -+bool psmouse_matches_pnp_id(struct psmouse *psmouse, const char * const ids[]) -+{ -+ int i; -+ -+ if (!strncmp(psmouse->ps2dev.serio->firmware_id, "PNP:", 4)) -+ for (i = 0; ids[i]; i++) -+ if (strstr(psmouse->ps2dev.serio->firmware_id, ids[i])) -+ return true; -+ -+ return false; -+} - - /* - * Genius NetMouse magic init. -diff --git a/drivers/input/mouse/psmouse.h b/drivers/input/mouse/psmouse.h -index 2f0b39d59a9b..f4cf664c7db3 100644 ---- a/drivers/input/mouse/psmouse.h -+++ b/drivers/input/mouse/psmouse.h -@@ -108,6 +108,7 @@ void psmouse_set_resolution(struct psmouse *psmouse, unsigned int resolution); - psmouse_ret_t psmouse_process_byte(struct psmouse *psmouse); - int psmouse_activate(struct psmouse *psmouse); - int psmouse_deactivate(struct psmouse *psmouse); -+bool psmouse_matches_pnp_id(struct psmouse *psmouse, const char * const ids[]); - - struct psmouse_attribute { - struct device_attribute dattr; -diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c -index fd23181c1fb7..6394d9b5bfd3 100644 ---- a/drivers/input/mouse/synaptics.c -+++ b/drivers/input/mouse/synaptics.c -@@ -185,18 +185,6 @@ static const char * const topbuttonpad_pnp_ids[] = { - NULL - }; - --static bool matches_pnp_id(struct psmouse *psmouse, const char * const ids[]) --{ -- int i; -- -- if (!strncmp(psmouse->ps2dev.serio->firmware_id, "PNP:", 4)) -- for (i = 0; ids[i]; i++) -- if (strstr(psmouse->ps2dev.serio->firmware_id, ids[i])) -- return true; -- -- return false; --} -- - /***************************************************************************** - * Synaptics communications functions - ****************************************************************************/ -@@ -362,7 +350,8 @@ static int synaptics_resolution(struct psmouse *psmouse) - } - - for (i = 0; min_max_pnpid_table[i].pnp_ids; i++) { -- if (matches_pnp_id(psmouse, min_max_pnpid_table[i].pnp_ids)) { -+ if (psmouse_matches_pnp_id(psmouse, -+ min_max_pnpid_table[i].pnp_ids)) { - priv->x_min = min_max_pnpid_table[i].x_min; - priv->x_max = min_max_pnpid_table[i].x_max; - priv->y_min = min_max_pnpid_table[i].y_min; -@@ -1492,7 +1481,7 @@ static void set_input_params(struct psmouse *psmouse, - - if (SYN_CAP_CLICKPAD(priv->ext_cap_0c)) { - __set_bit(INPUT_PROP_BUTTONPAD, dev->propbit); -- if (matches_pnp_id(psmouse, topbuttonpad_pnp_ids)) -+ if (psmouse_matches_pnp_id(psmouse, topbuttonpad_pnp_ids)) - __set_bit(INPUT_PROP_TOPBUTTONPAD, dev->propbit); - /* Clickpads report only left button */ - __clear_bit(BTN_RIGHT, dev->keybit); --- -1.9.3 - diff --git a/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch b/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch deleted file mode 100644 index 0d0583d5f..000000000 --- a/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch +++ /dev/null @@ -1,157 +0,0 @@ -From: Hans de Goede -Date: Fri, 27 Jun 2014 18:50:33 +0200 -Subject: [PATCH] psmouse: Add support for detecting FocalTech PS/2 touchpads - -The Asus X450 and X550 laptops use a PS/2 touchpad from a new manufacturer -called FocalTech: - -https://bugzilla.kernel.org/show_bug.cgi?id=77391 -https://bugzilla.redhat.com/show_bug.cgi?id=1110011 - -The protocol for these devices is not known at this time, but even without -knowing the protocol they need some special handling. They get upset by some -of our other PS/2 device probing, and once upset generate random mouse events -making things unusable even with an external mouse. - -This patch adds detection of these devices based on their pnp ids, and when -they are detected, treats them as a bare ps/2 mouse. Doing things this way -they at least work in their ps/2 mouse emulation mode. - -Signed-off-by: Hans de Goede ---- - drivers/input/mouse/Makefile | 2 +- - drivers/input/mouse/focaltech.c | 44 ++++++++++++++++++++++++++++++++++++++ - drivers/input/mouse/focaltech.h | 21 ++++++++++++++++++ - drivers/input/mouse/psmouse-base.c | 10 +++++++++ - 4 files changed, 76 insertions(+), 1 deletion(-) - create mode 100644 drivers/input/mouse/focaltech.c - create mode 100644 drivers/input/mouse/focaltech.h - -diff --git a/drivers/input/mouse/Makefile b/drivers/input/mouse/Makefile -index c25efdb3f288..dda507f8b3a2 100644 ---- a/drivers/input/mouse/Makefile -+++ b/drivers/input/mouse/Makefile -@@ -23,7 +23,7 @@ obj-$(CONFIG_MOUSE_SYNAPTICS_I2C) += synaptics_i2c.o - obj-$(CONFIG_MOUSE_SYNAPTICS_USB) += synaptics_usb.o - obj-$(CONFIG_MOUSE_VSXXXAA) += vsxxxaa.o - --psmouse-objs := psmouse-base.o synaptics.o -+psmouse-objs := psmouse-base.o synaptics.o focaltech.o - - psmouse-$(CONFIG_MOUSE_PS2_ALPS) += alps.o - psmouse-$(CONFIG_MOUSE_PS2_ELANTECH) += elantech.o -diff --git a/drivers/input/mouse/focaltech.c b/drivers/input/mouse/focaltech.c -new file mode 100644 -index 000000000000..d83a23554d63 ---- /dev/null -+++ b/drivers/input/mouse/focaltech.c -@@ -0,0 +1,44 @@ -+/* -+ * Focaltech TouchPad PS/2 mouse driver -+ * -+ * Copyright (c) 2014 Red Hat Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * Red Hat authors: -+ * -+ * Hans de Goede -+ */ -+ -+/* -+ * The Focaltech PS/2 touchpad protocol is unknown. This drivers deals with -+ * detection only, to avoid further detection attempts confusing the touchpad -+ * this way it at least works in PS/2 mouse compatibility mode. -+ */ -+ -+#include -+#include -+#include "psmouse.h" -+ -+static const char * const focaltech_pnp_ids[] = { -+ "FLT0101", -+ "FLT0102", -+ "FLT0103", -+ NULL -+}; -+ -+int focaltech_detect(struct psmouse *psmouse, bool set_properties) -+{ -+ if (!psmouse_matches_pnp_id(psmouse, focaltech_pnp_ids)) -+ return -ENODEV; -+ -+ if (set_properties) { -+ psmouse->vendor = "FocalTech"; -+ psmouse->name = "FocalTech Touchpad in mouse emulation mode"; -+ } -+ -+ return 0; -+} -diff --git a/drivers/input/mouse/focaltech.h b/drivers/input/mouse/focaltech.h -new file mode 100644 -index 000000000000..0d0fc49451fe ---- /dev/null -+++ b/drivers/input/mouse/focaltech.h -@@ -0,0 +1,21 @@ -+/* -+ * Focaltech TouchPad PS/2 mouse driver -+ * -+ * Copyright (c) 2014 Red Hat Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * Red Hat authors: -+ * -+ * Hans de Goede -+ */ -+ -+#ifndef _FOCALTECH_H -+#define _FOCALTECH_H -+ -+int focaltech_detect(struct psmouse *psmouse, bool set_properties); -+ -+#endif -diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c -index 02e68c3008a3..2c8c8e2172a2 100644 ---- a/drivers/input/mouse/psmouse-base.c -+++ b/drivers/input/mouse/psmouse-base.c -@@ -35,6 +35,7 @@ - #include "elantech.h" - #include "sentelic.h" - #include "cypress_ps2.h" -+#include "focaltech.h" - - #define DRIVER_DESC "PS/2 mouse driver" - -@@ -722,6 +723,13 @@ static int psmouse_extensions(struct psmouse *psmouse, - { - bool synaptics_hardware = false; - -+/* Always check for focaltech, this is safe as it uses pnp-id matching */ -+ if (psmouse_do_detect(focaltech_detect, psmouse, set_properties) == 0) { -+ /* Not supported yet, use bare protocol */ -+ psmouse_max_proto = max_proto = PSMOUSE_PS2; -+ goto reset_to_defaults; -+ } -+ - /* - * We always check for lifebook because it does not disturb mouse - * (it only checks DMI information). -@@ -873,6 +881,8 @@ static int psmouse_extensions(struct psmouse *psmouse, - } - } - -+reset_to_defaults: -+ - /* - * Reset to defaults in case the device got confused by extended - * protocol probes. Note that we follow up with full reset because --- -1.9.3 - diff --git a/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch b/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch index 9dad35ce2..54d65e24e 100644 --- a/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch +++ b/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch @@ -9,10 +9,10 @@ Upstream-status: Fedora mustard (might be worth dropping...) 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c -index 2c2041ca4b70..e10812d985af 100644 +index 0cb5c9f0c743..286b6e67d11d 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c -@@ -2749,13 +2749,18 @@ static int sd_try_extended_inquiry(struct scsi_device *sdp) +@@ -2753,13 +2753,18 @@ static int sd_try_extended_inquiry(struct scsi_device *sdp) static int sd_revalidate_disk(struct gendisk *disk) { struct scsi_disk *sdkp = scsi_disk(disk); diff --git a/sources b/sources index b506483dc..6b21818a2 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ fb30d0f29214d75cddd2faa94f73d5cf linux-3.17.tar.xz 159e969cbc27201d8e2fa0f609dc722f perf-man-3.17.tar.gz +35d5cb50791e08c30c0a795e47bfeb9c patch-3.17-git1.xz From a3dbb48a2c8bd21beda72f66952f08b59d69064a Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Wed, 8 Oct 2014 12:20:56 -0400 Subject: [PATCH 20/67] Add patch to fix ATA blacklist --- kernel.spec | 5 +++ libata-Un-break-ATA-blacklist.patch | 51 +++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 libata-Un-break-ATA-blacklist.patch diff --git a/kernel.spec b/kernel.spec index 0c75739e1..4f395a1ee 100644 --- a/kernel.spec +++ b/kernel.spec @@ -617,6 +617,8 @@ Patch26029: KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch Patch26030: GFS2-Make-rename-not-save-dirent-location.patch +Patch26031: libata-Un-break-ATA-blacklist.patch + # git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel Patch30000: kernel-arm64.patch @@ -1346,6 +1348,8 @@ ApplyPatch KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch ApplyPatch GFS2-Make-rename-not-save-dirent-location.patch +ApplyPatch libata-Un-break-ATA-blacklist.patch + %if 0%{?aarch64patches} ApplyPatch kernel-arm64.patch %ifnarch aarch64 # this is stupid, but i want to notice before secondary koji does. @@ -2218,6 +2222,7 @@ fi - Linux v3.17-2860-gef0625b70dac - Reenable debugging options. - Temporarily disable aarch64patches +- Add patch to fix ATA blacklist * Tue Oct 07 2014 Josh Boyer - Add patch to fix GFS2 regression (from Bob Peterson) diff --git a/libata-Un-break-ATA-blacklist.patch b/libata-Un-break-ATA-blacklist.patch new file mode 100644 index 000000000..e8d70ba66 --- /dev/null +++ b/libata-Un-break-ATA-blacklist.patch @@ -0,0 +1,51 @@ +From: George Spelvin +Date: Tue, 7 Oct 2014 07:26:38 -0400 +Subject: [PATCH] libata: Un-break ATA blacklist + +lib/glob.c provides a new glob_match() function, with arguments in +(pattern, string) order. It replaced a private function with arguments +in (string, pattern) order, but I didn't swap the call site... + +The result was the entire ATA blacklist was effectively disabled. + +The lesson for today is "I f***ed up *how* badly *how* many months ago?", +er, I mean "Nobody Tests RC Kernels On Legacy Hardware". + +This was not a subtle break, but it made it through an entire RC +cycle unreported, presumably because all the people doing testing +have full-featured hardware. + +(FWIW, the reason for the argument swap was because fnmatch() does it that +way, and for a while implementing a full fnmatch() was being considered.) + +Fixes: 428ac5fc056e0 (libata: Use glob_match from lib/glob.c) +Reported-by: Steven Honeyman +Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=71371#c21 +Signed-off-by: George Spelvin +Cc: # 3.17 +Tested-by: Steven Honeyman +Signed-off-by: Tejun Heo +--- + drivers/ata/libata-core.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c +index f3e7b9f894cd..6f674906c64c 100644 +--- a/drivers/ata/libata-core.c ++++ b/drivers/ata/libata-core.c +@@ -4261,10 +4261,10 @@ static unsigned long ata_dev_blacklisted(const struct ata_device *dev) + ata_id_c_string(dev->id, model_rev, ATA_ID_FW_REV, sizeof(model_rev)); + + while (ad->model_num) { +- if (glob_match(model_num, ad->model_num)) { ++ if (glob_match(ad->model_num, model_num)) { + if (ad->model_rev == NULL) + return ad->horkage; +- if (glob_match(model_rev, ad->model_rev)) ++ if (glob_match(ad->model_rev, model_rev)) + return ad->horkage; + } + ad++; +-- +1.9.3 + From 0669d53a988611e855d13150d35abd98eeb247c1 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Wed, 8 Oct 2014 15:39:02 -0400 Subject: [PATCH 21/67] Disable BUILD_DOCSRC temporarily because it breaks i686 builds --- config-generic | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config-generic b/config-generic index f5201848b..4ed0c0da1 100644 --- a/config-generic +++ b/config-generic @@ -21,7 +21,7 @@ CONFIG_DEVTMPFS_MOUNT=y CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y -CONFIG_BUILD_DOCSRC=y +# CONFIG_BUILD_DOCSRC is not set # # General setup From c62084a59a73fcf3e354d651449d6c09eca0236b Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Wed, 8 Oct 2014 20:15:38 -0400 Subject: [PATCH 22/67] Revert change that causes pinctrl-msm to fail to build --- ...com-use-restart_notifier-mechanism-f.patch | 93 +++++++++++++++++++ kernel.spec | 4 + 2 files changed, 97 insertions(+) create mode 100644 Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch diff --git a/Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch b/Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch new file mode 100644 index 000000000..8ac29de0e --- /dev/null +++ b/Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch @@ -0,0 +1,93 @@ +From: Josh Boyer +Date: Wed, 8 Oct 2014 19:10:10 -0400 +Subject: [PATCH] Revert "pinctrl: qcom: use restart_notifier mechanism for + ps_hold" + +This reverts commit cf1fc187628913070c3e418ce0e205732435aa2f. +--- + drivers/pinctrl/qcom/pinctrl-msm.c | 31 +++++++++++++------------------ + 1 file changed, 13 insertions(+), 18 deletions(-) + +diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c +index d30dddd21323..d5ed1272b928 100644 +--- a/drivers/pinctrl/qcom/pinctrl-msm.c ++++ b/drivers/pinctrl/qcom/pinctrl-msm.c +@@ -27,7 +27,8 @@ + #include + #include + #include +-#include ++ ++#include + + #include "../core.h" + #include "../pinconf.h" +@@ -42,7 +43,6 @@ + * @dev: device handle. + * @pctrl: pinctrl handle. + * @chip: gpiochip handle. +- * @restart_nb: restart notifier block. + * @irq: parent irq for the TLMM irq_chip. + * @lock: Spinlock to protect register resources as well + * as msm_pinctrl data structures. +@@ -56,7 +56,6 @@ struct msm_pinctrl { + struct device *dev; + struct pinctrl_dev *pctrl; + struct gpio_chip chip; +- struct notifier_block restart_nb; + int irq; + + spinlock_t lock; +@@ -853,14 +852,13 @@ static int msm_gpio_init(struct msm_pinctrl *pctrl) + return 0; + } + +-static int msm_ps_hold_restart(struct notifier_block *nb, unsigned long action, +- void *data) +-{ +- struct msm_pinctrl *pctrl = container_of(nb, struct msm_pinctrl, restart_nb); ++#ifdef CONFIG_ARM ++static void __iomem *msm_ps_hold; + +- writel(0, pctrl->regs + PS_HOLD_OFFSET); +- mdelay(1000); +- return NOTIFY_DONE; ++static void msm_reset(enum reboot_mode reboot_mode, const char *cmd) ++{ ++ writel(0, msm_ps_hold); ++ mdelay(10000); + } + + static void msm_pinctrl_setup_pm_reset(struct msm_pinctrl *pctrl) +@@ -870,14 +868,13 @@ static void msm_pinctrl_setup_pm_reset(struct msm_pinctrl *pctrl) + + for (; i <= pctrl->soc->nfunctions; i++) + if (!strcmp(func[i].name, "ps_hold")) { +- pctrl->restart_nb.notifier_call = msm_ps_hold_restart; +- pctrl->restart_nb.priority = 128; +- if (register_restart_handler(&pctrl->restart_nb)) +- dev_err(pctrl->dev, +- "failed to setup restart handler.\n"); +- break; ++ msm_ps_hold = pctrl->regs + PS_HOLD_OFFSET; ++ arm_pm_restart = msm_reset; + } + } ++#else ++static void msm_pinctrl_setup_pm_reset(const struct msm_pinctrl *pctrl) {} ++#endif + + int msm_pinctrl_probe(struct platform_device *pdev, + const struct msm_pinctrl_soc_data *soc_data) +@@ -946,8 +943,6 @@ int msm_pinctrl_remove(struct platform_device *pdev) + + pinctrl_unregister(pctrl->pctrl); + +- unregister_restart_handler(&pctrl->restart_nb); +- + return 0; + } + EXPORT_SYMBOL(msm_pinctrl_remove); +-- +1.9.3 + diff --git a/kernel.spec b/kernel.spec index 4f395a1ee..1375d376d 100644 --- a/kernel.spec +++ b/kernel.spec @@ -619,6 +619,8 @@ Patch26030: GFS2-Make-rename-not-save-dirent-location.patch Patch26031: libata-Un-break-ATA-blacklist.patch +Patch26032: Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch + # git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel Patch30000: kernel-arm64.patch @@ -1350,6 +1352,8 @@ ApplyPatch GFS2-Make-rename-not-save-dirent-location.patch ApplyPatch libata-Un-break-ATA-blacklist.patch +ApplyPatch Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch + %if 0%{?aarch64patches} ApplyPatch kernel-arm64.patch %ifnarch aarch64 # this is stupid, but i want to notice before secondary koji does. From 5bc66d51ea8f9d49032188aa6b059b02004c613f Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Thu, 9 Oct 2014 09:45:05 -0400 Subject: [PATCH 23/67] Linux v3.17-5503-g35a9ad8af0bb --- ...one-common-add-uart2_pins-uart4_pins.patch | 4 +-- ...335x-bone-common-enable-and-use-i2c2.patch | 6 ++-- ...one-common-setup-default-pinmux-http.patch | 12 ++++---- ...am335x-boneblack-add-cpu0-opp-points.patch | 4 +-- ...am335x-boneblack-lcdc-add-panel-info.patch | 4 +-- arm-dts-sun7i-bananapi.patch | 6 ++-- config-arm-generic | 1 + config-arm64 | 1 + config-armv7-generic | 2 ++ config-generic | 30 +++++++++++++++++++ kernel.spec | 5 +++- sources | 2 +- 12 files changed, 57 insertions(+), 20 deletions(-) diff --git a/arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch b/arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch index e95955deb..6b5cb2011 100644 --- a/arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch +++ b/arm-dts-am335x-bone-common-add-uart2_pins-uart4_pins.patch @@ -9,10 +9,10 @@ Signed-off-by: Robert Nelson 1 file changed, 21 insertions(+) diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi -index 86cdb52dbf8a..db4518ef755d 100644 +index 4991a1664773..096ddbe4c4b3 100644 --- a/arch/arm/boot/dts/am335x-bone-common.dtsi +++ b/arch/arm/boot/dts/am335x-bone-common.dtsi -@@ -105,6 +105,27 @@ +@@ -102,6 +102,27 @@ >; }; diff --git a/arm-dts-am335x-bone-common-enable-and-use-i2c2.patch b/arm-dts-am335x-bone-common-enable-and-use-i2c2.patch index 04efe225a..a40719c9c 100644 --- a/arm-dts-am335x-bone-common-enable-and-use-i2c2.patch +++ b/arm-dts-am335x-bone-common-enable-and-use-i2c2.patch @@ -8,10 +8,10 @@ Signed-off-by: Robert Nelson 1 file changed, 39 insertions(+) diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi -index bde1777b62be..c7357bcc7d5c 100644 +index 6cc25ed912ee..754b96c5dbb1 100644 --- a/arch/arm/boot/dts/am335x-bone-common.dtsi +++ b/arch/arm/boot/dts/am335x-bone-common.dtsi -@@ -84,6 +84,13 @@ +@@ -81,6 +81,13 @@ >; }; @@ -25,7 +25,7 @@ index bde1777b62be..c7357bcc7d5c 100644 uart0_pins: pinmux_uart0_pins { pinctrl-single,pins = < 0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */ -@@ -220,6 +227,38 @@ +@@ -217,6 +224,38 @@ reg = <0x24>; }; diff --git a/arm-dts-am335x-bone-common-setup-default-pinmux-http.patch b/arm-dts-am335x-bone-common-setup-default-pinmux-http.patch index 180055d44..29fde1cfe 100644 --- a/arm-dts-am335x-bone-common-setup-default-pinmux-http.patch +++ b/arm-dts-am335x-bone-common-setup-default-pinmux-http.patch @@ -9,10 +9,10 @@ Signed-off-by: Robert Nelson 1 file changed, 130 insertions(+) diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi -index c7357bcc7d5c..86cdb52dbf8a 100644 +index 754b96c5dbb1..4991a1664773 100644 --- a/arch/arm/boot/dts/am335x-bone-common.dtsi +++ b/arch/arm/boot/dts/am335x-bone-common.dtsi -@@ -98,6 +98,13 @@ +@@ -95,6 +95,13 @@ >; }; @@ -26,7 +26,7 @@ index c7357bcc7d5c..86cdb52dbf8a 100644 clkout2_pin: pinmux_clkout2_pin { pinctrl-single,pins = < 0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */ -@@ -178,6 +185,33 @@ +@@ -175,6 +182,33 @@ 0x1c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */ >; }; @@ -60,7 +60,7 @@ index c7357bcc7d5c..86cdb52dbf8a 100644 }; &uart0 { -@@ -187,6 +221,13 @@ +@@ -184,6 +218,13 @@ status = "okay"; }; @@ -74,7 +74,7 @@ index c7357bcc7d5c..86cdb52dbf8a 100644 &usb { status = "okay"; }; -@@ -261,6 +302,56 @@ +@@ -258,6 +299,56 @@ }; }; @@ -131,7 +131,7 @@ index c7357bcc7d5c..86cdb52dbf8a 100644 /include/ "tps65217.dtsi" &tps { -@@ -337,3 +428,42 @@ +@@ -339,3 +430,42 @@ cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>; cd-inverted; }; diff --git a/arm-dts-am335x-boneblack-add-cpu0-opp-points.patch b/arm-dts-am335x-boneblack-add-cpu0-opp-points.patch index 2c10bfa4f..a24cef2dc 100644 --- a/arm-dts-am335x-boneblack-add-cpu0-opp-points.patch +++ b/arm-dts-am335x-boneblack-add-cpu0-opp-points.patch @@ -8,10 +8,10 @@ Signed-off-by: Robert Nelson 1 file changed, 18 insertions(+) diff --git a/arch/arm/boot/dts/am335x-boneblack.dts b/arch/arm/boot/dts/am335x-boneblack.dts -index bf5349165542..acfff3befff5 100644 +index 5dcdcd173572..38439e097b26 100644 --- a/arch/arm/boot/dts/am335x-boneblack.dts +++ b/arch/arm/boot/dts/am335x-boneblack.dts -@@ -66,6 +66,24 @@ +@@ -71,6 +71,24 @@ }; / { diff --git a/arm-dts-am335x-boneblack-lcdc-add-panel-info.patch b/arm-dts-am335x-boneblack-lcdc-add-panel-info.patch index 00511f50e..3e85c3898 100644 --- a/arm-dts-am335x-boneblack-lcdc-add-panel-info.patch +++ b/arm-dts-am335x-boneblack-lcdc-add-panel-info.patch @@ -11,10 +11,10 @@ Signed-off-by: Robert Nelson 1 file changed, 13 insertions(+) diff --git a/arch/arm/boot/dts/am335x-boneblack.dts b/arch/arm/boot/dts/am335x-boneblack.dts -index 305975d3f531..bf5349165542 100644 +index 901739fcb85a..5dcdcd173572 100644 --- a/arch/arm/boot/dts/am335x-boneblack.dts +++ b/arch/arm/boot/dts/am335x-boneblack.dts -@@ -73,5 +73,18 @@ +@@ -78,5 +78,18 @@ pinctrl-0 = <&nxp_hdmi_bonelt_pins>; pinctrl-1 = <&nxp_hdmi_bonelt_off_pins>; status = "okay"; diff --git a/arm-dts-sun7i-bananapi.patch b/arm-dts-sun7i-bananapi.patch index 94cbc9eb6..8d1ef97b4 100644 --- a/arm-dts-sun7i-bananapi.patch +++ b/arm-dts-sun7i-bananapi.patch @@ -14,17 +14,17 @@ Signed-off-by: Hans de Goede create mode 100644 arch/arm/boot/dts/sun7i-a20-bananapi.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index b8c5cd3ddeb9..c3003a4460f5 100644 +index 7c80af906897..678bdccb382d 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -414,6 +414,7 @@ dtb-$(CONFIG_MACH_SUN6I) += \ +@@ -433,6 +433,7 @@ dtb-$(CONFIG_MACH_SUN6I) += \ sun6i-a31-hummingbird.dtb \ sun6i-a31-m9.dtb dtb-$(CONFIG_MACH_SUN7I) += \ + sun7i-a20-bananapi.dtb \ sun7i-a20-cubieboard2.dtb \ sun7i-a20-cubietruck.dtb \ - sun7i-a20-i12-tvbox.dtb \ + sun7i-a20-hummingbird.dtb \ diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi.dts b/arch/arm/boot/dts/sun7i-a20-bananapi.dts new file mode 100644 index 000000000000..7214475a3c36 diff --git a/config-arm-generic b/config-arm-generic index dc561554f..4310fa17a 100644 --- a/config-arm-generic +++ b/config-arm-generic @@ -69,6 +69,7 @@ CONFIG_POWER_RESET_VEXPRESS=y CONFIG_REGULATOR_VEXPRESS=m CONFIG_SENSORS_VEXPRESS=m CONFIG_CLKSRC_VERSATILE=y +CONFIG_POWER_RESET_VERSATILE=y # CONFIG_ARM_CHARLCD is not set # Power/Thermal/Cpufreq diff --git a/config-arm64 b/config-arm64 index 4d1931942..bb584bd57 100644 --- a/config-arm64 +++ b/config-arm64 @@ -8,6 +8,7 @@ CONFIG_SCHED_SMT=y # arm64 only SoCs CONFIG_ARCH_XGENE=y +# CONFIG_ARCH_THUNDER is not set # CONFIG_AMBA_PL08X is not set CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y diff --git a/config-armv7-generic b/config-armv7-generic index 044df4295..603e9076c 100644 --- a/config-armv7-generic +++ b/config-armv7-generic @@ -61,6 +61,7 @@ CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA=y # CONFIG_ARCH_HI3xxx is not set # CONFIG_ARCH_HISI is not set # CONFIG_ARCH_MEDIATEK is not set +# CONFIG_ARCH_MESON is not set # CONFIG_ARCH_QCOM is not set # CONFIG_ARCH_S5PV210 is not set # CONFIG_ARCH_SHMOBILE_MULTI is not set @@ -189,6 +190,7 @@ CONFIG_REGULATOR_AXP20X=m CONFIG_IR_SUNXI=m CONFIG_MDIO_SUN4I=m CONFIG_SUN4I_EMAC=m +CONFIG_RTC_DRV_SUN6I=m # Exynos CONFIG_ARCH_EXYNOS3=y diff --git a/config-generic b/config-generic index 4ed0c0da1..2ce3c61e1 100644 --- a/config-generic +++ b/config-generic @@ -718,6 +718,7 @@ CONFIG_TCP_CONG_HTCP=m CONFIG_TCP_CONG_HSTCP=m CONFIG_TCP_CONG_HYBLA=m CONFIG_TCP_CONG_ILLINOIS=m +CONFIG_TCP_CONG_DCTCP=m CONFIG_TCP_CONG_LP=m CONFIG_TCP_CONG_SCALABLE=m CONFIG_TCP_CONG_VEGAS=m @@ -759,6 +760,8 @@ CONFIG_IP_PIMSM_V1=y CONFIG_IP_PIMSM_V2=y CONFIG_SYN_COOKIES=y CONFIG_NET_IPVTI=m +CONFIG_NET_FOU=m +CONFIG_GENEVE=m CONFIG_INET_AH=m CONFIG_INET_ESP=m CONFIG_INET_IPCOMP=m @@ -777,6 +780,7 @@ CONFIG_IP_VS_PROTO_UDP=y CONFIG_IP_VS_PROTO_ESP=y CONFIG_IP_VS_PROTO_AH=y CONFIG_IP_VS_PROTO_SCTP=y +CONFIG_IP_VS_FO=m CONFIG_IP_VS_IPV6=y CONFIG_IP_VS_RR=m CONFIG_IP_VS_WRR=m @@ -1018,12 +1022,16 @@ CONFIG_NFT_HASH=m CONFIG_NFT_COUNTER=m CONFIG_NFT_LOG=m CONFIG_NFT_LIMIT=m +CONFIG_NFT_MASQ=m +CONFIG_NFT_MASQ_IPV4=m +CONFIG_NFT_MASQ_IPV6=m CONFIG_NFT_NAT=m CONFIG_NFT_QUEUE=m CONFIG_NFT_REJECT=m CONFIG_NFT_COMPAT=m CONFIG_NF_TABLES_IPV4=m +CONFIG_NF_REJECT_IPV6=m CONFIG_NFT_REJECT_IPV4=m CONFIG_NFT_CHAIN_ROUTE_IPV4=m CONFIG_NFT_CHAIN_NAT_IPV4=m @@ -1083,6 +1091,7 @@ CONFIG_IP_SET_HASH_IPMARK=m CONFIG_IP_SET_HASH_IPPORT=m CONFIG_IP_SET_HASH_IPPORTIP=m CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_MAC=m CONFIG_IP_SET_HASH_NETPORTNET=m CONFIG_IP_SET_HASH_NET=m CONFIG_IP_SET_HASH_NETNET=m @@ -1208,6 +1217,7 @@ CONFIG_BATMAN_ADV_MCAST=y CONFIG_OPENVSWITCH=m CONFIG_OPENVSWITCH_GRE=y CONFIG_OPENVSWITCH_VXLAN=y +CONFIG_OPENVSWITCH_GENEVE=y CONFIG_VSOCKETS=m @@ -1307,6 +1317,8 @@ CONFIG_ETHERNET=y CONFIG_NET_VENDOR_ADAPTEC=y CONFIG_ADAPTEC_STARFIRE=m +# CONFIG_NET_VENDOR_AGERE is not set + CONFIG_NET_VENDOR_ALTEON=y CONFIG_ACENIC=m # CONFIG_ACENIC_OMIT_TIGON_I is not set @@ -1322,6 +1334,7 @@ CONFIG_PCMCIA_NMCLAN=m CONFIG_NET_VENDOR_ARC=y CONFIG_ARC_EMAC=m +# CONFIG_EMAC_ROCKCHIP is not set CONFIG_NET_VENDOR_ATHEROS=y CONFIG_ALX=m @@ -1403,6 +1416,7 @@ CONFIG_I40E=m # CONFIG_I40E_VXLAN is not set # CONFIG_I40E_DCB is not set # CONFIG_I40EVF is not set +CONFIG_FM10K=m # CONFIG_NET_VENDOR_I825XX is not set @@ -1455,6 +1469,8 @@ CONFIG_QLCNIC_HWMON=y CONFIG_QLGE=m CONFIG_NETXEN_NIC=m +# CONFIG_NET_VENDOR_QUALCOMM is not set + CONFIG_NET_VENDOR_REALTEK=y CONFIG_ATP=m CONFIG_8139CP=m @@ -1527,6 +1543,7 @@ CONFIG_DAVICOM_PHY=m CONFIG_DP83640_PHY=m CONFIG_FIXED_PHY=y CONFIG_MDIO_BITBANG=m +CONFIG_MDIO_BCM_UNIMAC=m CONFIG_NATIONAL_PHY=m CONFIG_ICPLUS_PHY=m CONFIG_BCM63XX_PHY=m @@ -1653,11 +1670,14 @@ CONFIG_ATH9K_BTCOEX_SUPPORT=y # CONFIG_ATH9K_HTC_DEBUGFS is not set # CONFIG_ATH9K_STATION_STATISTICS is not set # CONFIG_ATH9K_WOW is not set +# CONFIG_ATH9K_DYNACK is not set +# CONFIG_ATH9K_CHANNEL_CONTEXT is not set # CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m # CONFIG_ATH10K_DEBUG is not set # CONFIG_ATH10K_TRACING is not set +# CONFIG_ATH_TRACEPOINTS is not set CONFIG_ATH10K_DEBUGFS=y CONFIG_WCN36XX=m # CONFIG_WCN36XX_DEBUGFS is not set @@ -1724,12 +1744,15 @@ CONFIG_LIBERTAS_SDIO=m # CONFIG_LIBERTAS_THINFIRM is not set # CONFIG_LIBERTAS_SPI is not set CONFIG_LIBERTAS_MESH=y + CONFIG_IWLWIFI=m CONFIG_IWLDVM=m CONFIG_IWLMVM=m # CONFIG_IWLWIFI_BCAST_FILTERING is not set +# CONFIG_IWLWIFI_UAPSD is not set CONFIG_IWLWIFI_DEBUG=y CONFIG_IWLWIFI_DEBUGFS=y + CONFIG_IWLEGACY=m CONFIG_IWLEGACY_DEBUG=y CONFIG_IWLEGACY_DEBUGFS=y @@ -1737,6 +1760,7 @@ CONFIG_IWL4965=y CONFIG_IWL3945=m # CONFIG_IWM is not set # CONFIG_IWLWIFI_DEBUG_EXPERIMENTAL_UCODE is not set + CONFIG_MAC80211_HWSIM=m CONFIG_P54_COMMON=m CONFIG_P54_USB=m @@ -1793,9 +1817,11 @@ CONFIG_RTL8192CE=m CONFIG_RTL8192SE=m CONFIG_RTL8192CU=m CONFIG_RTL8192DE=m +CONFIG_RTL8192EE=m CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m CONFIG_RTL8188EE=m +CONFIG_RTL8821AE=m CONFIG_MWIFIEX=m CONFIG_MWIFIEX_SDIO=m @@ -3742,6 +3768,7 @@ CONFIG_USB_S2255=m # CONFIG_VIDEO_SH_MOBILE_CSI2 is not set CONFIG_USB_ZR364XX=m # CONFIG_SOC_CAMERA is not set +# CONFIG_SOC_TI is not set # # USB Network adaptors @@ -4732,6 +4759,7 @@ CONFIG_LEDS_DELL_NETBOOKS=m # CONFIG_LEDS_PWM is not set # CONFIG_LEDS_LP8501 is not set # CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_SYSCON is not set CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=m CONFIG_LEDS_TRIGGER_ONESHOT=m @@ -4927,6 +4955,8 @@ CONFIG_NET_DSA=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MV88E6131=m CONFIG_NET_DSA_MV88E6123_61_65=m +CONFIG_NET_DSA_MV88E6171=m +CONFIG_NET_DSA_BCM_SF2=m # Used by Maemo, we don't care. # CONFIG_PHONET is not set diff --git a/kernel.spec b/kernel.spec index 1375d376d..01e53fdb3 100644 --- a/kernel.spec +++ b/kernel.spec @@ -69,7 +69,7 @@ Summary: The Linux kernel # The rc snapshot level %define rcrev 0 # The git snapshot level -%define gitrev 1 +%define gitrev 2 # Set rpm version accordingly %define rpmversion 3.%{upstream_sublevel}.0 %endif @@ -2222,6 +2222,9 @@ fi # ||----w | # || || %changelog +* Thu Oct 09 2014 Josh Boyer - 3.18.0-0.rc0.git2.1 +- Linux v3.17-5503-g35a9ad8af0bb + * Wed Oct 08 2014 Josh Boyer - 3.18.0-0.rc0.git1.1 - Linux v3.17-2860-gef0625b70dac - Reenable debugging options. diff --git a/sources b/sources index 6b21818a2..df0f3ebd3 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ fb30d0f29214d75cddd2faa94f73d5cf linux-3.17.tar.xz 159e969cbc27201d8e2fa0f609dc722f perf-man-3.17.tar.gz -35d5cb50791e08c30c0a795e47bfeb9c patch-3.17-git1.xz +6fea6108916cfe062ca7f536e979a940 patch-3.17-git2.xz From c01ddf0dcd7e42362ea1be6489b7da7500032c24 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 10 Oct 2014 08:52:15 -0400 Subject: [PATCH 24/67] Linux v3.17-5585-g782d59c5dfc5 --- config-armv7-lpae | 1 + kernel.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/config-armv7-lpae b/config-armv7-lpae index 661ce3685..3b5b7cf57 100644 --- a/config-armv7-lpae +++ b/config-armv7-lpae @@ -63,6 +63,7 @@ CONFIG_DAVINCI_WATCHDOG=m CONFIG_SPI_DAVINCI=m CONFIG_TI_DAVINCI_MDIO=m # CONFIG_TI_SOC_THERMAL is not set +CONFIG_KEYSTONE_IRQ=m # Tegra (non A15 device options) # CONFIG_ARCH_TEGRA_2x_SOC is not set diff --git a/kernel.spec b/kernel.spec index 01e53fdb3..89f91af97 100644 --- a/kernel.spec +++ b/kernel.spec @@ -69,7 +69,7 @@ Summary: The Linux kernel # The rc snapshot level %define rcrev 0 # The git snapshot level -%define gitrev 2 +%define gitrev 3 # Set rpm version accordingly %define rpmversion 3.%{upstream_sublevel}.0 %endif @@ -2222,6 +2222,9 @@ fi # ||----w | # || || %changelog +* Thu Oct 09 2014 Josh Boyer - 3.18.0-0.rc0.git3.1 +- Linux v3.17-5585-g782d59c5dfc5 + * Thu Oct 09 2014 Josh Boyer - 3.18.0-0.rc0.git2.1 - Linux v3.17-5503-g35a9ad8af0bb diff --git a/sources b/sources index df0f3ebd3..d6dde0bc2 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ fb30d0f29214d75cddd2faa94f73d5cf linux-3.17.tar.xz 159e969cbc27201d8e2fa0f609dc722f perf-man-3.17.tar.gz -6fea6108916cfe062ca7f536e979a940 patch-3.17-git2.xz +6a3656608dd827db531c0c2f5f15f38d patch-3.17-git3.xz From 35ac9a875942baf213b210ef2954da4fa0f3b463 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 10 Oct 2014 09:14:00 -0400 Subject: [PATCH 25/67] Linux v3.17-6136-gc798360cd143 --- ...tomatically-enforce-module-signature.patch | 4 +- KEYS-Add-a-system-blacklist-keyring.patch | 4 +- ...t-certificates-from-UEFI-Secure-Boot.patch | 4 +- ...R-access-when-module-security-is-ena.patch | 8 +- ...PI-video-change-acpi-video-brightnes.patch | 6 +- ...com-use-restart_notifier-mechanism-f.patch | 6 +- ..._rsdp-kernel-parameter-when-module-l.patch | 4 +- ...-new-models-to-the-use_native_backli.patch | 88 ------------------- ...se-native-backlight-quirk-for-the-Th.patch | 44 ---------- ...se_native_backlight-quirk-for-HP-Pro.patch | 40 --------- config-arm64 | 1 + config-armv7 | 2 + config-armv7-lpae | 1 + config-generic | 2 + criu-no-expert.patch | 6 +- ...ECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch | 4 +- input-silence-i8042-noise.patch | 2 +- kernel.spec | 19 +--- libata-Un-break-ATA-blacklist.patch | 51 ----------- sources | 2 +- ...Disable-watchdog-on-virtual-machines.patch | 6 +- 21 files changed, 38 insertions(+), 266 deletions(-) delete mode 100644 acpi-video-Add-4-new-models-to-the-use_native_backli.patch delete mode 100644 acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch delete mode 100644 acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch delete mode 100644 libata-Un-break-ATA-blacklist.patch diff --git a/Add-option-to-automatically-enforce-module-signature.patch b/Add-option-to-automatically-enforce-module-signature.patch index 4cce7b623..9bf38ea02 100644 --- a/Add-option-to-automatically-enforce-module-signature.patch +++ b/Add-option-to-automatically-enforce-module-signature.patch @@ -33,10 +33,10 @@ index 199f453cb4de..ec38acf00b40 100644 290/040 ALL edd_mbr_sig_buffer EDD MBR signatures 2D0/A00 ALL e820_map E820 memory map table diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index e4b1f431c7ed..e12033b15d25 100644 +index 3eb8a41509b3..e46dc01f5904 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -1578,6 +1578,16 @@ config EFI_MIXED +@@ -1577,6 +1577,16 @@ config EFI_MIXED If unsure, say N. diff --git a/KEYS-Add-a-system-blacklist-keyring.patch b/KEYS-Add-a-system-blacklist-keyring.patch index 7bbda8d5e..98df75570 100644 --- a/KEYS-Add-a-system-blacklist-keyring.patch +++ b/KEYS-Add-a-system-blacklist-keyring.patch @@ -29,10 +29,10 @@ index 72665eb80692..2c7b80d31366 100644 + #endif /* _KEYS_SYSTEM_KEYRING_H */ diff --git a/init/Kconfig b/init/Kconfig -index e25a82a291a6..2d90498c77d7 100644 +index d2355812ba48..4fcd7dd882c2 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1733,6 +1733,15 @@ config SYSTEM_TRUSTED_KEYRING +@@ -1722,6 +1722,15 @@ config SYSTEM_TRUSTED_KEYRING Keys in this keyring are used by module signature checking. diff --git a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch index d0e8c1d86..c2b5de2f3 100644 --- a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch +++ b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch @@ -42,10 +42,10 @@ index 41359e548bcb..db9e6118575e 100644 efi_guid_t guid; u64 table; diff --git a/init/Kconfig b/init/Kconfig -index 2d90498c77d7..5e701ec1be55 100644 +index 4fcd7dd882c2..65ea201f38af 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1887,6 +1887,15 @@ config MODULE_SIG_ALL +@@ -1876,6 +1876,15 @@ config MODULE_SIG_ALL comment "Do not forget to sign required modules with scripts/sign-file" depends on MODULE_SIG_FORCE && !MODULE_SIG_ALL diff --git a/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch b/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch index 2fc17c0b4..01af607ea 100644 --- a/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch +++ b/PCI-Lock-down-BAR-access-when-module-security-is-ena.patch @@ -16,7 +16,7 @@ Signed-off-by: Matthew Garrett 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c -index 9ff0a901ecf7..8d0d5d92b8d9 100644 +index 92b6d9ab00e4..f77f893114a4 100644 --- a/drivers/pci/pci-sysfs.c +++ b/drivers/pci/pci-sysfs.c @@ -30,6 +30,7 @@ @@ -27,7 +27,7 @@ index 9ff0a901ecf7..8d0d5d92b8d9 100644 #include "pci.h" static int sysfs_initialized; /* = 0 */ -@@ -704,6 +705,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj, +@@ -703,6 +704,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj, loff_t init_off = off; u8 *data = (u8 *) buf; @@ -37,7 +37,7 @@ index 9ff0a901ecf7..8d0d5d92b8d9 100644 if (off > dev->cfg_size) return 0; if (off + count > dev->cfg_size) { -@@ -998,6 +1002,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr, +@@ -997,6 +1001,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr, resource_size_t start, end; int i; @@ -47,7 +47,7 @@ index 9ff0a901ecf7..8d0d5d92b8d9 100644 for (i = 0; i < PCI_ROM_RESOURCE; i++) if (res == &pdev->resource[i]) break; -@@ -1099,6 +1106,9 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj, +@@ -1098,6 +1105,9 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj, struct bin_attribute *attr, char *buf, loff_t off, size_t count) { diff --git a/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch b/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch index f728b9342..8d400c7a1 100644 --- a/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch +++ b/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch @@ -15,10 +15,10 @@ Signed-off-by: Josh Boyer 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt -index d9a452e8fb9b..b3400aafe446 100644 +index 41f7ec1fcf61..c79eb60a7869 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt -@@ -3618,7 +3618,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. +@@ -3625,7 +3625,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. the allocated input device; If set to 0, video driver will only send out the event without touching backlight brightness level. @@ -28,7 +28,7 @@ index d9a452e8fb9b..b3400aafe446 100644 virtio_mmio.device= [VMMIO] Memory mapped virtio (platform) device. diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c -index 8e7e18567ae6..a3d293806f96 100644 +index 807a88a0f394..b8a441713e86 100644 --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c @@ -68,7 +68,7 @@ MODULE_AUTHOR("Bruno Ducrot"); diff --git a/Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch b/Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch index 8ac29de0e..643894e56 100644 --- a/Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch +++ b/Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch @@ -9,7 +9,7 @@ This reverts commit cf1fc187628913070c3e418ce0e205732435aa2f. 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c -index d30dddd21323..d5ed1272b928 100644 +index e730935fa457..c57ca10bed20 100644 --- a/drivers/pinctrl/qcom/pinctrl-msm.c +++ b/drivers/pinctrl/qcom/pinctrl-msm.c @@ -27,7 +27,8 @@ @@ -79,8 +79,8 @@ index d30dddd21323..d5ed1272b928 100644 int msm_pinctrl_probe(struct platform_device *pdev, const struct msm_pinctrl_soc_data *soc_data) -@@ -946,8 +943,6 @@ int msm_pinctrl_remove(struct platform_device *pdev) - +@@ -940,8 +937,6 @@ int msm_pinctrl_remove(struct platform_device *pdev) + gpiochip_remove(&pctrl->chip); pinctrl_unregister(pctrl->pctrl); - unregister_restart_handler(&pctrl->restart_nb); diff --git a/acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch b/acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch index cea06c30f..986bce9cb 100644 --- a/acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch +++ b/acpi-Ignore-acpi_rsdp-kernel-parameter-when-module-l.patch @@ -13,7 +13,7 @@ Signed-off-by: Josh Boyer 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c -index 3abe9b223ba7..ee8f11cf65da 100644 +index 9964f70be98d..d95d258f606c 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c @@ -44,6 +44,7 @@ @@ -24,7 +24,7 @@ index 3abe9b223ba7..ee8f11cf65da 100644 #include #include -@@ -245,7 +246,7 @@ early_param("acpi_rsdp", setup_acpi_rsdp); +@@ -255,7 +256,7 @@ early_param("acpi_rsdp", setup_acpi_rsdp); acpi_physical_address __init acpi_os_get_root_pointer(void) { #ifdef CONFIG_KEXEC diff --git a/acpi-video-Add-4-new-models-to-the-use_native_backli.patch b/acpi-video-Add-4-new-models-to-the-use_native_backli.patch deleted file mode 100644 index 4411248f3..000000000 --- a/acpi-video-Add-4-new-models-to-the-use_native_backli.patch +++ /dev/null @@ -1,88 +0,0 @@ -From: Hans de Goede -Date: Wed, 30 Apr 2014 15:24:19 +0200 -Subject: [PATCH] acpi-video: Add 4 new models to the use_native_backlight dmi - list - -Acer Aspire V5-171 -https://bugzilla.redhat.com/show_bug.cgi?id=983342 - -Acer Aspire V5-471G -Lenovo Yoga 2 11 -Reported-and-tested-by: Vincent Gerris - -HP EliteBook 8470p -https://bugzilla.redhat.com/show_bug.cgi?id=1093120 - -Cc: stable@vger.kernel.org -Signed-off-by: Hans de Goede ---- - drivers/acpi/video.c | 32 ++++++++++++++++++++++++++++++++ - 1 file changed, 32 insertions(+) - -diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c -index a3d293806f96..5c8ce8c699fc 100644 ---- a/drivers/acpi/video.c -+++ b/drivers/acpi/video.c -@@ -556,6 +556,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = { - }, - }, - { -+ .callback = video_set_use_native_backlight, -+ .ident = "Lenovo Yoga 2 11", -+ .matches = { -+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), -+ DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo Yoga 2 11"), -+ }, -+ }, -+ { - .callback = video_set_use_native_backlight, - .ident = "Thinkpad Helix", - .matches = { -@@ -597,6 +605,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = { - }, - { - .callback = video_set_use_native_backlight, -+ .ident = "Acer Aspire V5-171", -+ .matches = { -+ DMI_MATCH(DMI_SYS_VENDOR, "Acer"), -+ DMI_MATCH(DMI_PRODUCT_NAME, "V5-171"), -+ }, -+ }, -+ { -+ .callback = video_set_use_native_backlight, - .ident = "Acer Aspire V5-431", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), -@@ -644,6 +660,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = { - }, - }, - { -+ .callback = video_set_use_native_backlight, -+ .ident = "Acer Aspire V5-471G", -+ .matches = { -+ DMI_MATCH(DMI_BOARD_VENDOR, "Acer"), -+ DMI_MATCH(DMI_PRODUCT_NAME, "Aspire V5-471G"), -+ }, -+ }, -+ { - .callback = video_set_use_native_backlight, - .ident = "HP ProBook 4340s", - .matches = { -@@ -720,6 +744,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = { - }, - { - .callback = video_set_use_native_backlight, -+ .ident = "HP EliteBook 8470p", -+ .matches = { -+ DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), -+ DMI_MATCH(DMI_PRODUCT_NAME, "HP EliteBook 8470p"), -+ }, -+ }, -+ { -+ .callback = video_set_use_native_backlight, - .ident = "HP EliteBook 8780w", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), --- -1.9.3 - diff --git a/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch b/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch deleted file mode 100644 index fb77e5641..000000000 --- a/acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch +++ /dev/null @@ -1,44 +0,0 @@ -From: Hans de Goede -Date: Mon, 2 Jun 2014 17:41:10 +0200 -Subject: [PATCH] acpi-video: Add use native backlight quirk for the ThinkPad - W530 - -Like all of the other *30 ThinkPad models, the W530 has a broken acpi-video -backlight control. Note in order for this to actually fix things on the -ThinkPad W530 the commit titled: -"nouveau: Don't check acpi_video_backlight_support() before registering backlight" -is also needed. - -https://bugzilla.redhat.com/show_bug.cgi?id=1093171 - -Bugzilla: 1093171 -Upstream-status: Queued for 3.16 - -Cc: stable@vger.kernel.org -Signed-off-by: Hans de Goede ---- - drivers/acpi/video.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c -index 5c8ce8c699fc..d8a6ecb0b2b2 100644 ---- a/drivers/acpi/video.c -+++ b/drivers/acpi/video.c -@@ -469,6 +469,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = { - }, - { - .callback = video_set_use_native_backlight, -+ .ident = "ThinkPad W530", -+ .matches = { -+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), -+ DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad W530"), -+ }, -+ }, -+ { -+ .callback = video_set_use_native_backlight, - .ident = "ThinkPad X230", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), --- -1.9.3 - diff --git a/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch b/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch deleted file mode 100644 index 33a26383b..000000000 --- a/acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch +++ /dev/null @@ -1,40 +0,0 @@ -From: Hans de Goede -Date: Mon, 2 Jun 2014 17:41:11 +0200 -Subject: [PATCH] acpi-video: Add use_native_backlight quirk for HP ProBook - 4540s - -As reported here: -https://bugzilla.redhat.com/show_bug.cgi?id=1025690 -This is yet another model which needs this quirk. - -Bugzilla: 1025690 -Upstream-status: Waiting for feedback from reporter - -Cc: stable@vger.kernel.org -Signed-off-by: Hans de Goede ---- - drivers/acpi/video.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c -index d8a6ecb0b2b2..8dbf009521c7 100644 ---- a/drivers/acpi/video.c -+++ b/drivers/acpi/video.c -@@ -693,6 +693,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = { - }, - { - .callback = video_set_use_native_backlight, -+ .ident = "HP ProBook 4540s", -+ .matches = { -+ DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), -+ DMI_MATCH(DMI_PRODUCT_VERSION, "HP ProBook 4540s"), -+ }, -+ }, -+ { -+ .callback = video_set_use_native_backlight, - .ident = "HP ProBook 2013 models", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), --- -1.9.3 - diff --git a/config-arm64 b/config-arm64 index bb584bd57..bff77a21b 100644 --- a/config-arm64 +++ b/config-arm64 @@ -94,6 +94,7 @@ CONFIG_NET_XGENE=y CONFIG_RTC_DRV_XGENE=m CONFIG_RTC_DRV_EFI=y CONFIG_HW_RANDOM_XGENE=m +CONFIG_GPIO_XGENE=y # not arm64 # CONFIG_GPIO_ADNP is not set diff --git a/config-armv7 b/config-armv7 index d6dfd043b..abb02c1ea 100644 --- a/config-armv7 +++ b/config-armv7 @@ -488,6 +488,7 @@ CONFIG_SPI_ROCKCHIP=m CONFIG_SND_SOC_ROCKCHIP=m CONFIG_PWM_ROCKCHIP=m CONFIG_ROCKCHIP_SARADC=m +# CONFIG_ROCKCHIP_IODOMAIN is not set # ST Ericsson CONFIG_MACH_HREFV60=y @@ -602,6 +603,7 @@ CONFIG_XILLYBUS=m CONFIG_XILLYBUS_PCIE=m CONFIG_XILLYBUS_OF=m CONFIG_GS_FPGABOOT=m +# CONFIG_PCIE_XILINX is not set # Multi function devices CONFIG_MFD_88PM800=m diff --git a/config-armv7-lpae b/config-armv7-lpae index 3b5b7cf57..935abd805 100644 --- a/config-armv7-lpae +++ b/config-armv7-lpae @@ -64,6 +64,7 @@ CONFIG_SPI_DAVINCI=m CONFIG_TI_DAVINCI_MDIO=m # CONFIG_TI_SOC_THERMAL is not set CONFIG_KEYSTONE_IRQ=m +CONFIG_PCI_KEYSTONE=y # Tegra (non A15 device options) # CONFIG_ARCH_TEGRA_2x_SOC is not set diff --git a/config-generic b/config-generic index 2ce3c61e1..a24062221 100644 --- a/config-generic +++ b/config-generic @@ -5241,6 +5241,8 @@ CONFIG_FMC_CHARDEV=m # CONFIG_DEVFREQ_GOV_POWERSAVE is not set # CONFIG_DEVFREQ_GOV_USERSPACE is not set +# CONFIG_CPUFREQ_DT is not set + # CONFIG_MODULE_SIG is not set # FIXME: Revisit this to see if we can use it instead of the spec file stuff # CONFIG_MODULE_COMPRESS is not set diff --git a/criu-no-expert.patch b/criu-no-expert.patch index 7583f7418..d6e3bb0e1 100644 --- a/criu-no-expert.patch +++ b/criu-no-expert.patch @@ -9,10 +9,10 @@ Upstream-status: Fedora mustard 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/init/Kconfig b/init/Kconfig -index 5e701ec1be55..abb2fc8f1b7a 100644 +index 65ea201f38af..adfc3ba98571 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1149,7 +1149,7 @@ config DEBUG_BLK_CGROUP +@@ -1138,7 +1138,7 @@ config DEBUG_BLK_CGROUP endif # CGROUPS config CHECKPOINT_RESTORE @@ -21,7 +21,7 @@ index 5e701ec1be55..abb2fc8f1b7a 100644 default n help Enables additional kernel features in a sake of checkpoint/restore. -@@ -1160,7 +1160,7 @@ config CHECKPOINT_RESTORE +@@ -1149,7 +1149,7 @@ config CHECKPOINT_RESTORE If unsure, say N here. menuconfig NAMESPACES diff --git a/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch b/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch index e781fdcd5..0f1082cbe 100644 --- a/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch +++ b/efi-Make-EFI_SECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch @@ -11,10 +11,10 @@ Signed-off-by: Josh Boyer 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index e12033b15d25..05a5303d1857 100644 +index e46dc01f5904..738c295ac3c3 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -1579,7 +1579,8 @@ config EFI_MIXED +@@ -1578,7 +1578,8 @@ config EFI_MIXED If unsure, say N. config EFI_SECURE_BOOT_SIG_ENFORCE diff --git a/input-silence-i8042-noise.patch b/input-silence-i8042-noise.patch index 0872bc3d3..1431a5476 100644 --- a/input-silence-i8042-noise.patch +++ b/input-silence-i8042-noise.patch @@ -16,7 +16,7 @@ Upstream-status: Fedora mustard 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c -index b67d9aef9fe4..dd58b0fdaafd 100644 +index 44973196d3fd..0179281a2517 100644 --- a/drivers/base/power/main.c +++ b/drivers/base/power/main.c @@ -122,8 +122,6 @@ void device_pm_unlock(void) diff --git a/kernel.spec b/kernel.spec index 89f91af97..884cdc288 100644 --- a/kernel.spec +++ b/kernel.spec @@ -69,7 +69,7 @@ Summary: The Linux kernel # The rc snapshot level %define rcrev 0 # The git snapshot level -%define gitrev 3 +%define gitrev 4 # Set rpm version accordingly %define rpmversion 3.%{upstream_sublevel}.0 %endif @@ -599,15 +599,10 @@ Patch22000: weird-root-dentry-name-debug.patch #rhbz 1025603 Patch25063: disable-libdw-unwind-on-non-x86.patch -#rhbz 983342 1093120 -Patch25069: acpi-video-Add-4-new-models-to-the-use_native_backli.patch - Patch26000: perf-install-trace-event-plugins.patch # Patch series from Hans for various backlight and platform driver fixes Patch26002: samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch -Patch26013: acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch -Patch26014: acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch #rhbz 1138759 Patch26021: drm-vmwgfx-Fix-drm.h-include.patch @@ -617,8 +612,6 @@ Patch26029: KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch Patch26030: GFS2-Make-rename-not-save-dirent-location.patch -Patch26031: libata-Un-break-ATA-blacklist.patch - Patch26032: Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch # git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel @@ -1332,15 +1325,10 @@ ApplyPatch ath9k-rx-dma-stop-check.patch #rhbz 1025603 ApplyPatch disable-libdw-unwind-on-non-x86.patch -#rhbz 983342 1093120 -ApplyPatch acpi-video-Add-4-new-models-to-the-use_native_backli.patch - ApplyPatch perf-install-trace-event-plugins.patch # Patch series from Hans for various backlight and platform driver fixes ApplyPatch samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch -ApplyPatch acpi-video-Add-use-native-backlight-quirk-for-the-Th.patch -ApplyPatch acpi-video-Add-use_native_backlight-quirk-for-HP-Pro.patch #rhbz 1138759 ApplyPatch drm-vmwgfx-Fix-drm.h-include.patch @@ -1350,8 +1338,6 @@ ApplyPatch KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch ApplyPatch GFS2-Make-rename-not-save-dirent-location.patch -ApplyPatch libata-Un-break-ATA-blacklist.patch - ApplyPatch Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch %if 0%{?aarch64patches} @@ -2222,6 +2208,9 @@ fi # ||----w | # || || %changelog +* Fri Oct 10 2014 Josh Boyer - 3.18.0-0.rc0.git4.1 +- Linux v3.17-6136-gc798360cd143 + * Thu Oct 09 2014 Josh Boyer - 3.18.0-0.rc0.git3.1 - Linux v3.17-5585-g782d59c5dfc5 diff --git a/libata-Un-break-ATA-blacklist.patch b/libata-Un-break-ATA-blacklist.patch deleted file mode 100644 index e8d70ba66..000000000 --- a/libata-Un-break-ATA-blacklist.patch +++ /dev/null @@ -1,51 +0,0 @@ -From: George Spelvin -Date: Tue, 7 Oct 2014 07:26:38 -0400 -Subject: [PATCH] libata: Un-break ATA blacklist - -lib/glob.c provides a new glob_match() function, with arguments in -(pattern, string) order. It replaced a private function with arguments -in (string, pattern) order, but I didn't swap the call site... - -The result was the entire ATA blacklist was effectively disabled. - -The lesson for today is "I f***ed up *how* badly *how* many months ago?", -er, I mean "Nobody Tests RC Kernels On Legacy Hardware". - -This was not a subtle break, but it made it through an entire RC -cycle unreported, presumably because all the people doing testing -have full-featured hardware. - -(FWIW, the reason for the argument swap was because fnmatch() does it that -way, and for a while implementing a full fnmatch() was being considered.) - -Fixes: 428ac5fc056e0 (libata: Use glob_match from lib/glob.c) -Reported-by: Steven Honeyman -Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=71371#c21 -Signed-off-by: George Spelvin -Cc: # 3.17 -Tested-by: Steven Honeyman -Signed-off-by: Tejun Heo ---- - drivers/ata/libata-core.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c -index f3e7b9f894cd..6f674906c64c 100644 ---- a/drivers/ata/libata-core.c -+++ b/drivers/ata/libata-core.c -@@ -4261,10 +4261,10 @@ static unsigned long ata_dev_blacklisted(const struct ata_device *dev) - ata_id_c_string(dev->id, model_rev, ATA_ID_FW_REV, sizeof(model_rev)); - - while (ad->model_num) { -- if (glob_match(model_num, ad->model_num)) { -+ if (glob_match(ad->model_num, model_num)) { - if (ad->model_rev == NULL) - return ad->horkage; -- if (glob_match(model_rev, ad->model_rev)) -+ if (glob_match(ad->model_rev, model_rev)) - return ad->horkage; - } - ad++; --- -1.9.3 - diff --git a/sources b/sources index d6dde0bc2..ef5521bd5 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ fb30d0f29214d75cddd2faa94f73d5cf linux-3.17.tar.xz 159e969cbc27201d8e2fa0f609dc722f perf-man-3.17.tar.gz -6a3656608dd827db531c0c2f5f15f38d patch-3.17-git3.xz +c8c1f5cd8b311eab3514df85827d23a8 patch-3.17-git4.xz diff --git a/watchdog-Disable-watchdog-on-virtual-machines.patch b/watchdog-Disable-watchdog-on-virtual-machines.patch index 23a17c054..6d8bdf616 100644 --- a/watchdog-Disable-watchdog-on-virtual-machines.patch +++ b/watchdog-Disable-watchdog-on-virtual-machines.patch @@ -20,7 +20,7 @@ Signed-off-by: Dave Jones 1 file changed, 29 insertions(+) diff --git a/kernel/watchdog.c b/kernel/watchdog.c -index a8d6914030fe..d0a8c308170d 100644 +index 7b223b212683..4757d7410087 100644 --- a/kernel/watchdog.c +++ b/kernel/watchdog.c @@ -24,6 +24,7 @@ @@ -31,7 +31,7 @@ index a8d6914030fe..d0a8c308170d 100644 #include #include -@@ -112,6 +113,32 @@ static int __init softlockup_all_cpu_backtrace_setup(char *str) +@@ -113,6 +114,32 @@ static int __init softlockup_all_cpu_backtrace_setup(char *str) __setup("softlockup_all_cpu_backtrace=", softlockup_all_cpu_backtrace_setup); #endif @@ -64,7 +64,7 @@ index a8d6914030fe..d0a8c308170d 100644 /* * Hard-lockup warnings should be triggered after just a few seconds. Soft- * lockups can have false positives under extreme conditions. So we generally -@@ -644,6 +671,8 @@ out: +@@ -660,6 +687,8 @@ out: void __init lockup_detector_init(void) { From 786ccb08844a7c477a5c9e2a175588290799b236 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Fri, 10 Oct 2014 11:19:12 -0400 Subject: [PATCH 26/67] CVE-2014-7970 VFS: DoS with USER_NS (rhbz 1151095 1151484) --- kernel.spec | 9 ++++ ...t_root-from-creating-a-loop-in-the-m.patch | 44 +++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch diff --git a/kernel.spec b/kernel.spec index 884cdc288..8ef5cd268 100644 --- a/kernel.spec +++ b/kernel.spec @@ -614,6 +614,9 @@ Patch26030: GFS2-Make-rename-not-save-dirent-location.patch Patch26032: Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch +#CVE-2014-7970 rhbz 1151095 1151484 +Patch26033: mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch + # git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel Patch30000: kernel-arm64.patch @@ -1340,6 +1343,9 @@ ApplyPatch GFS2-Make-rename-not-save-dirent-location.patch ApplyPatch Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch +#CVE-2014-7970 rhbz 1151095 1151484 +ApplyPatch mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch + %if 0%{?aarch64patches} ApplyPatch kernel-arm64.patch %ifnarch aarch64 # this is stupid, but i want to notice before secondary koji does. @@ -2208,6 +2214,9 @@ fi # ||----w | # || || %changelog +* Fri Oct 10 2014 Josh Boyer +- CVE-2014-7970 VFS: DoS with USER_NS (rhbz 1151095 1151484) + * Fri Oct 10 2014 Josh Boyer - 3.18.0-0.rc0.git4.1 - Linux v3.17-6136-gc798360cd143 diff --git a/mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch b/mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch new file mode 100644 index 000000000..0faadaf55 --- /dev/null +++ b/mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch @@ -0,0 +1,44 @@ +From: "Eric W. Biederman" +Date: Wed, 8 Oct 2014 10:42:27 -0700 +Subject: [PATCH] mnt: Prevent pivot_root from creating a loop in the mount + tree + +Andy Lutomirski recently demonstrated that when chroot is used to set +the root path below the path for the new ``root'' passed to pivot_root +the pivot_root system call succeeds and leaks mounts. + +In examining the code I see that starting with a new root that is +below the current root in the mount tree will result in a loop in the +mount tree after the mounts are detached and then reattached to one +another. Resulting in all kinds of ugliness including a leak of that +mounts involved in the leak of the mount loop. + +Prevent this problem by ensuring that the new mount is reachable from +the current root of the mount tree. + +Upstream-status: Submitted for 3.18 +Bugzilla: 1151095,1151484 + +Reported-by: Andy Lutomirski +Signed-off-by: "Eric W. Biederman" +--- + fs/namespace.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/fs/namespace.c b/fs/namespace.c +index ef42d9bee212..74647c2fe69c 100644 +--- a/fs/namespace.c ++++ b/fs/namespace.c +@@ -2820,6 +2820,9 @@ SYSCALL_DEFINE2(pivot_root, const char __user *, new_root, + /* make sure we can reach put_old from new_root */ + if (!is_path_reachable(old_mnt, old.dentry, &new)) + goto out4; ++ /* make certain new is below the root */ ++ if (!is_path_reachable(new_mnt, new.dentry, &root)) ++ goto out4; + root_mp->m_count++; /* pin it so it won't go away */ + lock_mount_hash(); + detach_mnt(new_mnt, &parent_path); +-- +1.9.3 + From dc79a66f2ee16b8d77427e73b72cc6a622e25ffa Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Sun, 12 Oct 2014 09:50:42 -0400 Subject: [PATCH 27/67] Enable CONFIG_I2C_DESIGNWARE_PCI (rhbz 1045821) --- config-generic | 2 +- kernel.spec | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/config-generic b/config-generic index a24062221..1d7f51296 100644 --- a/config-generic +++ b/config-generic @@ -5120,7 +5120,7 @@ CONFIG_ZSMALLOC=y # CONFIG_KEYBOARD_GPIO_POLLED is not set # CONFIG_MOUSE_GPIO is not set # CONFIG_I2C_DESIGNWARE_PLATFORM is not set -# CONFIG_I2C_DESIGNWARE_PCI is not set +CONFIG_I2C_DESIGNWARE_PCI=m # CONFIG_I2C_GPIO is not set # CONFIG_DEBUG_GPIO is not set # CONFIG_W1_MASTER_GPIO is not set diff --git a/kernel.spec b/kernel.spec index 8ef5cd268..44aed3393 100644 --- a/kernel.spec +++ b/kernel.spec @@ -2214,6 +2214,9 @@ fi # ||----w | # || || %changelog +* Sun Oct 12 2014 Josh Boyer +- Enable CONFIG_I2C_DESIGNWARE_PCI (rhbz 1045821) + * Fri Oct 10 2014 Josh Boyer - CVE-2014-7970 VFS: DoS with USER_NS (rhbz 1151095 1151484) From 91dcc1748da25674ed5a47e65a77153bcef55424 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Mon, 13 Oct 2014 07:56:44 -0400 Subject: [PATCH 28/67] Linux v3.17-7639-g90eac7eee2f4 --- ...Make-rename-not-save-dirent-location.patch | 90 ------------------- config-armv7-generic | 10 +++ config-generic | 6 ++ config-powerpc64 | 1 + config-powerpc64p7 | 1 + config-x86-generic | 2 + kernel.spec | 9 +- sources | 2 +- 8 files changed, 25 insertions(+), 96 deletions(-) delete mode 100644 GFS2-Make-rename-not-save-dirent-location.patch diff --git a/GFS2-Make-rename-not-save-dirent-location.patch b/GFS2-Make-rename-not-save-dirent-location.patch deleted file mode 100644 index adb4e6d73..000000000 --- a/GFS2-Make-rename-not-save-dirent-location.patch +++ /dev/null @@ -1,90 +0,0 @@ -From: Bob Peterson -Date: Mon, 29 Sep 2014 08:52:04 -0400 -Subject: [PATCH] GFS2: Make rename not save dirent location - -This patch fixes a regression in the patch "GFS2: Remember directory -insert point", commit 2b47dad866d04f14c328f888ba5406057b8c7d33. -The problem had to do with the rename function: The function found -space for the new dirent, and remembered that location. But then the -old dirent was removed, which often moved the eligible location for -the renamed dirent. Putting the new dirent at the saved location -caused file system corruption. - -This patch adds a new "save_loc" variable to struct gfs2_diradd. -If 1, the dirent location is saved. If 0, the dirent location is not -saved and the buffer_head is released as per previous behavior. - -Signed-off-by: Bob Peterson -Signed-off-by: Steven Whitehouse ---- - fs/gfs2/dir.c | 9 +++++++-- - fs/gfs2/dir.h | 1 + - fs/gfs2/inode.c | 6 +++--- - 3 files changed, 11 insertions(+), 5 deletions(-) - -diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c -index 1a349f9a9685..5d4261ff5d23 100644 ---- a/fs/gfs2/dir.c -+++ b/fs/gfs2/dir.c -@@ -2100,8 +2100,13 @@ int gfs2_diradd_alloc_required(struct inode *inode, const struct qstr *name, - } - if (IS_ERR(dent)) - return PTR_ERR(dent); -- da->bh = bh; -- da->dent = dent; -+ -+ if (da->save_loc) { -+ da->bh = bh; -+ da->dent = dent; -+ } else { -+ brelse(bh); -+ } - return 0; - } - -diff --git a/fs/gfs2/dir.h b/fs/gfs2/dir.h -index 126c65dda028..e1b309c24dab 100644 ---- a/fs/gfs2/dir.h -+++ b/fs/gfs2/dir.h -@@ -23,6 +23,7 @@ struct gfs2_diradd { - unsigned nr_blocks; - struct gfs2_dirent *dent; - struct buffer_head *bh; -+ int save_loc; - }; - - extern struct inode *gfs2_dir_search(struct inode *dir, -diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c -index fc8ac2ee0667..7d2723ce067e 100644 ---- a/fs/gfs2/inode.c -+++ b/fs/gfs2/inode.c -@@ -600,7 +600,7 @@ static int gfs2_create_inode(struct inode *dir, struct dentry *dentry, - int error, free_vfs_inode = 0; - u32 aflags = 0; - unsigned blocks = 1; -- struct gfs2_diradd da = { .bh = NULL, }; -+ struct gfs2_diradd da = { .bh = NULL, .save_loc = 1, }; - - if (!name->len || name->len > GFS2_FNAMESIZE) - return -ENAMETOOLONG; -@@ -899,7 +899,7 @@ static int gfs2_link(struct dentry *old_dentry, struct inode *dir, - struct gfs2_inode *ip = GFS2_I(inode); - struct gfs2_holder ghs[2]; - struct buffer_head *dibh; -- struct gfs2_diradd da = { .bh = NULL, }; -+ struct gfs2_diradd da = { .bh = NULL, .save_loc = 1, }; - int error; - - if (S_ISDIR(inode->i_mode)) -@@ -1337,7 +1337,7 @@ static int gfs2_rename(struct inode *odir, struct dentry *odentry, - struct gfs2_rgrpd *nrgd; - unsigned int num_gh; - int dir_rename = 0; -- struct gfs2_diradd da = { .nr_blocks = 0, }; -+ struct gfs2_diradd da = { .nr_blocks = 0, .save_loc = 0, }; - unsigned int x; - int error; - --- -1.9.3 - diff --git a/config-armv7-generic b/config-armv7-generic index 603e9076c..1097bb1f4 100644 --- a/config-armv7-generic +++ b/config-armv7-generic @@ -554,6 +554,8 @@ CONFIG_SPI_DW_MMIO=m CONFIG_SPI_DW_PCI=m # CONFIG_MMC_DW_IDMAC is not set # CONFIG_MMC_DW_K3 is not set +# CONFIG_MMC_QCOM_DML is not set +# CONFIG_MMC_DW_ROCKCHIP is not set CONFIG_USB_DWC2=y CONFIG_USB_DWC2_HOST=m CONFIG_USB_DWC2_PLATFORM=y @@ -629,10 +631,18 @@ CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_ALC5623 is not set # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_STA350 is not set +# CONFIG_SND_SOC_CS35L32 is not set +# CONFIG_SND_SOC_ES8328 is not set +# CONFIG_SND_SOC_SSM2602_SPI is not set +# CONFIG_SND_SOC_SSM2602_I2C is not set +# CONFIG_SND_SOC_SSM4567 is not set +# CONFIG_SND_SOC_WM8978 is not set # CONFIG_SND_ATMEL_SOC is not set # CONFIG_SND_SOC_TLV320AIC31XX is not set # CONFIG_SND_SOC_TAS2552 is not set # CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_IMX_ES8328 is not set +# CONFIG_SND_SOC_FSL_ASOC_CARD is not set # CONFIG_SND_EDMA_SOC is not set # CONFIG_SND_SOC_ROCKCHIP is not set diff --git a/config-generic b/config-generic index 1d7f51296..c3a019f4d 100644 --- a/config-generic +++ b/config-generic @@ -3111,6 +3111,8 @@ CONFIG_VIDEO_TM6000_DVB=m CONFIG_VIDEO_TLG2300=m # CONFIG_VIDEO_TIMBERDALE is not set # CONFIG_VIDEO_M5MOLS is not set +# CONFIG_VIDEO_TW68 is not set +# CONFIG_VIDEO_VIVID is not set # CONFIG_EXYNOS_VIDEO is not set CONFIG_VIDEO_USBTV=m # CONFIG_VIDEO_AU0828_RC is not set @@ -3151,6 +3153,7 @@ CONFIG_DVB_DYNAMIC_MINORS=y CONFIG_DVB_BT8XX=m CONFIG_DVB_BUDGET_CORE=m CONFIG_DVB_PLUTO2=m +# CONFIG_DVB_PT3 is not set CONFIG_SMS_SIANO_MDTV=m CONFIG_SMS_SIANO_RC=y # CONFIG_SMS_SIANO_DEBUGFS is not set @@ -3218,6 +3221,7 @@ CONFIG_DVB_USB_AZ6007=m CONFIG_DVB_USB_LME2510=m CONFIG_DVB_USB_RTL28XXU=m CONFIG_DVB_USB_AF9035=m +CONFIG_DVB_USB_DVBSKY=m CONFIG_DVB_PT1=m @@ -3263,6 +3267,7 @@ CONFIG_IR_IGUANA=m CONFIG_IR_TTUSBIR=m CONFIG_IR_GPIO_CIR=m CONFIG_IR_XMP_DECODER=m +CONFIG_IR_HIX5HD2=m CONFIG_V4L_MEM2MEM_DRIVERS=y # CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set @@ -4051,6 +4056,7 @@ CONFIG_MFD_VIPERBOARD=m # CONFIG_MFD_TPS65912_SPI is not set # CONFIG_MFD_MC13XXX_SPI is not set # CONFIG_MFD_DA9052_SPI is not set +# CONFIG_MFD_MENF21BMC is not set # CONFIG_EZX_PCAP is not set # CONFIG_INTEL_SOC_PMIC is not set diff --git a/config-powerpc64 b/config-powerpc64 index e24be4faf..beb388824 100644 --- a/config-powerpc64 +++ b/config-powerpc64 @@ -171,6 +171,7 @@ CONFIG_CRYPTO_842=m CONFIG_CRYPTO_DEV_NX_ENCRYPT=m CONFIG_CRYPTO_DEV_NX_COMPRESS=m +CONFIG_CXL=m CONFIG_BPF_JIT=y # CONFIG_PPC_ICSWX_PID is not set diff --git a/config-powerpc64p7 b/config-powerpc64p7 index 60baede68..c089d75e8 100644 --- a/config-powerpc64p7 +++ b/config-powerpc64p7 @@ -161,6 +161,7 @@ CONFIG_CRYPTO_842=m CONFIG_CRYPTO_DEV_NX_ENCRYPT=m CONFIG_CRYPTO_DEV_NX_COMPRESS=m +CONFIG_CXL=m CONFIG_BPF_JIT=y # CONFIG_PPC_ICSWX_PID is not set diff --git a/config-x86-generic b/config-x86-generic index 6eaf95da1..2815f88fa 100644 --- a/config-x86-generic +++ b/config-x86-generic @@ -293,6 +293,8 @@ CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m CONFIG_XEN_SELFBALLOONING=y CONFIG_XEN_PCIDEV_BACKEND=m CONFIG_XEN_ACPI_PROCESSOR=m +# CONFIG_XEN_SCSI_FRONTEND is not set +# CONFIG_XEN_SCSI_BACKEND is not set CONFIG_MTD_ESB2ROM=m CONFIG_MTD_CK804XROM=m diff --git a/kernel.spec b/kernel.spec index 44aed3393..258fca037 100644 --- a/kernel.spec +++ b/kernel.spec @@ -69,7 +69,7 @@ Summary: The Linux kernel # The rc snapshot level %define rcrev 0 # The git snapshot level -%define gitrev 4 +%define gitrev 5 # Set rpm version accordingly %define rpmversion 3.%{upstream_sublevel}.0 %endif @@ -610,8 +610,6 @@ Patch26021: drm-vmwgfx-Fix-drm.h-include.patch #rhbz 1145318 Patch26029: KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch -Patch26030: GFS2-Make-rename-not-save-dirent-location.patch - Patch26032: Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch #CVE-2014-7970 rhbz 1151095 1151484 @@ -1339,8 +1337,6 @@ ApplyPatch drm-vmwgfx-Fix-drm.h-include.patch #rhbz 1145318 ApplyPatch KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch -ApplyPatch GFS2-Make-rename-not-save-dirent-location.patch - ApplyPatch Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch #CVE-2014-7970 rhbz 1151095 1151484 @@ -2214,6 +2210,9 @@ fi # ||----w | # || || %changelog +* Sun Oct 12 2014 Josh Boyer - 3.18.0-0.rc0.git5.1 +- Linux v3.17-7639-g90eac7eee2f4 + * Sun Oct 12 2014 Josh Boyer - Enable CONFIG_I2C_DESIGNWARE_PCI (rhbz 1045821) diff --git a/sources b/sources index ef5521bd5..797fc1511 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ fb30d0f29214d75cddd2faa94f73d5cf linux-3.17.tar.xz 159e969cbc27201d8e2fa0f609dc722f perf-man-3.17.tar.gz -c8c1f5cd8b311eab3514df85827d23a8 patch-3.17-git4.xz +e0ed84718bffdd7b33b2220c98034259 patch-3.17-git5.xz From 6b375296a7557bc617ed814b212ed7eada68d69f Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Mon, 13 Oct 2014 13:42:01 -0400 Subject: [PATCH 29/67] Linux v3.17-7872-g5ff0b9e1a1da --- ...PERM-for-a-key-type-name-beginning-w.patch | 44 ---------- ...-and-dev-kmem-when-module-loading-is.patch | 2 +- ...PI-video-change-acpi-video-brightnes.patch | 2 +- config-generic | 2 + ...issing-permission-check-to-do_umount.patch | 31 +++++++ kernel.spec | 21 +++-- ...t_root-from-creating-a-loop-in-the-m.patch | 4 +- ...odule-license-unspecified-taints-ker.patch | 84 +++++++++++++++++++ sources | 2 +- ...-port-access-when-module-security-is.patch | 2 +- 10 files changed, 137 insertions(+), 57 deletions(-) delete mode 100644 KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch create mode 100644 fs-Add-a-missing-permission-check-to-do_umount.patch create mode 100644 nf_reject_ipv4-module-license-unspecified-taints-ker.patch diff --git a/KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch b/KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch deleted file mode 100644 index cd141ea8d..000000000 --- a/KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch +++ /dev/null @@ -1,44 +0,0 @@ -From: David Howells -Date: Tue, 16 Sep 2014 17:29:03 +0100 -Subject: [PATCH] KEYS: Reinstate EPERM for a key type name beginning with a - '.' - -Reinstate the generation of EPERM for a key type name beginning with a '.' in -a userspace call. Types whose name begins with a '.' are internal only. - -The test was removed by: - - commit a4e3b8d79a5c6d40f4a9703abf7fe3abcc6c3b8d - Author: Mimi Zohar - Date: Thu May 22 14:02:23 2014 -0400 - Subject: KEYS: special dot prefixed keyring name bug fix - -I think we want to keep the restriction on type name so that userspace can't -add keys of a special internal type. - -Note that removal of the test causes several of the tests in the keyutils -testsuite to fail. - -Signed-off-by: David Howells -Acked-by: Vivek Goyal -cc: Mimi Zohar ---- - security/keys/keyctl.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/security/keys/keyctl.c b/security/keys/keyctl.c -index e26f860e5f2e..eff88a5f5d40 100644 ---- a/security/keys/keyctl.c -+++ b/security/keys/keyctl.c -@@ -37,6 +37,8 @@ static int key_get_type_from_user(char *type, - return ret; - if (ret == 0 || ret >= len) - return -EINVAL; -+ if (type[0] == '.') -+ return -EPERM; - type[len - 1] = '\0'; - return 0; - } --- -1.9.3 - diff --git a/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch b/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch index 003bfec72..3cdd4670c 100644 --- a/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch +++ b/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch @@ -13,7 +13,7 @@ Signed-off-by: Matthew Garrett 1 file changed, 6 insertions(+) diff --git a/drivers/char/mem.c b/drivers/char/mem.c -index cdf839f9defe..c63cf93b00eb 100644 +index c268e2581ed6..fb9ea1172ba8 100644 --- a/drivers/char/mem.c +++ b/drivers/char/mem.c @@ -164,6 +164,9 @@ static ssize_t write_mem(struct file *file, const char __user *buf, diff --git a/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch b/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch index 8d400c7a1..055446894 100644 --- a/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch +++ b/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch @@ -15,7 +15,7 @@ Signed-off-by: Josh Boyer 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt -index 41f7ec1fcf61..c79eb60a7869 100644 +index f8a07128a6e8..41eff584e169 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt @@ -3625,7 +3625,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. diff --git a/config-generic b/config-generic index c3a019f4d..e3a3eba8a 100644 --- a/config-generic +++ b/config-generic @@ -5066,6 +5066,8 @@ CONFIG_ALTERA_STAPL=m CONFIG_NOP_USB_XCEIV=m +# CONFIG_INTEGRITY is not set + # CONFIG_IMA is not set CONFIG_IMA_MEASURE_PCR_IDX=10 CONFIG_IMA_LSM_RULES=y diff --git a/fs-Add-a-missing-permission-check-to-do_umount.patch b/fs-Add-a-missing-permission-check-to-do_umount.patch new file mode 100644 index 000000000..ce9de6641 --- /dev/null +++ b/fs-Add-a-missing-permission-check-to-do_umount.patch @@ -0,0 +1,31 @@ +From: Andy Lutomirski +Date: Wed, 8 Oct 2014 12:37:46 -0700 +Subject: [PATCH] fs: Add a missing permission check to do_umount + +Accessing do_remount_sb should require global CAP_SYS_ADMIN, but +only one of the two call sites was appropriately protected. + +Fixes CVE-2014-7975. + +Cc: stable@vger.kernel.org +Signed-off-by: Andy Lutomirski +--- + fs/namespace.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/fs/namespace.c b/fs/namespace.c +index c8e3034ff4b2..fbba8b17330d 100644 +--- a/fs/namespace.c ++++ b/fs/namespace.c +@@ -1439,6 +1439,8 @@ static int do_umount(struct mount *mnt, int flags) + * Special case for "unmounting" root ... + * we just try to remount it readonly. + */ ++ if (!capable(CAP_SYS_ADMIN)) ++ return -EPERM; + down_write(&sb->s_umount); + if (!(sb->s_flags & MS_RDONLY)) + retval = do_remount_sb(sb, MS_RDONLY, NULL, 0); +-- +1.9.3 + diff --git a/kernel.spec b/kernel.spec index 258fca037..a446daeb2 100644 --- a/kernel.spec +++ b/kernel.spec @@ -69,7 +69,7 @@ Summary: The Linux kernel # The rc snapshot level %define rcrev 0 # The git snapshot level -%define gitrev 5 +%define gitrev 6 # Set rpm version accordingly %define rpmversion 3.%{upstream_sublevel}.0 %endif @@ -607,14 +607,16 @@ Patch26002: samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch #rhbz 1138759 Patch26021: drm-vmwgfx-Fix-drm.h-include.patch -#rhbz 1145318 -Patch26029: KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch - Patch26032: Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch #CVE-2014-7970 rhbz 1151095 1151484 Patch26033: mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch +#CVE-2014-7975 rhbz 1151108 1152025 +Patch26034: fs-Add-a-missing-permission-check-to-do_umount.patch + +Patch26035: nf_reject_ipv4-module-license-unspecified-taints-ker.patch + # git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel Patch30000: kernel-arm64.patch @@ -1334,14 +1336,16 @@ ApplyPatch samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch #rhbz 1138759 ApplyPatch drm-vmwgfx-Fix-drm.h-include.patch -#rhbz 1145318 -ApplyPatch KEYS-Reinstate-EPERM-for-a-key-type-name-beginning-w.patch - ApplyPatch Revert-pinctrl-qcom-use-restart_notifier-mechanism-f.patch #CVE-2014-7970 rhbz 1151095 1151484 ApplyPatch mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch +#CVE-2014-7975 rhbz 1151108 1152025 +ApplyPatch fs-Add-a-missing-permission-check-to-do_umount.patch + +ApplyPatch nf_reject_ipv4-module-license-unspecified-taints-ker.patch + %if 0%{?aarch64patches} ApplyPatch kernel-arm64.patch %ifnarch aarch64 # this is stupid, but i want to notice before secondary koji does. @@ -2210,6 +2214,9 @@ fi # ||----w | # || || %changelog +* Mon Oct 13 2014 Josh Boyer - 3.18.0-0.rc0.git6.1 +- Linux v3.17-7872-g5ff0b9e1a1da + * Sun Oct 12 2014 Josh Boyer - 3.18.0-0.rc0.git5.1 - Linux v3.17-7639-g90eac7eee2f4 diff --git a/mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch b/mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch index 0faadaf55..b89527ff7 100644 --- a/mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch +++ b/mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch @@ -26,10 +26,10 @@ Signed-off-by: "Eric W. Biederman" 1 file changed, 3 insertions(+) diff --git a/fs/namespace.c b/fs/namespace.c -index ef42d9bee212..74647c2fe69c 100644 +index 348562f14e93..c8e3034ff4b2 100644 --- a/fs/namespace.c +++ b/fs/namespace.c -@@ -2820,6 +2820,9 @@ SYSCALL_DEFINE2(pivot_root, const char __user *, new_root, +@@ -2913,6 +2913,9 @@ SYSCALL_DEFINE2(pivot_root, const char __user *, new_root, /* make sure we can reach put_old from new_root */ if (!is_path_reachable(old_mnt, old.dentry, &new)) goto out4; diff --git a/nf_reject_ipv4-module-license-unspecified-taints-ker.patch b/nf_reject_ipv4-module-license-unspecified-taints-ker.patch new file mode 100644 index 000000000..f46a0c485 --- /dev/null +++ b/nf_reject_ipv4-module-license-unspecified-taints-ker.patch @@ -0,0 +1,84 @@ +From: Pablo Neira +Date: Fri, 10 Oct 2014 11:56:16 +0200 +Subject: [PATCH] nf_reject_ipv4: module license 'unspecified' taints kernel + +On Fri, Oct 10, 2014 at 05:19:04PM +0800, Dave Young wrote: +> Hi, +> +> With today's linus tree, I got below kmsg: +> [ 23.545204] nf_reject_ipv4: module license 'unspecified' taints kernel. +> +> It could be caused by below commit: +> +> commit c8d7b98bec43faaa6583c3135030be5eb4693acb +> Author: Pablo Neira Ayuso +> Date: Fri Sep 26 14:35:15 2014 +0200 +> +> netfilter: move nf_send_resetX() code to nf_reject_ipvX modules +> +> Move nf_send_reset() and nf_send_reset6() to nf_reject_ipv4 and +> nf_reject_ipv6 respectively. This code is shared by x_tables and +> nf_tables. +> +> Signed-off-by: Pablo Neira Ayuso + +Patch attached, thanks for reporting. + +P.S: Please, Cc netfilter-devel@vger.kernel.org in future reports, so +we make sure things don't get lost. + +>From d4358bcf64ba7a64d4de4e1dc5533c4c8f88ea82 Mon Sep 17 00:00:00 2001 +From: Pablo Neira Ayuso +Date: Fri, 10 Oct 2014 11:25:20 +0200 +Subject: [PATCH] netfilter: missing module license in the nf_reject_ipvX + modules + +[ 23.545204] nf_reject_ipv4: module license 'unspecified' taints kernel. + +Reported-by: Dave Young +Signed-off-by: Pablo Neira Ayuso +--- + net/ipv4/netfilter/nf_reject_ipv4.c | 3 +++ + net/ipv6/netfilter/nf_reject_ipv6.c | 4 ++++ + 2 files changed, 7 insertions(+) + +diff --git a/net/ipv4/netfilter/nf_reject_ipv4.c b/net/ipv4/netfilter/nf_reject_ipv4.c +index b023b4eb1a96..92b303dbd5fc 100644 +--- a/net/ipv4/netfilter/nf_reject_ipv4.c ++++ b/net/ipv4/netfilter/nf_reject_ipv4.c +@@ -6,6 +6,7 @@ + * published by the Free Software Foundation. + */ + ++#include + #include + #include + #include +@@ -125,3 +126,5 @@ void nf_send_reset(struct sk_buff *oldskb, int hook) + kfree_skb(nskb); + } + EXPORT_SYMBOL_GPL(nf_send_reset); ++ ++MODULE_LICENSE("GPL"); +diff --git a/net/ipv6/netfilter/nf_reject_ipv6.c b/net/ipv6/netfilter/nf_reject_ipv6.c +index 5f5f0438d74d..20d9defc6c59 100644 +--- a/net/ipv6/netfilter/nf_reject_ipv6.c ++++ b/net/ipv6/netfilter/nf_reject_ipv6.c +@@ -5,6 +5,8 @@ + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ ++ ++#include + #include + #include + #include +@@ -161,3 +163,5 @@ void nf_send_reset6(struct net *net, struct sk_buff *oldskb, int hook) + ip6_local_out(nskb); + } + EXPORT_SYMBOL_GPL(nf_send_reset6); ++ ++MODULE_LICENSE("GPL"); +-- +1.9.3 + diff --git a/sources b/sources index 797fc1511..d94bb7278 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ fb30d0f29214d75cddd2faa94f73d5cf linux-3.17.tar.xz 159e969cbc27201d8e2fa0f609dc722f perf-man-3.17.tar.gz -e0ed84718bffdd7b33b2220c98034259 patch-3.17-git5.xz +5740b0a6b49144f85e75da8acb275576 patch-3.17-git6.xz diff --git a/x86-Lock-down-IO-port-access-when-module-security-is.patch b/x86-Lock-down-IO-port-access-when-module-security-is.patch index 327c65ef6..4d0b4ac02 100644 --- a/x86-Lock-down-IO-port-access-when-module-security-is.patch +++ b/x86-Lock-down-IO-port-access-when-module-security-is.patch @@ -44,7 +44,7 @@ index 4ddaf66ea35f..00b440307419 100644 } regs->flags = (regs->flags & ~X86_EFLAGS_IOPL) | (level << 12); diff --git a/drivers/char/mem.c b/drivers/char/mem.c -index 917403fe10da..cdf839f9defe 100644 +index 524b707894ef..c268e2581ed6 100644 --- a/drivers/char/mem.c +++ b/drivers/char/mem.c @@ -27,6 +27,7 @@ From 3812eccb7bc51d1d8ff99e3706cab73ed31d8737 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Mon, 13 Oct 2014 19:30:51 +0100 Subject: [PATCH 30/67] Update armv7/aarch64 config options --- config-arm-generic | 1 + config-arm64 | 8 ++++---- config-armv7 | 31 +++++++++++++++++++++++-------- config-armv7-generic | 21 ++++++++++++--------- config-armv7-lpae | 1 - config-generic | 2 -- kernel.spec | 3 +++ 7 files changed, 43 insertions(+), 24 deletions(-) diff --git a/config-arm-generic b/config-arm-generic index 4310fa17a..32b83a160 100644 --- a/config-arm-generic +++ b/config-arm-generic @@ -94,6 +94,7 @@ CONFIG_OF_NET=y CONFIG_OF_PCI_IRQ=m CONFIG_OF_PCI=m CONFIG_OF_RESERVED_MEM=y +CONFIG_OF_RESOLVE=y CONFIG_PATA_OF_PLATFORM=m # CONFIG_OF_SELFTEST is not set CONFIG_SERIAL_OF_PLATFORM=y diff --git a/config-arm64 b/config-arm64 index bff77a21b..aaec288f0 100644 --- a/config-arm64 +++ b/config-arm64 @@ -70,6 +70,7 @@ CONFIG_EFI_VARS=y CONFIG_EFIVAR_FS=y CONFIG_EFI_VARS_PSTORE=y CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y +CONFIG_RTC_DRV_EFI=y CONFIG_ARM64_CRYPTO=y CONFIG_CRYPTO_SHA1_ARM64_CE=m @@ -83,6 +84,7 @@ CONFIG_CRYPTO_DEV_CCP=y CONFIG_CRYPTO_DEV_CCP_DD=m CONFIG_CRYPTO_DEV_CCP_CRYPTO=m +CONFIG_ARM64_CPUIDLE=y # APM Xgene CONFIG_POWER_RESET_XGENE=y @@ -92,7 +94,6 @@ CONFIG_AHCI_XGENE=y CONFIG_PHY_XGENE=y CONFIG_NET_XGENE=y CONFIG_RTC_DRV_XGENE=m -CONFIG_RTC_DRV_EFI=y CONFIG_HW_RANDOM_XGENE=m CONFIG_GPIO_XGENE=y @@ -123,7 +124,6 @@ CONFIG_NET_SB1000=y CONFIG_SBSAUART_TTY=y CONFIG_I2C_SCMI=m CONFIG_SENSORS_ACPI_POWER=m -CONFIG_IMX_THERMAL=m CONFIG_PWM_LPSS=m CONFIG_ACPI=y CONFIG_ACPI_PROCFS_POWER=y @@ -138,6 +138,6 @@ CONFIG_ACPI_CUSTOM_METHOD=m CONFIG_BPF_JIT=y -CONFIG_AMD_XGBE=y -CONFIG_AMD_XGBE_PHY=y +CONFIG_AMD_XGBE=m +CONFIG_AMD_XGBE_PHY=m # CONFIG_AMD_XGBE_DCB is not set diff --git a/config-armv7 b/config-armv7 index abb02c1ea..3a03936e7 100644 --- a/config-armv7 +++ b/config-armv7 @@ -186,9 +186,7 @@ CONFIG_INPUT_TWL6040_VIBRA=m CONFIG_KEYBOARD_OMAP4=m CONFIG_KEYBOARD_TWL4030=m -# OMAP thermal temp. Can likely be built as module but doesn't autoload so build in to ensure performance on PandaES -CONFIG_TI_SOC_THERMAL=y -CONFIG_TI_THERMAL=y +# OMAP thermal temp. CONFIG_OMAP4_THERMAL=y CONFIG_OMAP5_THERMAL=y @@ -323,9 +321,12 @@ CONFIG_ARCH_MSM8974=y CONFIG_SERIAL_MSM=y CONFIG_SERIAL_MSM_CONSOLE=y CONFIG_PINCTRL_APQ8064=m +CONFIG_PINCTRL_APQ8084=m CONFIG_PINCTRL_IPQ8064=m CONFIG_PINCTRL_MSM8960=m CONFIG_COMMON_CLK_QCOM=m +CONFIG_MFD_QCOM_RPM=m +CONFIG_REGULATOR_QCOM_RPM=m CONFIG_APQ_GCC_8084=m CONFIG_APQ_MMCC_8084=m CONFIG_IPQ_GCC_806X=m @@ -341,10 +342,12 @@ CONFIG_GPIO_MSM_V2=m CONFIG_POWER_RESET_MSM=y CONFIG_USB_MSM_OTG=m CONFIG_MMC_SDHCI_MSM=m +CONFIG_MMC_QCOM_DML=m CONFIG_QCOM_BAM_DMA=m CONFIG_QCOM_GSBI=m CONFIG_PHY_QCOM_APQ8064_SATA=m CONFIG_PHY_QCOM_IPQ806X_SATA=m +CONFIG_USB_DWC3_QCOM=m CONFIG_CRYPTO_DEV_QCE=m CONFIG_MSM_IOMMU=y CONFIG_DRM_MSM=m @@ -401,6 +404,7 @@ CONFIG_RTC_DRV_SNVS=m # CONFIG_FB_IMX is not set CONFIG_SND_IMX_SOC=m +CONFIG_SND_SOC_FSL_ASOC_CARD=m CONFIG_SND_SOC_FSL_ASRC=m CONFIG_SND_SOC_FSL_ESAI=m CONFIG_SND_SOC_FSL_SAI=m @@ -409,14 +413,21 @@ CONFIG_SND_SOC_FSL_SSI=m CONFIG_SND_SOC_FSL_UTILS=m CONFIG_SND_SOC_IMX_SSI=m CONFIG_SND_SOC_IMX_AUDMUX=m +CONFIG_SND_SOC_IMX_ES8328=m CONFIG_SND_SOC_IMX_PCM_FIQ=m CONFIG_SND_SOC_IMX_PCM_DMA=m CONFIG_SND_SOC_IMX_SGTL5000=m CONFIG_SND_SOC_IMX_WM8962=m CONFIG_SND_SOC_IMX_MC13783=m CONFIG_SND_SOC_IMX_SPDIF=m +CONFIG_SND_SOC_CS42XX8_I2C=m +CONFIG_SND_SOC_ES8328=m +CONFIG_SND_SOC_ES8328_I2C=m +CONFIG_SND_SOC_ES8328_SPI=m CONFIG_SND_SOC_EUKREA_TLV320=m +CONFIG_SND_SOC_SGTL5000=m CONFIG_SND_SOC_WM8731=m +CONFIG_SND_SOC_WM8962=m CONFIG_USB_IMX21_HCD=m CONFIG_USB_MXS_PHY=m @@ -488,7 +499,12 @@ CONFIG_SPI_ROCKCHIP=m CONFIG_SND_SOC_ROCKCHIP=m CONFIG_PWM_ROCKCHIP=m CONFIG_ROCKCHIP_SARADC=m -# CONFIG_ROCKCHIP_IODOMAIN is not set +CONFIG_ROCKCHIP_IODOMAIN=m +CONFIG_MMC_DW_ROCKCHIP=m +CONFIG_EMAC_ROCKCHIP=m +CONFIG_MFD_RK808=m +CONFIG_COMMON_CLK_RK808=m +CONFIG_REGULATOR_RK808=m # ST Ericsson CONFIG_MACH_HREFV60=y @@ -575,7 +591,6 @@ CONFIG_RTC_DRV_TPS6586X=m CONFIG_SERIO_OLPC_APSP=m # Zynq-7xxx -# likely needs usb still CONFIG_SERIAL_UARTLITE=y CONFIG_SERIAL_UARTLITE_CONSOLE=y CONFIG_SERIAL_XILINX_PS_UART=y @@ -586,8 +601,7 @@ CONFIG_LATTICE_ECP3_CONFIG=m CONFIG_NET_VENDOR_XILINX=y CONFIG_XILINX_EMACLITE=m CONFIG_GPIO_XILINX=y -# Broken -# CONFIG_GPIO_ZYNQ is not set +CONFIG_GPIO_ZYNQ=m CONFIG_I2C_XILINX=m CONFIG_SPI_XILINX=m CONFIG_SPI_CADENCE=m @@ -603,7 +617,8 @@ CONFIG_XILLYBUS=m CONFIG_XILLYBUS_PCIE=m CONFIG_XILLYBUS_OF=m CONFIG_GS_FPGABOOT=m -# CONFIG_PCIE_XILINX is not set +CONFIG_USB_GADGET_XILINX=m +CONFIG_PCIE_XILINX=y # Multi function devices CONFIG_MFD_88PM800=m diff --git a/config-armv7-generic b/config-armv7-generic index 1097bb1f4..42f3ea901 100644 --- a/config-armv7-generic +++ b/config-armv7-generic @@ -113,11 +113,17 @@ CONFIG_SCHED_SMT=y CONFIG_RCU_FANOUT=32 +# Power management / thermal / cpu scaling CONFIG_CPU_IDLE=y # CONFIG_CPU_IDLE_GOV_LADDER is not set CONFIG_CPU_IDLE_GOV_MENU=y # CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set +CONFIG_PM_OPP=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARM_PSCI=y +CONFIG_THERMAL=y +CONFIG_CPUFREQ_DT=y # CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 @@ -337,6 +343,10 @@ CONFIG_MFD_AS3722=y CONFIG_REGULATOR_AS3722=m CONFIG_RTC_DRV_AS3722=y +# TI Generic +CONFIG_TI_SOC_THERMAL=m +CONFIG_TI_THERMAL=y + # DRM panels CONFIG_DRM_PANEL=y CONFIG_DRM_PANEL_SIMPLE=m @@ -351,11 +361,6 @@ CONFIG_REGMAP_SPMI=m CONFIG_REGMAP_MMIO=m CONFIG_REGMAP_IRQ=y -# Power management -CONFIG_PM_OPP=y -CONFIG_ARM_CPU_SUSPEND=y -CONFIG_GENERIC_CPUFREQ_CPU0=m - # usb CONFIG_USB_OHCI_HCD_PLATFORM=m CONFIG_USB_EHCI_HCD_PLATFORM=m @@ -508,10 +513,6 @@ CONFIG_EDAC_LEGACY_SYSFS=y # Watchdog -# Thermal / powersaving -CONFIG_THERMAL=y -CONFIG_ARM_PSCI=y - # Mailbox CONFIG_MAILBOX=y @@ -707,6 +708,7 @@ CONFIG_REGULATOR_ISL9305=m CONFIG_REGULATOR_MAX77802=m CONFIG_REGULATOR_PWM=m +CONFIG_POWER_AVS=y CONFIG_CHARGER_MANAGER=y CONFIG_CHARGER_BQ2415X=m CONFIG_CHARGER_BQ24190=m @@ -756,6 +758,7 @@ CONFIG_TOUCHSCREEN_TSC2005=m CONFIG_LEDS_DAC124S085=m CONFIG_LEDS_PWM=m +CONFIG_LEDS_SYSCON=y CONFIG_BMP085_SPI=m CONFIG_SRAM=y diff --git a/config-armv7-lpae b/config-armv7-lpae index 935abd805..b08f4daa1 100644 --- a/config-armv7-lpae +++ b/config-armv7-lpae @@ -62,7 +62,6 @@ CONFIG_POWER_RESET_KEYSTONE=y CONFIG_DAVINCI_WATCHDOG=m CONFIG_SPI_DAVINCI=m CONFIG_TI_DAVINCI_MDIO=m -# CONFIG_TI_SOC_THERMAL is not set CONFIG_KEYSTONE_IRQ=m CONFIG_PCI_KEYSTONE=y diff --git a/config-generic b/config-generic index e3a3eba8a..b91f2d210 100644 --- a/config-generic +++ b/config-generic @@ -3928,8 +3928,6 @@ CONFIG_USB_PHY=y # CONFIG_PHY_ST_SPEAR1340_MIPHY is not set # CONFIG_AM335X_PHY_USB is not set # CONFIG_SAMSUNG_USBPHY is not set -# CONFIG_SAMSUNG_USB2PHY is not set -# CONFIG_SAMSUNG_USB3PHY is not set # CONFIG_BCM_KONA_USB2_PHY is not set # CONFIG_USB_RCAR_PHY is not set CONFIG_USB_ATM=m diff --git a/kernel.spec b/kernel.spec index a446daeb2..a0d859b65 100644 --- a/kernel.spec +++ b/kernel.spec @@ -2214,6 +2214,9 @@ fi # ||----w | # || || %changelog +* Mon Oct 13 2014 Peter Robinson +- Update armv7/aarch64 config options + * Mon Oct 13 2014 Josh Boyer - 3.18.0-0.rc0.git6.1 - Linux v3.17-7872-g5ff0b9e1a1da From 74b479311911cf8ebd00269d32fb4f68f96905be Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Mon, 13 Oct 2014 19:44:28 +0100 Subject: [PATCH 31/67] Move BPF_JIT to generic as all platforms now support it (no func change) --- config-arm64 | 3 --- config-armv7-generic | 3 --- config-generic | 2 ++ config-powerpc64 | 1 - config-powerpc64p7 | 1 - config-s390x | 1 - config-x86_64-generic | 2 -- 7 files changed, 2 insertions(+), 11 deletions(-) diff --git a/config-arm64 b/config-arm64 index aaec288f0..29a2436ac 100644 --- a/config-arm64 +++ b/config-arm64 @@ -18,7 +18,6 @@ CONFIG_ARM64_64K_PAGES=y CONFIG_BCMA_POSSIBLE=y CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 -CONFIG_BQL=y CONFIG_BRCMUTIL=m CONFIG_BUG=y CONFIG_CLKDEV_LOOKUP=y @@ -136,8 +135,6 @@ CONFIG_ACPI_CONTAINER=y CONFIG_ACPI_HED=m CONFIG_ACPI_CUSTOM_METHOD=m -CONFIG_BPF_JIT=y - CONFIG_AMD_XGBE=m CONFIG_AMD_XGBE_PHY=m # CONFIG_AMD_XGBE_DCB is not set diff --git a/config-armv7-generic b/config-armv7-generic index 42f3ea901..dc996e098 100644 --- a/config-armv7-generic +++ b/config-armv7-generic @@ -806,9 +806,6 @@ CONFIG_MFD_CROS_EC_SPI=m CONFIG_KEYBOARD_CROS_EC=m CONFIG_I2C_CROS_EC_TUNNEL=m -# Should be in generic -CONFIG_BPF_JIT=y - # Needs work/investigation # CONFIG_ARM_KPROBES_TEST is not set diff --git a/config-generic b/config-generic index b91f2d210..ceac8662f 100644 --- a/config-generic +++ b/config-generic @@ -711,6 +711,8 @@ CONFIG_NET_DMA=y CONFIG_NETLINK_MMAP=y CONFIG_NETLINK_DIAG=m +CONFIG_BPF_JIT=y + CONFIG_TCP_CONG_ADVANCED=y CONFIG_TCP_CONG_BIC=m CONFIG_TCP_CONG_CUBIC=y diff --git a/config-powerpc64 b/config-powerpc64 index beb388824..49b4f2e70 100644 --- a/config-powerpc64 +++ b/config-powerpc64 @@ -173,7 +173,6 @@ CONFIG_CRYPTO_DEV_NX_COMPRESS=m CONFIG_CXL=m -CONFIG_BPF_JIT=y # CONFIG_PPC_ICSWX_PID is not set # CONFIG_PPC_ICSWX_USE_SIGILL is not set # CONFIG_PCIEPORTBUS is not set diff --git a/config-powerpc64p7 b/config-powerpc64p7 index c089d75e8..6a5e1c6d9 100644 --- a/config-powerpc64p7 +++ b/config-powerpc64p7 @@ -163,7 +163,6 @@ CONFIG_CRYPTO_DEV_NX_COMPRESS=m CONFIG_CXL=m -CONFIG_BPF_JIT=y # CONFIG_PPC_ICSWX_PID is not set # CONFIG_PPC_ICSWX_USE_SIGILL is not set # CONFIG_PCIEPORTBUS is not set diff --git a/config-s390x b/config-s390x index f9472348d..fd9e28dc6 100644 --- a/config-s390x +++ b/config-s390x @@ -213,7 +213,6 @@ CONFIG_SCHED_BOOK=y CONFIG_CRYPTO_GHASH_S390=m -CONFIG_BPF_JIT=y # CONFIG_TRANSPARENT_HUGEPAGE is not set CONFIG_SCM_BUS=y CONFIG_EADM_SCH=m diff --git a/config-x86_64-generic b/config-x86_64-generic index 677a2d14c..89b7070ef 100644 --- a/config-x86_64-generic +++ b/config-x86_64-generic @@ -153,8 +153,6 @@ CONFIG_FUNCTION_GRAPH_TRACER=y CONFIG_I7300_IDLE=m -CONFIG_BPF_JIT=y - # https://fedoraproject.org/wiki/Features/Checkpoint_Restore CONFIG_CHECKPOINT_RESTORE=y From ff180079f148953e56d8bac03c582df5e3343e45 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Tue, 14 Oct 2014 09:36:10 -0400 Subject: [PATCH 32/67] Linux v3.17-8307-gf1d0d14120a8 --- KEYS-Add-a-system-blacklist-keyring.patch | 4 +-- ...t-certificates-from-UEFI-Secure-Boot.patch | 4 +-- ...PI-video-change-acpi-video-brightnes.patch | 4 +-- config-generic | 2 ++ criu-no-expert.patch | 6 ++-- disable-libdw-unwind-on-non-x86.patch | 28 ----------------- kernel.spec | 21 +++++-------- perf-install-trace-event-plugins.patch | 30 ------------------- ppc64-fixtools.patch | 24 --------------- sources | 2 +- ...Disable-watchdog-on-virtual-machines.patch | 8 ++--- 11 files changed, 23 insertions(+), 110 deletions(-) delete mode 100644 disable-libdw-unwind-on-non-x86.patch delete mode 100644 perf-install-trace-event-plugins.patch delete mode 100644 ppc64-fixtools.patch diff --git a/KEYS-Add-a-system-blacklist-keyring.patch b/KEYS-Add-a-system-blacklist-keyring.patch index 98df75570..6e1f3015c 100644 --- a/KEYS-Add-a-system-blacklist-keyring.patch +++ b/KEYS-Add-a-system-blacklist-keyring.patch @@ -29,10 +29,10 @@ index 72665eb80692..2c7b80d31366 100644 + #endif /* _KEYS_SYSTEM_KEYRING_H */ diff --git a/init/Kconfig b/init/Kconfig -index d2355812ba48..4fcd7dd882c2 100644 +index 1c505e090422..4fb572ae7423 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1722,6 +1722,15 @@ config SYSTEM_TRUSTED_KEYRING +@@ -1732,6 +1732,15 @@ config SYSTEM_TRUSTED_KEYRING Keys in this keyring are used by module signature checking. diff --git a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch index c2b5de2f3..26cf0d3e7 100644 --- a/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch +++ b/MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch @@ -42,10 +42,10 @@ index 41359e548bcb..db9e6118575e 100644 efi_guid_t guid; u64 table; diff --git a/init/Kconfig b/init/Kconfig -index 4fcd7dd882c2..65ea201f38af 100644 +index 4fb572ae7423..b0138f178c7c 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1876,6 +1876,15 @@ config MODULE_SIG_ALL +@@ -1886,6 +1886,15 @@ config MODULE_SIG_ALL comment "Do not forget to sign required modules with scripts/sign-file" depends on MODULE_SIG_FORCE && !MODULE_SIG_ALL diff --git a/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch b/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch index 055446894..ae7163994 100644 --- a/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch +++ b/Revert-Revert-ACPI-video-change-acpi-video-brightnes.patch @@ -15,10 +15,10 @@ Signed-off-by: Josh Boyer 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt -index f8a07128a6e8..41eff584e169 100644 +index 04e9f5505faa..14563a76c8c8 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt -@@ -3625,7 +3625,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. +@@ -3691,7 +3691,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. the allocated input device; If set to 0, video driver will only send out the event without touching backlight brightness level. diff --git a/config-generic b/config-generic index ceac8662f..5ca47dfc0 100644 --- a/config-generic +++ b/config-generic @@ -4838,6 +4838,7 @@ CONFIG_OPTPROBES=y CONFIG_HZ_1000=y CONFIG_NO_HZ=y +# CONFIG_SCHED_STACK_END_CHECK is not set CONFIG_TIMER_STATS=y CONFIG_HIGH_RES_TIMERS=y CONFIG_PERF_EVENTS=y @@ -5088,6 +5089,7 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=60 # CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_TRACE is not set # CONFIG_RCU_CPU_STALL_INFO is not set +# CONFIG_TASKS_RCU is not set # CONFIG_RCU_USER_QS is not set CONFIG_SPARSE_RCU_POINTER=y diff --git a/criu-no-expert.patch b/criu-no-expert.patch index d6e3bb0e1..a32c53dcd 100644 --- a/criu-no-expert.patch +++ b/criu-no-expert.patch @@ -9,10 +9,10 @@ Upstream-status: Fedora mustard 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/init/Kconfig b/init/Kconfig -index 65ea201f38af..adfc3ba98571 100644 +index b0138f178c7c..faf5ff3b26ae 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1138,7 +1138,7 @@ config DEBUG_BLK_CGROUP +@@ -1148,7 +1148,7 @@ config DEBUG_BLK_CGROUP endif # CGROUPS config CHECKPOINT_RESTORE @@ -21,7 +21,7 @@ index 65ea201f38af..adfc3ba98571 100644 default n help Enables additional kernel features in a sake of checkpoint/restore. -@@ -1149,7 +1149,7 @@ config CHECKPOINT_RESTORE +@@ -1159,7 +1159,7 @@ config CHECKPOINT_RESTORE If unsure, say N here. menuconfig NAMESPACES diff --git a/disable-libdw-unwind-on-non-x86.patch b/disable-libdw-unwind-on-non-x86.patch deleted file mode 100644 index a57c70608..000000000 --- a/disable-libdw-unwind-on-non-x86.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: "kernel-team@fedoraproject.org" -Date: Fri, 18 Apr 2014 06:58:29 -0400 -Subject: [PATCH] disable libdw unwind on non-x86 - -Bugzilla: 1025603 -Upstream-status: ?? ---- - tools/perf/config/Makefile | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile -index 1f67aa02d240..86c21a24da46 100644 ---- a/tools/perf/config/Makefile -+++ b/tools/perf/config/Makefile -@@ -52,6 +52,10 @@ ifeq ($(ARCH),powerpc) - CFLAGS += -DHAVE_SKIP_CALLCHAIN_IDX - endif - -+ifneq ($(ARCH),x86) -+ NO_LIBDW_DWARF_UNWIND := 1 -+endif -+ - ifeq ($(LIBUNWIND_LIBS),) - NO_LIBUNWIND := 1 - else --- -1.9.3 - diff --git a/kernel.spec b/kernel.spec index a0d859b65..669721193 100644 --- a/kernel.spec +++ b/kernel.spec @@ -69,7 +69,7 @@ Summary: The Linux kernel # The rc snapshot level %define rcrev 0 # The git snapshot level -%define gitrev 6 +%define gitrev 7 # Set rpm version accordingly %define rpmversion 3.%{upstream_sublevel}.0 %endif @@ -568,7 +568,7 @@ Patch14010: lis3-improve-handling-of-null-rate.patch Patch15000: watchdog-Disable-watchdog-on-virtual-machines.patch # PPC -Patch18000: ppc64-fixtools.patch + # ARM64 # ARMv7 @@ -596,11 +596,6 @@ Patch21247: ath9k-rx-dma-stop-check.patch Patch22000: weird-root-dentry-name-debug.patch -#rhbz 1025603 -Patch25063: disable-libdw-unwind-on-non-x86.patch - -Patch26000: perf-install-trace-event-plugins.patch - # Patch series from Hans for various backlight and platform driver fixes Patch26002: samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch @@ -1190,7 +1185,7 @@ ApplyOptionalPatch upstream-reverts.patch -R ApplyPatch lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch # PPC -ApplyPatch ppc64-fixtools.patch + # ARM64 # @@ -1325,11 +1320,6 @@ ApplyPatch criu-no-expert.patch #rhbz 892811 ApplyPatch ath9k-rx-dma-stop-check.patch -#rhbz 1025603 -ApplyPatch disable-libdw-unwind-on-non-x86.patch - -ApplyPatch perf-install-trace-event-plugins.patch - # Patch series from Hans for various backlight and platform driver fixes ApplyPatch samsung-laptop-Add-broken-acpi-video-quirk-for-NC210.patch @@ -1883,7 +1873,7 @@ find $RPM_BUILD_ROOT/usr/include \ %if %{with_perf} # perf tool binary and supporting scripts/binaries -%{perf_make} DESTDIR=$RPM_BUILD_ROOT MULTILIBDIR=%{_lib} install-bin install-traceevent-plugins +%{perf_make} DESTDIR=$RPM_BUILD_ROOT lib=%{_lib} install-bin install-traceevent-plugins # remove the 'trace' symlink. rm -f %{buildroot}%{_bindir}/trace @@ -2214,6 +2204,9 @@ fi # ||----w | # || || %changelog +* Tue Oct 14 2014 Josh Boyer - 3.18.0-0.rc0.git7.1 +- Linux v3.17-8307-gf1d0d14120a8 + * Mon Oct 13 2014 Peter Robinson - Update armv7/aarch64 config options diff --git a/perf-install-trace-event-plugins.patch b/perf-install-trace-event-plugins.patch deleted file mode 100644 index 9a7ad3aa3..000000000 --- a/perf-install-trace-event-plugins.patch +++ /dev/null @@ -1,30 +0,0 @@ -From: Kyle McMartin -Date: Mon, 2 Jun 2014 15:11:01 -0400 -Subject: [PATCH] perf: install trace-event plugins - -perf hardcodes $libdir to be lib for all but x86_64, so kludge around it -until upstream gets their act together. ---- - tools/perf/config/Makefile | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile -index 86c21a24da46..bf0fe97bd358 100644 ---- a/tools/perf/config/Makefile -+++ b/tools/perf/config/Makefile -@@ -642,8 +642,12 @@ endif - ifeq ($(IS_X86_64),1) - lib = lib64 - else -+ifdef MULTILIBDIR -+lib = $(MULTILIBDIR) -+else - lib = lib - endif -+endif - libdir = $(prefix)/$(lib) - - # Shell quote (do not use $(call) to accommodate ancient setups); --- -1.9.3 - diff --git a/ppc64-fixtools.patch b/ppc64-fixtools.patch deleted file mode 100644 index f8c934ba2..000000000 --- a/ppc64-fixtools.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Peter Robinson -Date: Mon, 6 Oct 2014 15:15:15 +0100 -Subject: [PATCH] ppc64-fixtools - -Build tools on ppc64le (rhbz 1138884), Some minor ppc64 cleanups ---- - tools/perf/arch/powerpc/util/skip-callchain-idx.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tools/perf/arch/powerpc/util/skip-callchain-idx.c b/tools/perf/arch/powerpc/util/skip-callchain-idx.c -index a7c23a4b3778..d73ef8bb08c7 100644 ---- a/tools/perf/arch/powerpc/util/skip-callchain-idx.c -+++ b/tools/perf/arch/powerpc/util/skip-callchain-idx.c -@@ -15,6 +15,7 @@ - - #include "util/thread.h" - #include "util/callchain.h" -+#include "util/debug.h" - - /* - * When saving the callchain on Power, the kernel conservatively saves --- -1.9.3 - diff --git a/sources b/sources index d94bb7278..f288149b1 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ fb30d0f29214d75cddd2faa94f73d5cf linux-3.17.tar.xz 159e969cbc27201d8e2fa0f609dc722f perf-man-3.17.tar.gz -5740b0a6b49144f85e75da8acb275576 patch-3.17-git6.xz +992c678dad773514a9c3ae553fe50d1c patch-3.17-git7.xz diff --git a/watchdog-Disable-watchdog-on-virtual-machines.patch b/watchdog-Disable-watchdog-on-virtual-machines.patch index 6d8bdf616..b37f14144 100644 --- a/watchdog-Disable-watchdog-on-virtual-machines.patch +++ b/watchdog-Disable-watchdog-on-virtual-machines.patch @@ -20,10 +20,10 @@ Signed-off-by: Dave Jones 1 file changed, 29 insertions(+) diff --git a/kernel/watchdog.c b/kernel/watchdog.c -index 7b223b212683..4757d7410087 100644 +index ff7fd80bef99..88aebd38b92f 100644 --- a/kernel/watchdog.c +++ b/kernel/watchdog.c -@@ -24,6 +24,7 @@ +@@ -19,6 +19,7 @@ #include #include #include @@ -31,7 +31,7 @@ index 7b223b212683..4757d7410087 100644 #include #include -@@ -113,6 +114,32 @@ static int __init softlockup_all_cpu_backtrace_setup(char *str) +@@ -108,6 +109,32 @@ static int __init softlockup_all_cpu_backtrace_setup(char *str) __setup("softlockup_all_cpu_backtrace=", softlockup_all_cpu_backtrace_setup); #endif @@ -64,7 +64,7 @@ index 7b223b212683..4757d7410087 100644 /* * Hard-lockup warnings should be triggered after just a few seconds. Soft- * lockups can have false positives under extreme conditions. So we generally -@@ -660,6 +687,8 @@ out: +@@ -658,6 +685,8 @@ out: void __init lockup_detector_init(void) { From 7f1b8a88fb1168d40d9c812ca4d71ba3655c9115 Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Tue, 14 Oct 2014 10:54:21 -0400 Subject: [PATCH 33/67] Linux v3.17-9283-g2d65a9f48fcd --- ...tomatically-enforce-module-signature.patch | 8 ++--- ...q-option-to-disable-secure-boot-mode.patch | 4 +-- KEYS-Add-a-system-blacklist-keyring.patch | 4 +-- ...t-certificates-from-UEFI-Secure-Boot.patch | 4 +-- config-armv7-generic | 1 + config-generic | 4 ++- config-x86-generic | 2 ++ criu-no-expert.patch | 6 ++-- drm-i915-hush-check-crtc-state.patch | 4 +-- drm-vmwgfx-Fix-drm.h-include.patch | 34 ------------------- efi-Add-EFI_SECURE_BOOT-bit.patch | 4 +-- ...ECURE_BOOT_SIG_ENFORCE-depend-on-EFI.patch | 4 +-- ...issing-permission-check-to-do_umount.patch | 31 ----------------- kbuild-AFTER_LINK.patch | 2 +- kernel.spec | 17 +++------- ...-runtime-if-the-kernel-enforces-modu.patch | 2 +- ...t_root-from-creating-a-loop-in-the-m.patch | 4 +-- sources | 2 +- ...Disable-watchdog-on-virtual-machines.patch | 6 ++-- 19 files changed, 37 insertions(+), 106 deletions(-) delete mode 100644 drm-vmwgfx-Fix-drm.h-include.patch delete mode 100644 fs-Add-a-missing-permission-check-to-do_umount.patch diff --git a/Add-option-to-automatically-enforce-module-signature.patch b/Add-option-to-automatically-enforce-module-signature.patch index 9bf38ea02..9d3f95e4d 100644 --- a/Add-option-to-automatically-enforce-module-signature.patch +++ b/Add-option-to-automatically-enforce-module-signature.patch @@ -33,10 +33,10 @@ index 199f453cb4de..ec38acf00b40 100644 290/040 ALL edd_mbr_sig_buffer EDD MBR signatures 2D0/A00 ALL e820_map E820 memory map table diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 3eb8a41509b3..e46dc01f5904 100644 +index f2327e88e07c..4ba047a782fd 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -1577,6 +1577,16 @@ config EFI_MIXED +@@ -1607,6 +1607,16 @@ config EFI_MIXED If unsure, say N. @@ -129,10 +129,10 @@ index 225b0988043a..90dbfb73e11f 100644 * The sentinel is set to a nonzero value (0xff) in header.S. * diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index 41ead8d3bc0b..5a5cf7395724 100644 +index 235cfd39e0d7..13c0835f907a 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c -@@ -1142,6 +1142,12 @@ void __init setup_arch(char **cmdline_p) +@@ -1151,6 +1151,12 @@ void __init setup_arch(char **cmdline_p) io_delay_init(); diff --git a/Add-sysrq-option-to-disable-secure-boot-mode.patch b/Add-sysrq-option-to-disable-secure-boot-mode.patch index fc59af3c1..ca9c990e4 100644 --- a/Add-sysrq-option-to-disable-secure-boot-mode.patch +++ b/Add-sysrq-option-to-disable-secure-boot-mode.patch @@ -15,7 +15,7 @@ Upstream-status: Fedora mustard 7 files changed, 65 insertions(+), 10 deletions(-) diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index fb282ff6a802..d291d16ba257 100644 +index fbae2bf99a47..f3960a8c2627 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -70,6 +70,11 @@ @@ -30,7 +30,7 @@ index fb282ff6a802..d291d16ba257 100644 #include