summaryrefslogtreecommitdiffstats
path: root/freed-ora
diff options
context:
space:
mode:
authorAlexandre Oliva <lxoliva@fsfla.org>2015-01-30 06:05:51 +0000
committerAlexandre Oliva <lxoliva@fsfla.org>2015-01-30 06:05:51 +0000
commit71fc71a0e313d22155f1649453138f56899e1743 (patch)
treee9e494cad5d1e2ff93868d84ee84eee47fba5c06 /freed-ora
parent535ca90c0bba6fb985ab225969d67ccde0526075 (diff)
downloadlinux-libre-raptor-71fc71a0e313d22155f1649453138f56899e1743.tar.gz
linux-libre-raptor-71fc71a0e313d22155f1649453138f56899e1743.zip
3.18.4-100.fc20.gnu
Diffstat (limited to 'freed-ora')
-rw-r--r--freed-ora/current/f20/ARM-tegra-usb-no-reset.patch28
-rw-r--r--freed-ora/current/f20/Add-an-EFI-signature-blob-parser-and-key-loader.patch10
-rw-r--r--freed-ora/current/f20/HID-wacom-Add-support-for-the-Cintiq-Companion.patch46
-rw-r--r--freed-ora/current/f20/KVM-x86-SYSENTER-emulation-is-broken.patch81
-rw-r--r--freed-ora/current/f20/batman-adv-Calculate-extra-tail-size-based-on-queued.patch61
-rw-r--r--freed-ora/current/f20/blk-mq-Fix-uninitialized-kobject-at-CPU-hotplugging.patch79
-rw-r--r--freed-ora/current/f20/cfg80211-don-t-WARN-about-two-consecutive-Country-IE.patch42
-rw-r--r--freed-ora/current/f20/config-arm-generic16
-rw-r--r--freed-ora/current/f20/config-arm6432
-rw-r--r--freed-ora/current/f20/config-armv758
-rw-r--r--freed-ora/current/f20/config-armv7-generic70
-rw-r--r--freed-ora/current/f20/config-armv7-lpae3
-rw-r--r--freed-ora/current/f20/config-generic113
-rw-r--r--freed-ora/current/f20/config-powerpc-generic6
-rw-r--r--freed-ora/current/f20/config-powerpc642
-rw-r--r--freed-ora/current/f20/config-powerpc64le1
-rw-r--r--freed-ora/current/f20/config-powerpc64p72
-rw-r--r--freed-ora/current/f20/config-s390x2
-rw-r--r--freed-ora/current/f20/config-x86-32-generic6
-rw-r--r--freed-ora/current/f20/config-x86-generic11
-rw-r--r--freed-ora/current/f20/config-x86_64-generic3
-rw-r--r--freed-ora/current/f20/crash-driver.patch10
-rw-r--r--freed-ora/current/f20/deal-with-deadlock-in-d_walk.patch86
-rwxr-xr-xfreed-ora/current/f20/deblob-3.18 (renamed from freed-ora/current/f20/deblob-3.17)142
-rw-r--r--freed-ora/current/f20/disable-libdw-unwind-on-non-x86.patch15
-rw-r--r--freed-ora/current/f20/kernel.spec102
-rw-r--r--freed-ora/current/f20/linux-libre-3.17-gnu.tar.xz.sign7
-rw-r--r--freed-ora/current/f20/linux-libre-3.17-gnu.xdelta.xzbin99200 -> 0 bytes
-rw-r--r--freed-ora/current/f20/linux-libre-3.17-gnu.xdelta.xz.sign7
-rw-r--r--freed-ora/current/f20/linux-libre-3.18-gnu.tar.xz.sign7
-rw-r--r--freed-ora/current/f20/linux-libre-3.18-gnu.xdelta.xzbin0 -> 94072 bytes
-rw-r--r--freed-ora/current/f20/linux-libre-3.18-gnu.xdelta.xz.sign7
-rw-r--r--freed-ora/current/f20/move-d_rcu-from-overlapping-d_child-to-overlapping-d.patch736
-rw-r--r--freed-ora/current/f20/mpssd-x86-only.patch27
-rw-r--r--freed-ora/current/f20/netfilter-conntrack-disable-generic-tracking-for-kno.patch91
-rw-r--r--freed-ora/current/f20/perf-install-trace-event-plugins.patch30
-rw-r--r--freed-ora/current/f20/ppc64-fixtools.patch24
-rw-r--r--freed-ora/current/f20/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch99
-rw-r--r--freed-ora/current/f20/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch157
-rw-r--r--freed-ora/current/f20/sources6
-rw-r--r--freed-ora/current/f20/uas-Add-US_FL_NO_ATA_1X-for-Seagate-devices-with-usb.patch39
-rw-r--r--freed-ora/current/f20/uas-Add-US_FL_NO_REPORT_OPCODES-for-JMicron-JMS566-w.patch37
-rw-r--r--freed-ora/current/f20/x86-vdso-Use-asm-volatile-in-__getcpu.patch53
-rw-r--r--freed-ora/current/f20/x86_64-vdso-Fix-the-vdso-address-randomization-algor.patch128
-rw-r--r--freed-ora/current/f20/xhci-Add-broken-streams-quirk-for-Fresco-Logic-FL100.patch45
45 files changed, 479 insertions, 2048 deletions
diff --git a/freed-ora/current/f20/ARM-tegra-usb-no-reset.patch b/freed-ora/current/f20/ARM-tegra-usb-no-reset.patch
index 3b6c90630..2b1058b26 100644
--- a/freed-ora/current/f20/ARM-tegra-usb-no-reset.patch
+++ b/freed-ora/current/f20/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 dc849154f9de..88647f158ed2 100644
+index b649fef2e35d..fb89290710ad 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -5038,6 +5038,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
+2.1.0
diff --git a/freed-ora/current/f20/Add-an-EFI-signature-blob-parser-and-key-loader.patch b/freed-ora/current/f20/Add-an-EFI-signature-blob-parser-and-key-loader.patch
index e78b065cd..7c5c7e7cd 100644
--- a/freed-ora/current/f20/Add-an-EFI-signature-blob-parser-and-key-loader.patch
+++ b/freed-ora/current/f20/Add-an-EFI-signature-blob-parser-and-key-loader.patch
@@ -159,12 +159,12 @@ index 000000000000..424896a0b169
+ return 0;
+}
diff --git a/include/linux/efi.h b/include/linux/efi.h
-index 5ce40e215f15..41359e548bcb 100644
+index 58d7feadd149..b1d686e9175e 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
-@@ -906,6 +906,10 @@ extern bool efi_poweroff_required(void);
- (md) <= (efi_memory_desc_t *)((m)->map_end - (m)->desc_size); \
- (md) = (void *)(md) + (m)->desc_size)
+@@ -919,6 +919,10 @@ extern bool efi_poweroff_required(void);
+ char * __init efi_md_typeattr_format(char *buf, size_t size,
+ const efi_memory_desc_t *md);
+struct key;
+extern int __init parse_efi_signature_list(const void *data, size_t size,
@@ -174,5 +174,5 @@ index 5ce40e215f15..41359e548bcb 100644
* efi_range_is_wc - check the WC bit on an address range
* @start: starting kvirt address
--
-1.9.3
+2.1.0
diff --git a/freed-ora/current/f20/HID-wacom-Add-support-for-the-Cintiq-Companion.patch b/freed-ora/current/f20/HID-wacom-Add-support-for-the-Cintiq-Companion.patch
deleted file mode 100644
index 276fa103f..000000000
--- a/freed-ora/current/f20/HID-wacom-Add-support-for-the-Cintiq-Companion.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
-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 <benjamin.tissoires@redhat.com>
----
- 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/freed-ora/current/f20/KVM-x86-SYSENTER-emulation-is-broken.patch b/freed-ora/current/f20/KVM-x86-SYSENTER-emulation-is-broken.patch
new file mode 100644
index 000000000..bda8f9e88
--- /dev/null
+++ b/freed-ora/current/f20/KVM-x86-SYSENTER-emulation-is-broken.patch
@@ -0,0 +1,81 @@
+From: Nadav Amit <namit@cs.technion.ac.il>
+Date: Thu, 1 Jan 2015 23:11:11 +0200
+Subject: [PATCH] KVM: x86: SYSENTER emulation is broken
+
+SYSENTER emulation is broken in several ways:
+1. It misses the case of 16-bit code segments completely (CVE-2015-0239).
+2. MSR_IA32_SYSENTER_CS is checked in 64-bit mode incorrectly (bits 0 and 1 can
+ still be set without causing #GP).
+3. MSR_IA32_SYSENTER_EIP and MSR_IA32_SYSENTER_ESP are not masked in
+ legacy-mode.
+4. There is some unneeded code.
+
+Fix it.
+
+Cc: stable@vger.linux.org
+Signed-off-by: Nadav Amit <namit@cs.technion.ac.il>
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+---
+ arch/x86/kvm/emulate.c | 27 ++++++++-------------------
+ 1 file changed, 8 insertions(+), 19 deletions(-)
+
+diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
+index 22e7ed9e6d8e..ac640d47c28d 100644
+--- a/arch/x86/kvm/emulate.c
++++ b/arch/x86/kvm/emulate.c
+@@ -2345,7 +2345,7 @@ static int em_sysenter(struct x86_emulate_ctxt *ctxt)
+ * Not recognized on AMD in compat mode (but is recognized in legacy
+ * mode).
+ */
+- if ((ctxt->mode == X86EMUL_MODE_PROT32) && (efer & EFER_LMA)
++ if ((ctxt->mode != X86EMUL_MODE_PROT64) && (efer & EFER_LMA)
+ && !vendor_intel(ctxt))
+ return emulate_ud(ctxt);
+
+@@ -2358,25 +2358,13 @@ static int em_sysenter(struct x86_emulate_ctxt *ctxt)
+ setup_syscalls_segments(ctxt, &cs, &ss);
+
+ ops->get_msr(ctxt, MSR_IA32_SYSENTER_CS, &msr_data);
+- switch (ctxt->mode) {
+- case X86EMUL_MODE_PROT32:
+- if ((msr_data & 0xfffc) == 0x0)
+- return emulate_gp(ctxt, 0);
+- break;
+- case X86EMUL_MODE_PROT64:
+- if (msr_data == 0x0)
+- return emulate_gp(ctxt, 0);
+- break;
+- default:
+- break;
+- }
++ if ((msr_data & 0xfffc) == 0x0)
++ return emulate_gp(ctxt, 0);
+
+ ctxt->eflags &= ~(EFLG_VM | EFLG_IF);
+- cs_sel = (u16)msr_data;
+- cs_sel &= ~SELECTOR_RPL_MASK;
++ cs_sel = (u16)msr_data & ~SELECTOR_RPL_MASK;
+ ss_sel = cs_sel + 8;
+- ss_sel &= ~SELECTOR_RPL_MASK;
+- if (ctxt->mode == X86EMUL_MODE_PROT64 || (efer & EFER_LMA)) {
++ if (efer & EFER_LMA) {
+ cs.d = 0;
+ cs.l = 1;
+ }
+@@ -2385,10 +2373,11 @@ static int em_sysenter(struct x86_emulate_ctxt *ctxt)
+ ops->set_segment(ctxt, ss_sel, &ss, 0, VCPU_SREG_SS);
+
+ ops->get_msr(ctxt, MSR_IA32_SYSENTER_EIP, &msr_data);
+- ctxt->_eip = msr_data;
++ ctxt->_eip = (efer & EFER_LMA) ? msr_data : (u32)msr_data;
+
+ ops->get_msr(ctxt, MSR_IA32_SYSENTER_ESP, &msr_data);
+- *reg_write(ctxt, VCPU_REGS_RSP) = msr_data;
++ *reg_write(ctxt, VCPU_REGS_RSP) = (efer & EFER_LMA) ? msr_data :
++ (u32)msr_data;
+
+ return X86EMUL_CONTINUE;
+ }
+--
+2.1.0
+
diff --git a/freed-ora/current/f20/batman-adv-Calculate-extra-tail-size-based-on-queued.patch b/freed-ora/current/f20/batman-adv-Calculate-extra-tail-size-based-on-queued.patch
deleted file mode 100644
index 32ad9694e..000000000
--- a/freed-ora/current/f20/batman-adv-Calculate-extra-tail-size-based-on-queued.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From: Sven Eckelmann <sven@narfation.org>
-Date: Sat, 20 Dec 2014 13:48:55 +0100
-Subject: [PATCH] batman-adv: Calculate extra tail size based on queued
- fragments
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The fragmentation code was replaced in 610bfc6bc99bc83680d190ebc69359a05fc7f605
-("batman-adv: Receive fragmented packets and merge"). The new code provided a
-mostly unused parameter skb for the merging function. It is used inside the
-function to calculate the additionally needed skb tailroom. But instead of
-increasing its own tailroom, it is only increasing the tailroom of the first
-queued skb. This is not correct in some situations because the first queued
-entry can be a different one than the parameter.
-
-An observed problem was:
-
-1. packet with size 104, total_size 1464, fragno 1 was received
- - packet is queued
-2. packet with size 1400, total_size 1464, fragno 0 was received
- - packet is queued at the end of the list
-3. enough data was received and can be given to the merge function
- (1464 == (1400 - 20) + (104 - 20))
- - merge functions gets 1400 byte large packet as skb argument
-4. merge function gets first entry in queue (104 byte)
- - stored as skb_out
-5. merge function calculates the required extra tail as total_size - skb->len
- - pskb_expand_head tail of skb_out with 64 bytes
-6. merge function tries to squeeze the extra 1380 bytes from the second queued
- skb (1400 byte aka skb parameter) in the 64 extra tail bytes of skb_out
-
-Instead calculate the extra required tail bytes for skb_out also using skb_out
-instead of using the parameter skb. The skb parameter is only used to get the
-total_size from the last received packet. This is also the total_size used to
-decide that all fragments were received.
-
-Reported-by: Philipp Psurek <philipp.psurek@gmail.com>
-Signed-off-by: Sven Eckelmann <sven@narfation.org>
-Acked-by: Martin Hundebøll <martin@hundeboll.net>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- net/batman-adv/fragmentation.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/net/batman-adv/fragmentation.c b/net/batman-adv/fragmentation.c
-index fc1835c6bb40..8af3461d18d2 100644
---- a/net/batman-adv/fragmentation.c
-+++ b/net/batman-adv/fragmentation.c
-@@ -251,7 +251,7 @@ batadv_frag_merge_packets(struct hlist_head *chain, struct sk_buff *skb)
- kfree(entry);
-
- /* Make room for the rest of the fragments. */
-- if (pskb_expand_head(skb_out, 0, size - skb->len, GFP_ATOMIC) < 0) {
-+ if (pskb_expand_head(skb_out, 0, size - skb_out->len, GFP_ATOMIC) < 0) {
- kfree_skb(skb_out);
- skb_out = NULL;
- goto free;
---
-2.1.0
-
diff --git a/freed-ora/current/f20/blk-mq-Fix-uninitialized-kobject-at-CPU-hotplugging.patch b/freed-ora/current/f20/blk-mq-Fix-uninitialized-kobject-at-CPU-hotplugging.patch
deleted file mode 100644
index af3ba39a2..000000000
--- a/freed-ora/current/f20/blk-mq-Fix-uninitialized-kobject-at-CPU-hotplugging.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From: Takashi Iwai <tiwai@suse.de>
-Date: Wed, 10 Dec 2014 16:38:30 +0100
-Subject: [PATCH] blk-mq: Fix uninitialized kobject at CPU hotplugging
-
-When a CPU is hotplugged, the current blk-mq spews a warning like:
-
- kobject '(null)' (ffffe8ffffc8b5d8): tried to add an uninitialized object, something is seriously wrong.
- CPU: 1 PID: 1386 Comm: systemd-udevd Not tainted 3.18.0-rc7-2.g088d59b-default #1
- Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_171129-lamiak 04/01/2014
- 0000000000000000 0000000000000002 ffffffff81605f07 ffffe8ffffc8b5d8
- ffffffff8132c7a0 ffff88023341d370 0000000000000020 ffff8800bb05bd58
- ffff8800bb05bd08 000000000000a0a0 000000003f441940 0000000000000007
- Call Trace:
- [<ffffffff81005306>] dump_trace+0x86/0x330
- [<ffffffff81005644>] show_stack_log_lvl+0x94/0x170
- [<ffffffff81006d21>] show_stack+0x21/0x50
- [<ffffffff81605f07>] dump_stack+0x41/0x51
- [<ffffffff8132c7a0>] kobject_add+0xa0/0xb0
- [<ffffffff8130aee1>] blk_mq_register_hctx+0x91/0xb0
- [<ffffffff8130b82e>] blk_mq_sysfs_register+0x3e/0x60
- [<ffffffff81309298>] blk_mq_queue_reinit_notify+0xf8/0x190
- [<ffffffff8107cfdc>] notifier_call_chain+0x4c/0x70
- [<ffffffff8105fd23>] cpu_notify+0x23/0x50
- [<ffffffff81060037>] _cpu_up+0x157/0x170
- [<ffffffff810600d9>] cpu_up+0x89/0xb0
- [<ffffffff815fa5b5>] cpu_subsys_online+0x35/0x80
- [<ffffffff814323cd>] device_online+0x5d/0xa0
- [<ffffffff81432485>] online_store+0x75/0x80
- [<ffffffff81236a5a>] kernfs_fop_write+0xda/0x150
- [<ffffffff811c5532>] vfs_write+0xb2/0x1f0
- [<ffffffff811c5f42>] SyS_write+0x42/0xb0
- [<ffffffff8160c4ed>] system_call_fastpath+0x16/0x1b
- [<00007f0132fb24e0>] 0x7f0132fb24e0
-
-This is indeed because of an uninitialized kobject for blk_mq_ctx.
-The blk_mq_ctx kobjects are initialized in blk_mq_sysfs_init(), but it
-goes loop over hctx_for_each_ctx(), i.e. it initializes only for
-online CPUs. Thus, when a CPU is hotplugged, the ctx for the newly
-onlined CPU is registered without initialization.
-
-This patch fixes the issue by initializing the all ctx kobjects
-belonging to each queue.
-
-Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=908794
-Cc: <stable@vger.kernel.org>
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-Signed-off-by: Jens Axboe <axboe@fb.com>
----
- block/blk-mq-sysfs.c | 9 ++++-----
- 1 file changed, 4 insertions(+), 5 deletions(-)
-
-diff --git a/block/blk-mq-sysfs.c b/block/blk-mq-sysfs.c
-index ed5217867555..e0fb3f4a628f 100644
---- a/block/blk-mq-sysfs.c
-+++ b/block/blk-mq-sysfs.c
-@@ -390,16 +390,15 @@ static void blk_mq_sysfs_init(struct request_queue *q)
- {
- struct blk_mq_hw_ctx *hctx;
- struct blk_mq_ctx *ctx;
-- int i, j;
-+ int i;
-
- kobject_init(&q->mq_kobj, &blk_mq_ktype);
-
-- queue_for_each_hw_ctx(q, hctx, i) {
-+ queue_for_each_hw_ctx(q, hctx, i)
- kobject_init(&hctx->kobj, &blk_mq_hw_ktype);
-
-- hctx_for_each_ctx(hctx, ctx, j)
-- kobject_init(&ctx->kobj, &blk_mq_ctx_ktype);
-- }
-+ queue_for_each_ctx(q, ctx, i)
-+ kobject_init(&ctx->kobj, &blk_mq_ctx_ktype);
- }
-
- int blk_mq_register_disk(struct gendisk *disk)
---
-2.1.0
-
diff --git a/freed-ora/current/f20/cfg80211-don-t-WARN-about-two-consecutive-Country-IE.patch b/freed-ora/current/f20/cfg80211-don-t-WARN-about-two-consecutive-Country-IE.patch
deleted file mode 100644
index 539f21cd3..000000000
--- a/freed-ora/current/f20/cfg80211-don-t-WARN-about-two-consecutive-Country-IE.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From e95a7085483366d52dd93b9fe8258ea77b99b89a Mon Sep 17 00:00:00 2001
-From: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
-Date: Tue, 2 Dec 2014 09:53:25 +0200
-Subject: [PATCH] cfg80211: don't WARN about two consecutive Country IE hint
-
-This can happen and there is no point in added more
-detection code lower in the stack. Catching these in one
-single point (cfg80211) is enough. Stop WARNING about this
-case.
-
-This fixes:
-https://bugzilla.kernel.org/show_bug.cgi?id=89001
-
-Cc: <stable@vger.kernel.org>
-Fixes: 2f1c6c572d7b ("cfg80211: process non country IE conflicting first")
-Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
-Acked-by: Luis R. Rodriguez <mcgrof@suse.com>
----
- net/wireless/reg.c | 7 ++-----
- 1 file changed, 2 insertions(+), 5 deletions(-)
-
-diff --git a/net/wireless/reg.c b/net/wireless/reg.c
-index b725a31a4751..695f12b2c176 100644
---- a/net/wireless/reg.c
-+++ b/net/wireless/reg.c
-@@ -1839,11 +1839,8 @@ __reg_process_hint_country_ie(struct wiphy *wiphy,
- return REG_REQ_IGNORE;
- return REG_REQ_ALREADY_SET;
- }
-- /*
-- * Two consecutive Country IE hints on the same wiphy.
-- * This should be picked up early by the driver/stack
-- */
-- if (WARN_ON(regdom_changes(country_ie_request->alpha2)))
-+
-+ if (regdom_changes(country_ie_request->alpha2))
- return REG_REQ_OK;
- return REG_REQ_ALREADY_SET;
- }
---
-2.1.0
-
diff --git a/freed-ora/current/f20/config-arm-generic b/freed-ora/current/f20/config-arm-generic
index 1f07efa9b..c0fa94ddd 100644
--- a/freed-ora/current/f20/config-arm-generic
+++ b/freed-ora/current/f20/config-arm-generic
@@ -24,8 +24,6 @@ CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_GPIO=y
CONFIG_RCU_FANOUT_LEAF=16
-# CONFIG_RTC_DRV_SNVS is not set
-# CONFIG_RTC_DRV_HYM8563 is not set
CONFIG_BACKLIGHT_PWM=m
CONFIG_INPUT_PWM_BEEPER=m
CONFIG_ARM_SP805_WATCHDOG=m
@@ -53,6 +51,7 @@ CONFIG_ARM_SMMU=y
CONFIG_MMC_ARMMMCI=y
CONFIG_SERIAL_AMBA_PL011=y
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+CONFIG_SERIAL_8250_DW=y
CONFIG_SERIO_AMBAKMI=y
CONFIG_OC_ETM=y
CONFIG_FB_ARMCLCD=y
@@ -69,10 +68,10 @@ 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
-CONFIG_GENERIC_CPUFREQ_CPU0=m
# CONFIG_ARM_DT_BL_CPUFREQ is not set
# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set
@@ -87,22 +86,27 @@ CONFIG_OF_FLATTREE=y
CONFIG_OF_GPIO=y
CONFIG_OF_IOMMU=y
CONFIG_OF_IRQ=y
-CONFIG_OF_MDIO=m
CONFIG_OF_MTD=y
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
CONFIG_THERMAL_OF=y
+# CONFIG_OF_MDIO is not set
+# CONFIG_MDIO_BUS_MUX_GPIO is not set
+# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
+
# External Connectors
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
@@ -126,9 +130,9 @@ CONFIG_GPIO_WATCHDOG=m
CONFIG_GPIOLIB=y
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_MDIO_GPIO=m
CONFIG_BACKLIGHT_GPIO=m
CONFIG_POWER_RESET_GPIO=y
+CONFIG_POWER_RESET_GPIO_RESTART=y
CONFIG_POWER_RESET_RESTART=y
#i2c
@@ -183,6 +187,8 @@ CONFIG_CMA_AREAS=7
# CONFIG_IRQ_DOMAIN_DEBUG is not set
# CONFIG_LOCK_STAT is not set
+# CONFIG_CADENCE_WATCHDOG is not set
+
# CONFIG_DRM_ARMADA is not set
# CONFIG_DRM_TEGRA is not set
# CONFIG_SHMOBILE_IOMMU is not set
diff --git a/freed-ora/current/f20/config-arm64 b/freed-ora/current/f20/config-arm64
index dcc10155c..9fd40b9fd 100644
--- a/freed-ora/current/f20/config-arm64
+++ b/freed-ora/current/f20/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
@@ -17,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
@@ -42,7 +42,6 @@ CONFIG_HZ=100
CONFIG_KVM=y
CONFIG_KVM_ARM_MAX_VCPUS=8
-CONFIG_LOG_BUF_SHIFT=14
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
@@ -53,7 +52,7 @@ CONFIG_NFS_USE_KERNEL_DNS=y
# CONFIG_PL330_DMA is not set
CONFIG_RCU_FANOUT=64
# CONFIG_RTC_DRV_PL030 is not set
-# CONFIG_RTC_DRV_PL031 is not set
+CONFIG_RTC_DRV_PL031=y
CONFIG_SERIAL_8250_DMA=y
# CONFIG_SERIAL_AMBA_PL010 is not set
CONFIG_SPARSE_IRQ=y
@@ -69,6 +68,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
@@ -82,6 +82,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
@@ -91,13 +92,8 @@ CONFIG_AHCI_XGENE=y
CONFIG_PHY_XGENE=y
CONFIG_NET_XGENE=y
CONFIG_RTC_DRV_XGENE=m
-CONFIG_RTC_DRV_EFI=y
-
-# not arm64
-# CONFIG_GPIO_ADNP is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_MDIO_BUS_MUX_GPIO is not set
-# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
+CONFIG_HW_RANDOM_XGENE=m
+CONFIG_GPIO_XGENE=y
# busted build for various reasons
# uses pci_* for some reason to allocate DMA buffers
@@ -120,7 +116,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
@@ -133,6 +128,17 @@ 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=m
+CONFIG_AMD_XGBE_PHY=m
# CONFIG_AMD_XGBE_DCB is not set
+
+# CONFIG_IMX_THERMAL is not set
+
+# still? 2014-11-11
+# CONFIG_BPF_JIT is not set
+
+CONFIG_DMI=y
+CONFIG_DMIID=y
+CONFIG_DMI_SYSFS=y
+
+CONFIG_SATA_AHCI_PLATFORM=y
diff --git a/freed-ora/current/f20/config-armv7 b/freed-ora/current/f20/config-armv7
index 133a31064..652d2248f 100644
--- a/freed-ora/current/f20/config-armv7
+++ b/freed-ora/current/f20/config-armv7
@@ -65,6 +65,7 @@ CONFIG_SND_KIRKWOOD_SOC_ARMADA370_DB=m
CONFIG_USB_EHCI_HCD_ORION=m
CONFIG_MMC_SDHCI_PXAV3=m
CONFIG_MVPP2=m
+CONFIG_COMMON_CLK_SI5351=m
# CONFIG_CACHE_FEROCEON_L2 is not set
# CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH is not set
@@ -164,6 +165,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
@@ -184,10 +186,9 @@ CONFIG_INPUT_TWL4030_VIBRA=m
CONFIG_INPUT_TWL6040_VIBRA=m
CONFIG_KEYBOARD_OMAP4=m
CONFIG_KEYBOARD_TWL4030=m
+CONFIG_LEDS_TCA6507=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
@@ -249,9 +250,6 @@ CONFIG_VIDEO_OMAP3=m
# The ones below are for TI Davinci
# CONFIG_VIDEO_DM6446_CCDC is not set
# CONFIG_VIDEO_DM355_CCDC is not set
-# Also enable vivi driver - useful for testing a full kernelspace V4L2 driver
-CONFIG_V4L_TEST_DRIVERS=y
-CONFIG_VIDEO_VIVI=m
CONFIG_SND_OMAP_SOC=m
CONFIG_SND_SOC_I2C_AND_SPI=m
@@ -267,6 +265,7 @@ CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m
CONFIG_SND_OMAP_SOC_RX51=m
CONFIG_SND_SOC_TLV320AIC23=m
CONFIG_SND_SOC_TLV320AIC3X=m
+CONFIG_SND_SOC_TPA6130A2=m
CONFIG_SND_SOC_TWL4030=m
CONFIG_SND_SOC_TWL6040=m
CONFIG_SND_SOC_PCM1792A=m
@@ -321,10 +320,16 @@ CONFIG_ARCH_MSM8960=y
CONFIG_ARCH_MSM8974=y
CONFIG_SERIAL_MSM=y
CONFIG_SERIAL_MSM_CONSOLE=y
+CONFIG_SERIAL_MSM_HS=m
CONFIG_PINCTRL_APQ8064=m
+CONFIG_PINCTRL_APQ8084=m
CONFIG_PINCTRL_IPQ8064=m
CONFIG_PINCTRL_MSM8960=m
+CONFIG_PINCTRL_MSM8X74=m
CONFIG_COMMON_CLK_QCOM=m
+CONFIG_MFD_QCOM_RPM=m
+CONFIG_MFD_PM8921_CORE=m
+CONFIG_REGULATOR_QCOM_RPM=m
CONFIG_APQ_GCC_8084=m
CONFIG_APQ_MMCC_8084=m
CONFIG_IPQ_GCC_806X=m
@@ -340,16 +345,24 @@ 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
CONFIG_DRM_MSM_FBDEV=y
CONFIG_USB_EHCI_MSM=m
+CONFIG_MFD_PM8XXX=m
+CONFIG_KEYBOARD_PMIC8XXX=m
+CONFIG_INPUT_PM8XXX_VIBRATOR=m
+CONFIG_INPUT_PMIC8XXX_PWRKEY=m
+CONFIG_RTC_DRV_PM8XXX=m
# CONFIG_DRM_MSM_REGISTER_LOGGING is not set
+CONFIG_QCOM_WDT=m
# i.MX
# CONFIG_MXC_DEBUG_BOARD is not set
@@ -400,6 +413,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
@@ -408,14 +422,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
@@ -480,12 +501,26 @@ CONFIG_REGULATOR_DA9055=m
CONFIG_ARCH_EXYNOS4=y
CONFIG_SOC_EXYNOS4212=y
CONFIG_SOC_EXYNOS4412=y
+CONFIG_ARM_EXYNOS4210_CPUFREQ=y
+CONFIG_ARM_EXYNOS4X12_CPUFREQ=y
+CONFIG_AK8975=m
+CONFIG_CM36651=m
+CONFIG_KEYBOARD_SAMSUNG=m
# Rockchips
CONFIG_I2C_RK3X=m
CONFIG_SPI_ROCKCHIP=m
CONFIG_SND_SOC_ROCKCHIP=m
CONFIG_PWM_ROCKCHIP=m
+CONFIG_ROCKCHIP_SARADC=m
+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
+CONFIG_RTC_DRV_HYM8563=m
+CONFIG_ROCKCHIP_SARADC=m
# ST Ericsson
CONFIG_MACH_HREFV60=y
@@ -508,6 +543,8 @@ CONFIG_AHCI_ST=m
CONFIG_INPUT_AB8500_PONKEY=m
CONFIG_REGULATOR_AB8500=y
CONFIG_AB8500_USB=m
+CONFIG_USB_MUSB_UX500=m
+CONFIG_USB_UX500_DMA=y
CONFIG_RTC_DRV_AB8500=m
CONFIG_PWM_AB8500=m
CONFIG_SND_SOC_UX500=m
@@ -572,19 +609,18 @@ 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
CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
CONFIG_COMMON_CLK_AXI_CLKGEN=m
+CONFIG_COMMON_CLK_SI570=m
CONFIG_ARM_ZYNQ_CPUIDLE=y
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
@@ -600,6 +636,10 @@ CONFIG_XILLYBUS=m
CONFIG_XILLYBUS_PCIE=m
CONFIG_XILLYBUS_OF=m
CONFIG_GS_FPGABOOT=m
+CONFIG_USB_GADGET_XILINX=m
+CONFIG_PCIE_XILINX=y
+CONFIG_CADENCE_WATCHDOG=m
+CONFIG_REGULATOR_ISL9305=m
# Multi function devices
CONFIG_MFD_88PM800=m
diff --git a/freed-ora/current/f20/config-armv7-generic b/freed-ora/current/f20/config-armv7-generic
index 4a96a546a..cd5f89b33 100644
--- a/freed-ora/current/f20/config-armv7-generic
+++ b/freed-ora/current/f20/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
@@ -112,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
@@ -144,7 +151,6 @@ CONFIG_ARM_TIMER_SP804=y
CONFIG_SERIO_AMBAKMI=m
CONFIG_SERIAL_AMBA_PL010=y
CONFIG_SERIAL_AMBA_PL010_CONSOLE=y
-CONFIG_SERIAL_8250_DW=y
CONFIG_SERIAL_MRST_MAX3110=m
CONFIG_RTC_DRV_PL030=y
@@ -189,6 +195,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
@@ -203,8 +210,6 @@ CONFIG_SOC_EXYNOS5410=y
CONFIG_SOC_EXYNOS5800=y
CONFIG_SERIAL_SAMSUNG=y
CONFIG_SERIAL_SAMSUNG_CONSOLE=y
-CONFIG_ARM_EXYNOS4210_CPUFREQ=y
-CONFIG_ARM_EXYNOS4X12_CPUFREQ=y
CONFIG_ARM_EXYNOS5250_CPUFREQ=y
CONFIG_ARM_EXYNOS5440_CPUFREQ=y
CONFIG_ARM_EXYNOS_CPU_FREQ_BOOST_SW=y
@@ -216,6 +221,7 @@ CONFIG_I2C_S3C2410=m
CONFIG_SPI_S3C64XX=m
CONFIG_EXYNOS_THERMAL=m
CONFIG_EXYNOS_THERMAL_CORE=y
+CONFIG_EXYNOS_ADC=m
CONFIG_MMC_SDHCI_S3C=m
CONFIG_MMC_SDHCI_S3C_DMA=y
CONFIG_MMC_DW_EXYNOS=m
@@ -235,6 +241,9 @@ CONFIG_REGULATOR_S2MPS11=m
CONFIG_REGULATOR_S5M8767=m
CONFIG_TCG_TIS_I2C_INFINEON=m
CONFIG_RTC_DRV_S5M=m
+CONFIG_MFD_WM8994=m
+CONFIG_GPIO_WM8994=m
+CONFIG_REGULATOR_WM8994=m
# CONFIG_RTC_DRV_S3C is not set
CONFIG_EXYNOS_VIDEO=y
@@ -255,7 +264,14 @@ CONFIG_DRM_EXYNOS_ROTATOR=y
CONFIG_DRM_EXYNOS_VIDI=y
CONFIG_PHY_EXYNOS_DP_VIDEO=m
# CONFIG_FB_S3C is not set
-# CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS is not set
+CONFIG_PHY_EXYNOS_MIPI_VIDEO=m
+CONFIG_PHY_EXYNOS_DP_VIDEO=m
+CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS=y
+CONFIG_VIDEO_EXYNOS_FIMC_LITE=m
+CONFIG_VIDEO_EXYNOS4_FIMC_IS=m
+CONFIG_VIDEO_EXYNOS4_ISP_DMA_CAPTURE=y
+CONFIG_VIDEO_S5P_FIMC=m
+CONFIG_VIDEO_S5P_MIPI_CSIS=m
CONFIG_VIDEO_SAMSUNG_S5P_G2D=m
CONFIG_VIDEO_SAMSUNG_S5P_JPEG=m
CONFIG_VIDEO_SAMSUNG_S5P_MFC=m
@@ -268,11 +284,10 @@ CONFIG_SND_SOC_SAMSUNG_SMDK_WM8994=m
CONFIG_SND_SOC_SMDK_WM8994_PCM=m
CONFIG_SND_SOC_SNOW=m
CONFIG_SND_SOC_ODROIDX2=m
-# CONFIG_GPIO_WM8994 is not set
-# CONFIG_REGULATOR_WM8994 is not set
# 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
@@ -282,12 +297,15 @@ CONFIG_REGULATOR_MAX77686=m
CONFIG_REGULATOR_S2MPA01=m
CONFIG_REGULATOR_S5M8767=m
CONFIG_COMMON_CLK_MAX77686=m
+CONFIG_COMMON_CLK_MAX77802=m
CONFIG_COMMON_CLK_S2MPS11=m
CONFIG_INPUT_MAX8997_HAPTIC=m
CONFIG_CHARGER_MAX8997=m
CONFIG_LEDS_MAX8997=m
CONFIG_RTC_DRV_MAX8997=m
CONFIG_RTC_DRV_MAX77686=m
+CONFIG_RTC_DRV_MAX77802=m
+CONFIG_RTC_DRV_RK808=m
CONFIG_EXTCON_MAX8997=m
# Tegra
@@ -334,6 +352,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,12 +373,10 @@ 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
-# CONFIG_USB_OTG_WHITELIST is not set
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
CONFIG_USB_ULPI=y
CONFIG_AX88796=m
@@ -367,6 +387,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,20 +457,20 @@ 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
# GPIO
# CONFIG_GPIO_EM is not set
CONFIG_GPIO_74X164=m
-CONFIG_GPIO_ADNP=m
-CONFIG_GPIO_MCP23S08=m
CONFIG_GPIO_MAX7301=m
CONFIG_GPIO_MC33880=m
CONFIG_GPIO_TPS65910=y
CONFIG_GPIO_TPS65912=m
# CONFIG_GPIO_ZEVIO is not set
CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GPIO_REGISTER=y
CONFIG_MDIO_BUS_MUX=m
CONFIG_MDIO_BUS_MUX_GPIO=m
CONFIG_MDIO_BUS_MUX_MMIOREG=m
@@ -458,6 +479,7 @@ CONFIG_INPUT_GPIO_BEEPER=m
CONFIG_INPUT_GPIO_TILT_POLLED=m
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_KEYBOARD_GPIO=m
+CONFIG_KEYBOARD_GPIO_POLLED=m
CONFIG_KEYBOARD_MATRIX=m
# CONFIG_GPIO_RCAR is not set
CONFIG_W1_MASTER_GPIO=m
@@ -504,10 +526,6 @@ CONFIG_EDAC_LEGACY_SYSFS=y
# Watchdog
-# Thermal / powersaving
-CONFIG_THERMAL=y
-CONFIG_ARM_PSCI=y
-
# Mailbox
CONFIG_MAILBOX=y
@@ -532,6 +550,7 @@ CONFIG_MTD_NAND_PXA3xx=m
CONFIG_MTD_NAND_RICOH=m
CONFIG_MTD_NAND_TMIO=m
CONFIG_MTD_SPI_NOR=m
+# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
CONFIG_MTD_SPINAND_MT29F=m
CONFIG_MTD_SPINAND_ONDIEECC=y
CONFIG_MTD_SST25L=m
@@ -550,6 +569,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
@@ -562,6 +583,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
@@ -624,10 +646,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
@@ -688,7 +718,11 @@ 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_POWER_AVS=y
CONFIG_CHARGER_MANAGER=y
CONFIG_CHARGER_BQ2415X=m
CONFIG_CHARGER_BQ24190=m
@@ -697,6 +731,7 @@ CONFIG_CHARGER_GPIO=m
CONFIG_CHARGER_TPS65090=m
CONFIG_PDA_POWER=m
CONFIG_GENERIC_ADC_BATTERY=m
+CONFIG_BATTERY_SBS=m
# Sensors
CONFIG_TMP006=m
@@ -708,6 +743,8 @@ CONFIG_SENSORS_ADCXX=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_GPIO_FAN=m
CONFIG_SENSORS_HTU21=m
+CONFIG_SENSORS_ISL29018=m
+CONFIG_SENSORS_ISL29028=m
CONFIG_SENSORS_LIS3_SPI=m
CONFIG_SENSORS_LM70=m
CONFIG_SENSORS_MAX1111=m
@@ -736,8 +773,10 @@ CONFIG_TOUCHSCREEN_AD7877=m
CONFIG_TOUCHSCREEN_MC13783=m
CONFIG_TOUCHSCREEN_TSC2005=m
+CONFIG_LEDS_TRIGGER_CPU=y
CONFIG_LEDS_DAC124S085=m
CONFIG_LEDS_PWM=m
+CONFIG_LEDS_SYSCON=y
CONFIG_BMP085_SPI=m
CONFIG_SRAM=y
@@ -785,9 +824,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/freed-ora/current/f20/config-armv7-lpae b/freed-ora/current/f20/config-armv7-lpae
index 661ce3685..b08f4daa1 100644
--- a/freed-ora/current/f20/config-armv7-lpae
+++ b/freed-ora/current/f20/config-armv7-lpae
@@ -62,7 +62,8 @@ 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
# Tegra (non A15 device options)
# CONFIG_ARCH_TEGRA_2x_SOC is not set
diff --git a/freed-ora/current/f20/config-generic b/freed-ora/current/f20/config-generic
index ad94a89b5..b86b6921e 100644
--- a/freed-ora/current/f20/config-generic
+++ b/freed-ora/current/f20/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
@@ -705,11 +706,11 @@ CONFIG_FIREWIRE_NOSY=m
#
CONFIG_NET=y
-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
@@ -717,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
@@ -758,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
@@ -776,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
@@ -1017,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
@@ -1082,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
@@ -1207,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
@@ -1306,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
@@ -1321,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
@@ -1401,8 +1415,10 @@ CONFIG_IXGBE_HWMON=y
CONFIG_I40E=m
# CONFIG_I40E_VXLAN is not set
# CONFIG_I40E_DCB is not set
+# CONFIG_I40E_FCOE is not set
CONFIG_I40EVF=m
-
+CONFIG_FM10K=m
+# CONFIG_FM10K_VXLAN is not set
# CONFIG_NET_VENDOR_I825XX is not set
CONFIG_NET_VENDOR_MARVELL=y
@@ -1454,6 +1470,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
@@ -1526,6 +1544,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
@@ -1652,11 +1671,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
@@ -1723,12 +1745,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
@@ -1736,6 +1761,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
@@ -1792,9 +1818,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
@@ -2118,6 +2146,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
@@ -2259,6 +2289,7 @@ CONFIG_TOUCHSCREEN_ZFORCE=m
# CONFIG_TOUCHSCREEN_ADS7846 is not set
# CONFIG_TOUCHSCREEN_AD7877 is not set
# CONFIG_TOUCHSCREEN_TSC2005 is not set
+# CONFIG_TOUCHSCREEN_AR1021_I2C is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=m
@@ -2617,8 +2648,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,10 +2665,9 @@ CONFIG_HID_SENSOR_IIO_TRIGGER=m
# CONFIG_TSL4531 is not set
# CONFIG_NAU7802 is not set
# CONFIG_TI_ADC081C is not set
-# CONFIG_EXYNOS_ADC is not set
+# CONFIG_TI_ADC128S052 is not set
# CONFIG_VIPERBOARD_ADC is not set
# CONFIG_VF610_ADC is not set
-# CONFIG_XILINX_XADC is not set
# CONFIG_INV_MPU6050_IIO is not set
CONFIG_IIO_ST_GYRO_3AXIS=m
CONFIG_IIO_ST_MAGN_3AXIS=m
@@ -2643,6 +2675,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 +2714,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
@@ -2688,7 +2722,7 @@ CONFIG_HID_SENSOR_DEVICE_ROTATION=m
# CONFIG_MPL115 is not set
# CONFIG_SI7005 is not set
# CONFIG_AS3935 is not set
-# CONFIG_KXCJK1013 is not set
+CONFIG_KXCJK1013=m
# CONFIG_ISL29125 is not set
# CONFIG_TCS3414 is not set
# CONFIG_AK09911 is not set
@@ -2724,13 +2758,8 @@ CONFIG_HID_SENSOR_DEVICE_ROTATION=m
# CONFIG_AD7816 is not set
# CONFIG_AD7192 is not set
# CONFIG_AD7280 is not set
-# CONFIG_AD5930 is not set
# CONFIG_AD9832 is not set
# CONFIG_AD9834 is not set
-# CONFIG_AD9850 is not set
-# CONFIG_AD9852 is not set
-# CONFIG_AD9910 is not set
-# CONFIG_AD9951 is not set
# CONFIG_ADIS16060 is not set
# CONFIG_ADE7753 is not set
# CONFIG_ADE7754 is not set
@@ -2859,6 +2888,7 @@ CONFIG_RTC_DRV_DS1742=m
CONFIG_RTC_DRV_DS1374=m
# CONFIG_RTC_DRV_EP93XX is not set
CONFIG_RTC_DRV_FM3130=m
+# CONFIG_RTC_DRV_HYM8563 is not set
CONFIG_RTC_DRV_ISL1208=m
CONFIG_RTC_DRV_M41T80=m
CONFIG_RTC_DRV_M41T80_WDT=y
@@ -2870,6 +2900,7 @@ CONFIG_RTC_DRV_PCF8563=m
CONFIG_RTC_DRV_PCF8583=m
CONFIG_RTC_DRV_RS5C372=m
# CONFIG_RTC_DRV_SA1100 is not set
+# CONFIG_RTC_DRV_SNVS is not set
# CONFIG_RTC_DRV_TEST is not set
CONFIG_RTC_DRV_X1205=m
CONFIG_RTC_DRV_PCF8523=m
@@ -3077,6 +3108,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
@@ -3117,6 +3150,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
@@ -3184,6 +3218,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
@@ -3229,6 +3264,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
@@ -3500,7 +3536,7 @@ CONFIG_SND_FIREWIRE_SPEAKERS=m
CONFIG_SND_ISIGHT=m
CONFIG_SND_SCS1X=m
CONFIG_SND_DICE=m
-# CONFIG_SND_FIREWORKS is not set
+CONFIG_SND_FIREWORKS=m
# CONFIG_SND_BEBOB is not set
#
@@ -3620,6 +3656,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
@@ -3734,6 +3771,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
@@ -3838,7 +3876,6 @@ CONFIG_USB_SERIAL_MCT_U232=m
CONFIG_USB_SERIAL_MOS7720=m
CONFIG_USB_SERIAL_MOS7715_PARPORT=y
# CONFIG_USB_SERIAL_WISHBONE is not set
-# CONFIG_USB_SERIAL_ZTE is not set
CONFIG_USB_SERIAL_MOS7840=m
# CONFIG_USB_SERIAL_MXUPORT is not set
CONFIG_USB_SERIAL_NAVMAN=m
@@ -3882,16 +3919,12 @@ CONFIG_USB_PHY=y
# CONFIG_USB_OTG_FSM is not set
# CONFIG_GENERIC_PHY is not set
-# CONFIG_PHY_EXYNOS_MIPI_VIDEO is not set
-# CONFIG_PHY_EXYNOS_DP_VIDEO is not set
# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set
# 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=m
+# CONFIG_USB_RCAR_PHY is not set
CONFIG_USB_ATM=m
CONFIG_USB_CXACRU=m
# CONFIG_USB_C67X00_HCD is not set
@@ -3937,6 +3970,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
@@ -4014,6 +4049,10 @@ 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_MFD_HI6421_PMIC is not set
+# CONFIG_MFD_RK808 is not set
+# CONFIG_MFD_RN5T618 is not set
# CONFIG_EZX_PCAP is not set
# CONFIG_INTEL_SOC_PMIC is not set
@@ -4149,6 +4188,7 @@ CONFIG_9P_FSCACHE=y
CONFIG_9P_FS_POSIX_ACL=y
CONFIG_9P_FS_SECURITY=y
CONFIG_FUSE_FS=m
+CONFIG_OVERLAY_FS=m
# CONFIG_OMFS_FS is not set
CONFIG_CUSE=m
CONFIG_F2FS_FS=m
@@ -4453,6 +4493,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
@@ -4631,6 +4672,7 @@ CONFIG_THERMAL_HWMON=y
CONFIG_THERMAL_GOV_FAIR_SHARE=y
# CONFIG_THERMAL_GOV_USER_SPACE is not set
CONFIG_THERMAL_GOV_STEP_WISE=y
+# CONFIG_THERMAL_GOV_BANG_BANG is not set
# CONFIG_THERMAL_EMULATION is not set
# CONFIG_THERMAL_OF is not set
# CONFIG_CPU_THERMAL is not set
@@ -4727,6 +4769,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
@@ -4799,6 +4842,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
@@ -4839,6 +4883,8 @@ CONFIG_APM_POWER=m
# CONFIG_CHARGER_BQ24190 is not set
# CONFIG_CHARGER_BQ24735 is not set
CONFIG_POWER_RESET=y
+# CONFIG_POWER_RESET_LTC2952 is not set
+# CONFIG_POWER_RESET_SYSCON is not set
# CONFIG_PDA_POWER is not set
@@ -4922,6 +4968,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
@@ -4937,6 +4985,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
@@ -4981,9 +5030,6 @@ CONFIG_RTL8192E=m
# CONFIG_INPUT_GPIO is not set
# CONFIG_VIDEO_CX25821 is not set
# CONFIG_R8188EU is not set
-# Larry Finger maintains (rhbz 1113422)
-CONFIG_R8192EE=m
-# CONFIG_R8821AE is not set
# CONFIG_RTL8192U is not set
CONFIG_R8723AU=m # Jes Sorensen maintains this (rhbz 1100162)
# CONFIG_8723AU_AP_MODE is not set
@@ -5015,7 +5061,6 @@ CONFIG_USBIP_HOST=m
# CONFIG_DGNC is not set
# CONFIG_RTS5208 is not set
# CONFIG_GS_FPGABOOT is not set
-# CONFIG_BT_NOKIA_H4P is not set
# CONFIG_UNISYSSPAR is not set
# CONFIG_MEDIA_TUNER_MSI001 is not set
# END OF STAGING
@@ -5027,6 +5072,8 @@ CONFIG_USBIP_HOST=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
@@ -5047,6 +5094,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
@@ -5098,6 +5146,7 @@ CONFIG_GPIO_SYSFS=y
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_CS5535 is not set
+# CONFIG_GPIO_ADNP is not set
# CONFIG_GPIO_ADP5588 is not set
# CONFIG_GPIO_IT8761E is not set
# CONFIG SB105x is not set
@@ -5125,6 +5174,7 @@ CONFIG_GPIO_VIPERBOARD=m
# CONFIG_GPIO_74X164 is not set
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_MCP23S08 is not set
# FIXME: Why?
@@ -5148,6 +5198,7 @@ CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
CONFIG_TCM_PSCSI=m
CONFIG_TCM_FC=m
+CONFIG_TCM_USER=m
CONFIG_HWSPINLOCK=m
@@ -5156,7 +5207,7 @@ CONFIG_PSTORE_RAM=m
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_FTRACE is not set
-# CONFIG_TEST_MODULE is not set
+# CONFIG_TEST_LKM is not set
# CONFIG_TEST_USER_COPY is not set
# CONFIG_TEST_BPF is not set
# CONFIG_TEST_UDELAY is not set
@@ -5202,8 +5253,19 @@ CONFIG_POWERCAP=y
# CONFIG_ARM_ARCH_TIMER_EVTSTREAM is not set
+# CONFIG_HMC_DRV 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_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
# CONFIG_SYSTEM_TRUSTED_KEYRING is not set
# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
@@ -5213,3 +5275,8 @@ CONFIG_POWERCAP=y
# CONFIG_GLOB_SELFTEST is not set
# CONFIG_SBSAUART_TTY is not set
+
+# CONFIG_SERIAL_8250_FINTEK is not set
+
+# set in x86-generic presently
+# CONFIG_TOUCHSCREEN_GOODIX is not set
diff --git a/freed-ora/current/f20/config-powerpc-generic b/freed-ora/current/f20/config-powerpc-generic
index bc0f9433e..ce4da577f 100644
--- a/freed-ora/current/f20/config-powerpc-generic
+++ b/freed-ora/current/f20/config-powerpc-generic
@@ -309,7 +309,6 @@ CONFIG_SERIAL_GRLIB_GAISLER_APBUART=m
# CONFIG_PPC_MPC512x is not set
# CONFIG_RTC_DRV_MPC5121 is not set
-# CONFIG_RTC_DRV_HYM8563 is not set
# CONFIG_MPC512X_DMA is not set
@@ -323,8 +322,6 @@ CONFIG_I2C_MPC=m
# CONFIG_CRYPTO_DEV_FSL_CAAM is not set
# CONFIG_CRYPTO_SHA1_PPC is not set
-# CONFIG_GPIO_MCP23S08 is not set
-
# CONFIG_CAN_FLEXCAN is not set
# CONFIG_NET_VENDOR_XILINX is not set
# CONFIG_PPC_EPAPR_HV_BYTECHAN is not set
@@ -351,15 +348,14 @@ CONFIG_RCU_FANOUT_LEAF=16
CONFIG_PPC_DENORMALISATION=y
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
-# CONFIG_GPIO_ADNP is not set
# CONFIG_MFD_SYSCON is not set
-# CONFIG_RTC_DRV_SNVS is not set
# CONFIG_ASYMMETRIC_KEY_TYPE is not set
# CONFIG_CPU_LITTLE_ENDIAN is not set
CONFIG_POWER_RESET_GPIO=y
+CONFIG_POWER_RESET_GPIO_RESTART=y
CONFIG_FB_SSD1307=m
CONFIG_INPUT_PWM_BEEPER=m
CONFIG_BACKLIGHT_PWM=m
diff --git a/freed-ora/current/f20/config-powerpc64 b/freed-ora/current/f20/config-powerpc64
index e24be4faf..49b4f2e70 100644
--- a/freed-ora/current/f20/config-powerpc64
+++ b/freed-ora/current/f20/config-powerpc64
@@ -171,8 +171,8 @@ 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
# CONFIG_PPC_ICSWX_USE_SIGILL is not set
# CONFIG_PCIEPORTBUS is not set
diff --git a/freed-ora/current/f20/config-powerpc64le b/freed-ora/current/f20/config-powerpc64le
new file mode 100644
index 000000000..ee43fdb3b
--- /dev/null
+++ b/freed-ora/current/f20/config-powerpc64le
@@ -0,0 +1 @@
+CONFIG_CPU_LITTLE_ENDIAN=y
diff --git a/freed-ora/current/f20/config-powerpc64p7 b/freed-ora/current/f20/config-powerpc64p7
index 60baede68..6a5e1c6d9 100644
--- a/freed-ora/current/f20/config-powerpc64p7
+++ b/freed-ora/current/f20/config-powerpc64p7
@@ -161,8 +161,8 @@ 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
# CONFIG_PPC_ICSWX_USE_SIGILL is not set
# CONFIG_PCIEPORTBUS is not set
diff --git a/freed-ora/current/f20/config-s390x b/freed-ora/current/f20/config-s390x
index 78ba8e947..9534f51be 100644
--- a/freed-ora/current/f20/config-s390x
+++ b/freed-ora/current/f20/config-s390x
@@ -83,7 +83,6 @@ CONFIG_TN3270_FS=m
#
CONFIG_S390_TAPE_34XX=m
-# CONFIG_PPP is not set
# CONFIG_SLIP is not set
#
@@ -213,7 +212,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/freed-ora/current/f20/config-x86-32-generic b/freed-ora/current/f20/config-x86-32-generic
index 13e1bac70..5daa9b8a3 100644
--- a/freed-ora/current/f20/config-x86-32-generic
+++ b/freed-ora/current/f20/config-x86-32-generic
@@ -78,7 +78,6 @@ CONFIG_X86_SPEEDSTEP_LIB=y
CONFIG_X86_LONGRUN=y
# CONFIG_X86_LONGHAUL is not set
# CONFIG_X86_CPUFREQ_NFORCE2 is not set
-# CONFIG_GENERIC_CPUFREQ_CPU0 is not set
# e_powersaver is dangerous
# CONFIG_X86_E_POWERSAVER is not set
@@ -168,6 +167,7 @@ CONFIG_XO1_RFKILL=m
CONFIG_X86_32_IRIS=m
CONFIG_POWER_RESET_GPIO=y
+# CONFIG_POWER_RESET_GPIO_RESTART is not set
@@ -206,14 +206,10 @@ CONFIG_BACKLIGHT_PWM=m
# CONFIG_MDIO_BUS_MUX_GPIO is not set
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
# CONFIG_GPIO_SODAVILLE is not set
-# CONFIG_GPIO_ADNP is not set
# CONFIG_BACKLIGHT_OT200 is not set
-# CONFIG_RTC_DRV_SNVS is not set
-# CONFIG_RTC_DRV_HYM8563 is not set
# CONFIG_MLX5_INFINIBAND is not set
# CONFIG_PINCTRL_SINGLE is not set
-# CONFIG_PINCTRL_MSM8X74 is not set
# CONFIG_PINCTRL_BCM281XX is not set
# CONFIG_PINCTRL_APQ8064 is not set
# CONFIG_PINCTRL_IPQ8064 is not set
diff --git a/freed-ora/current/f20/config-x86-generic b/freed-ora/current/f20/config-x86-generic
index 93f78f2ae..1af8775a4 100644
--- a/freed-ora/current/f20/config-x86-generic
+++ b/freed-ora/current/f20/config-x86-generic
@@ -240,6 +240,7 @@ CONFIG_INTEL_SMARTCONNECT=y
CONFIG_PVPANIC=m
# CONFIG_TOUCHSCREEN_INTEL_MID is not set
+CONFIG_TOUCHSCREEN_GOODIX=m
# CONFIG_SMSC37B787_WDT is not set
CONFIG_VIA_WDT=m
@@ -293,6 +294,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
@@ -376,7 +379,6 @@ CONFIG_LPC_ICH=m
CONFIG_GPIO_ICH=m
# CONFIG_GPIO_LYNXPOINT is not set
-# CONFIG_GPIO_MCP23S08 is not set
# CONFIG_GPIO_F7188X is not set
# These should all go away with IC2_ACPI is fixed
@@ -406,7 +408,6 @@ CONFIG_GPIO_ICH=m
# CONFIG_TWL4030_CORE is not set
# CONFIG_TWL6040_CORE is not set
-
CONFIG_PCI_CNB20LE_QUIRK=y
CONFIG_ACPI_EC_DEBUGFS=m
@@ -480,15 +481,19 @@ CONFIG_NFC_MICROREAD_MEI=m
# CONFIG_X86_GOLDFISH is not set
CONFIG_X86_INTEL_LPSS=y
+CONFIG_IOSF_MBI=m
+# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_PWM_LPSS=m
+CONFIG_PWM_LPSS_PCI=m
+CONFIG_PWM_LPSS_PLATFORM=m
CONFIG_PINCTRL=y
CONFIG_PINCTRL_BAYTRAIL=y
# CONFIG_INTEL_POWERCLAMP is not set
CONFIG_X86_PKG_TEMP_THERMAL=m
-CONFIG_ACPI_INT3403_THERMAL=m
CONFIG_INTEL_SOC_DTS_THERMAL=m
CONFIG_INTEL_RAPL=m
+CONFIG_INT340X_THERMAL=m
CONFIG_VMWARE_VMCI=m
CONFIG_VMWARE_VMCI_VSOCKETS=m
diff --git a/freed-ora/current/f20/config-x86_64-generic b/freed-ora/current/f20/config-x86_64-generic
index de4671325..89b7070ef 100644
--- a/freed-ora/current/f20/config-x86_64-generic
+++ b/freed-ora/current/f20/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
@@ -152,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
diff --git a/freed-ora/current/f20/crash-driver.patch b/freed-ora/current/f20/crash-driver.patch
index 9ec016d50..5a8fa876f 100644
--- a/freed-ora/current/f20/crash-driver.patch
+++ b/freed-ora/current/f20/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
@@ -505,5 +505,5 @@ index 000000000000..25ab9869d566
+
+#endif /* __CRASH_H__ */
--
-1.9.3
+2.1.0
diff --git a/freed-ora/current/f20/deal-with-deadlock-in-d_walk.patch b/freed-ora/current/f20/deal-with-deadlock-in-d_walk.patch
deleted file mode 100644
index 5f9087b42..000000000
--- a/freed-ora/current/f20/deal-with-deadlock-in-d_walk.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From: Al Viro <viro@zeniv.linux.org.uk>
-Date: Sun, 26 Oct 2014 19:31:10 -0400
-Subject: [PATCH] deal with deadlock in d_walk()
-
-... by not hitting rename_retry for reasons other than rename having
-happened. In other words, do _not_ restart when finding that
-between unlocking the child and locking the parent the former got
-into __dentry_kill(). Skip the killed siblings instead...
-
-Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
----
- fs/dcache.c | 31 ++++++++++++++++---------------
- 1 file changed, 16 insertions(+), 15 deletions(-)
-
-diff --git a/fs/dcache.c b/fs/dcache.c
-index 8d7c2b34cb3f..e6c207134a14 100644
---- a/fs/dcache.c
-+++ b/fs/dcache.c
-@@ -465,7 +465,7 @@ static void __dentry_kill(struct dentry *dentry)
- }
- /* if it was on the hash then remove it */
- __d_drop(dentry);
-- list_del(&dentry->d_child);
-+ __list_del_entry(&dentry->d_child);
- /*
- * Inform d_walk() that we are no longer attached to the
- * dentry tree
-@@ -1113,33 +1113,31 @@ resume:
- /*
- * All done at this level ... ascend and resume the search.
- */
-+ rcu_read_lock();
-+ascend:
- if (this_parent != parent) {
- struct dentry *child = this_parent;
- this_parent = child->d_parent;
-
-- rcu_read_lock();
- spin_unlock(&child->d_lock);
- spin_lock(&this_parent->d_lock);
-
-- /*
-- * might go back up the wrong parent if we have had a rename
-- * or deletion
-- */
-- if (this_parent != child->d_parent ||
-- (child->d_flags & DCACHE_DENTRY_KILLED) ||
-- need_seqretry(&rename_lock, seq)) {
-- spin_unlock(&this_parent->d_lock);
-- rcu_read_unlock();
-+ /* might go back up the wrong parent if we have had a rename. */
-+ if (need_seqretry(&rename_lock, seq))
- goto rename_retry;
-+ next = child->d_child.next;
-+ while (unlikely(child->d_flags & DCACHE_DENTRY_KILLED)) {
-+ if (next == &this_parent->d_subdirs)
-+ goto ascend;
-+ child = list_entry(next, struct dentry, d_child);
-+ next = next->next;
- }
- rcu_read_unlock();
-- next = child->d_child.next;
- goto resume;
- }
-- if (need_seqretry(&rename_lock, seq)) {
-- spin_unlock(&this_parent->d_lock);
-+ if (need_seqretry(&rename_lock, seq))
- goto rename_retry;
-- }
-+ rcu_read_unlock();
- if (finish)
- finish(data);
-
-@@ -1149,6 +1147,9 @@ out_unlock:
- return;
-
- rename_retry:
-+ spin_unlock(&this_parent->d_lock);
-+ rcu_read_unlock();
-+ BUG_ON(seq & 1);
- if (!retry)
- return;
- seq = 1;
---
-2.1.0
-
diff --git a/freed-ora/current/f20/deblob-3.17 b/freed-ora/current/f20/deblob-3.18
index 8fa808202..a6a79fb82 100755
--- a/freed-ora/current/f20/deblob-3.17
+++ b/freed-ora/current/f20/deblob-3.18
@@ -48,7 +48,7 @@
# For each kver release, start extra with an empty string, then count
# from 1 if changes are needed that require rebuilding the tarball.
-kver=3.17 extra=
+kver=3.18 extra=
case $1 in
--force)
@@ -207,7 +207,7 @@ reject_firmware () {
#$1 = file $2 = pre sed pattern
filetest $1 || return
clean_sed "$2"'
-s,request\(_ihex\)\?_firmware\(_nowait\)\?,reject_firmware\2,g
+s,\(^\|[^>.0-9a-zA-Z_$]\)request\(_ihex\)\?_firmware\(_nowait\|_direct\)\?\($\|[^-.0-9a-zA-Z_$),; ]\),\1reject_firmware\3\4,g
' "$1" 'disabled non-Free firmware-loading machinery'
}
@@ -215,7 +215,7 @@ maybe_reject_firmware () {
#$1 = file $2 = pre sed pattern
filetest $1 || return
clean_sed "$2"'
-s,request_\(ihex_\)\?firmware\(_nowait\)\?,maybe_reject_\1firmware\2,g
+s,\(^\|[^>.0-9a-zA-Z_$]\)request_\(ihex_\)\?firmware\(_nowait\|_direct\)\?\($\|[^-.0-9a-zA-Z_$),; ]\),\1maybe_reject_\2firmware\3\4,g
' "$1" 'retain Free firmware-loading machinery, disabling non-Free one'
}
@@ -370,9 +370,15 @@ clean_sed '$i\
#define NONFREE_FIRMWARE "/*(DEBLOBBED)*/"\
\
static inline int\
+is_nonfree_firmware(const char *name)\
+{\
+ return strstr(name, NONFREE_FIRMWARE) != 0;\
+}\
+\
+static inline int\
report_missing_free_firmware(const char *name, const char *what)\
{\
- printk(KERN_ERR "%s: Missing Free %s\\n", name,\
+ printk(KERN_ERR "%s: Missing Free %s (non-Free firmware loading is disabled)\\n", name,\
what ? what : "firmware");\
return -EINVAL;\
}\
@@ -392,7 +398,7 @@ static inline int\
maybe_reject_firmware(const struct firmware **fw,\
const char *name, struct device *device)\
{\
- if (strstr (name, NONFREE_FIRMWARE))\
+ if (is_nonfree_firmware(name))\
return reject_firmware(fw, name, device);\
else\
return request_firmware(fw, name, device);\
@@ -437,7 +443,7 @@ maybe_reject_firmware_nowait(struct module *module, int uevent,\
void (*cont)(const struct firmware *fw,\
void *context))\
{\
- if (strstr (name, NONFREE_FIRMWARE))\
+ if (is_nonfree_firmware(name))\
return reject_firmware_nowait(module, uevent, name,\
device, gfp, context, cont);\
else\
@@ -466,6 +472,11 @@ maybe_reject_ihex_firmware(const struct firmware **fw,\
#endif /* _LINUX_LIBRE_IHEX_H */\
' include/linux/ihex.h 'added non-Free ihex firmware notification support'
+clean_sed '
+s,\(timeout = \)\(firmware_loading_timeout()\),\1is_nonfree_firmware(name) ? 1 : \2,
+' drivers/base/firmware_class.c 'shorten non-Free firmware fail-to-load timeout'
+
+
########
# Arch #
########
@@ -617,7 +628,7 @@ clean_mk CONFIG_DRM_MGA drivers/gpu/drm/Makefile
announce DRM_MSM - "MSM DRM"
reject_firmware drivers/gpu/drm/msm/adreno/adreno_gpu.c
-clean_blob drivers/gpu/drm/msm/adreno/adreno_gpu.c
+clean_blob drivers/gpu/drm/msm/adreno/adreno_device.c
clean_kconfig divers/gpu/drm/msm/Kconfig 'DRM_MSM'
clean_mk CONFIG_DRM_MSM drivers/gpu/drm/msm/Makefile
@@ -862,7 +873,6 @@ clean_kconfig drivers/media/usb/dvb-usb-v2/Kconfig 'DVB_USB_LME2510'
clean_mk CONFIG_DVB_USB_LME2510 drivers/media/usb/dvb-usb-v2/Makefile
announce DVB_USB_M920X - "Uli m920x DVB-T USB2.0 support"
-reject_firmware drivers/media/usb/dvb-usb/m920x.c
clean_blob drivers/media/usb/dvb-usb/m920x.c
clean_kconfig drivers/media/usb/dvb-usb/Kconfig 'DVB_USB_M920X'
clean_mk CONFIG_DVB_USB_M920X drivers/media/usb/dvb-usb/Makefile
@@ -914,8 +924,6 @@ clean_mk CONFIG_DVB_AF9013 drivers/media/dvb-frontends/Makefile
announce DVB_BCM3510 - "Broadcom BCM3510"
undefault_firmware 'BCM3510' drivers/media/dvb-frontends/bcm3510.c
-reject_firmware drivers/media/dvb-frontends/bcm3510.c
-reject_firmware drivers/media/dvb-frontends/bcm3510.h
clean_sed '
/You.ll need a firmware/,/dvb-fe-bcm/d;
' drivers/media/dvb-frontends/bcm3510.c \
@@ -978,8 +986,6 @@ clean_mk CONFIG_DVB_OR51132 drivers/media/dvb-frontends/Makefile
announce DVB_OR51211 - "Oren OR51211 based"
undefault_firmware 'OR51211' drivers/media/dvb-frontends/or51211.c
-reject_firmware drivers/media/dvb-frontends/or51211.c
-reject_firmware drivers/media/dvb-frontends/or51211.h
clean_blob drivers/media/dvb-frontends/or51211.c
clean_kconfig drivers/media/dvb-frontends/Kconfig 'DVB_OR51211'
clean_mk CONFIG_DVB_OR51211 drivers/media/dvb-frontends/Makefile
@@ -1000,16 +1006,12 @@ clean_mk CONFIG_DVB_SI2168 drivers/media/dvb-frontends/Makefile
announce DVB_SP8870 - "Spase sp8870"
undefault_firmware 'SP8870' drivers/media/dvb-frontends/sp8870.c
-reject_firmware drivers/media/dvb-frontends/sp8870.c
-reject_firmware drivers/media/dvb-frontends/sp8870.h
clean_blob drivers/media/dvb-frontends/sp8870.c
clean_kconfig drivers/media/dvb-frontends 'DVB_SP8870'
clean_mk CONFIG_DVB_SP8870 drivers/media/dvb-frontends/Makefile
announce DVB_SP887X - "Spase sp887x based"
undefault_firmware 'SP887X' drivers/media/dvb-frontends/sp887x.c
-reject_firmware drivers/media/dvb-frontends/sp887x.c
-reject_firmware drivers/media/dvb-frontends/sp887x.h
clean_blob drivers/media/dvb-frontends/sp887x.c
clean_kconfig drivers/media/dvb-frontends/Kconfig 'DVB_SP887X'
clean_mk CONFIG_DVB_SP887X drivers/media/dvb-frontends/Makefile
@@ -1024,8 +1026,6 @@ clean_mk CONFIG_DVB_TDA10048 drivers/media/dvb-frontends/Makefile
announce DVB_TDA1004X - "Philips TDA10045H/TDA10046H"
undefault_firmware 'TDA1004[56]' drivers/media/dvb-frontends/tda1004x.c
-reject_firmware drivers/media/dvb-frontends/tda1004x.c
-reject_firmware drivers/media/dvb-frontends/tda1004x.h
clean_blob drivers/media/dvb-frontends/tda1004x.c
clean_kconfig drivers/media/dvb-frontends 'DVB_TDA1004X'
clean_mk CONFIG_DVB_TDA1004X drivers/media/dvb-frontends/Makefile
@@ -1040,10 +1040,10 @@ clean_mk CONFIG_DVB_TDA10071 drivers/media/dvb-frontends/Makefile
# dvb
announce DVB_AS102 - "Abilis AS102 DVB receiver"
-reject_firmware drivers/staging/media/as102/as102_fw.c
-clean_blob drivers/staging/media/as102/as102_fw.c
-clean_kconfig drivers/staging/media/as102/Kconfig 'DVB_AS102'
-clean_mk CONFIG_DVB_AS102 drivers/staging/media/as102/Makefile
+reject_firmware drivers/media/usb/as102/as102_fw.c
+clean_blob drivers/media/usb/as102/as102_fw.c
+clean_kconfig drivers/media/usb/as102/Kconfig 'DVB_AS102'
+clean_mk CONFIG_DVB_AS102 drivers/media/usb/as102/Makefile
announce DVB_AV7110 - "AV7110 cards"
reject_firmware drivers/media/pci/ttpci/av7110.c
@@ -1053,7 +1053,6 @@ clean_mk CONFIG_DVB_AV7110 drivers/media/pci/ttpci/Makefile
announce DVB_BUDGET - "Budget cards"
reject_firmware drivers/media/pci/ttpci/budget.c
-reject_firmware drivers/media/dvb-frontends/tdhd1.h
announce DVB_BUDGET_AV - "Budget cards with analog video inputs"
reject_firmware drivers/media/pci/ttpci/budget-av.c
@@ -1118,10 +1117,10 @@ clean_kconfig drivers/media/pci/bt8xx/Kconfig 'VIDEO_BT848'
clean_mk CONFIG_VIDEO_BT848 drivers/media/pci/bt8xx/Makefile
announce VIDEO_CODA - "Chips&Media Coda multi-standard codec IP"
-reject_firmware drivers/media/platform/coda.c
-clean_blob drivers/media/platform/coda.c
+reject_firmware drivers/media/platform/coda/coda-common.c
+clean_blob drivers/media/platform/coda/coda-common.c
clean_kconfig drivers/media/platform/Kconfig 'VIDEO_CODA'
-clean_mk CONFIG_VIDEO_CODA drivers/media/platform/Makefile
+clean_mk CONFIG_VIDEO_CODA drivers/media/platform/coda/Makefile
announce VIDEO_CPIA2 - "CPiA2 Video For Linux"
clean_fw firmware/cpia2/stv0672_vp4.bin.ihex firmware/cpia2/stv0672_vp4.bin
@@ -1212,6 +1211,11 @@ reject_firmware drivers/media/pci/saa7134/saa7134-dvb.c
clean_kconfig drivers/media/pci/saa7134/Kconfig 'VIDEO_SAA7134_DVB'
clean_mk CONFIG_VIDEO_SAA7134_DVB drivers/media/pci/saa7134/Makefile
+announce VIDEO_SAA7134_GO7007 - "go7007 support for saa7134 based TV cards"
+clean_blob drivers/media/pci/saa7134/saa7134-go7007.c
+clean_kconfig drivers/media/pci/saa7134/Kconfig 'VIDEO_SAA7134_GO7007'
+clean_mk CONFIG_VIDEO_SAA7134_GO7007 drivers/media/pci/saa7134/Makefile
+
announce VIDEO_SAA7164 - "NXP SAA7164 support"
reject_firmware drivers/media/pci/saa7164/saa7164-fw.c
clean_blob drivers/media/pci/saa7164/saa7164-fw.c
@@ -1394,7 +1398,6 @@ clean_mk CONFIG_E100 drivers/net/ethernet/intel/Makefile
announce FT1000_PCMCIA - "Driver for ft1000 pcmcia device."
clean_file drivers/staging/ft1000/ft1000-pcmcia/ft1000.img
-reject_firmware drivers/staging/ft1000/TODO
clean_blob drivers/staging/ft1000/ft1000-pcmcia/boot.h
clean_sed '
/^static int ft1000_reset_card/,/^}$/ {
@@ -1425,8 +1428,6 @@ clean_kconfig drivers/net/ethernet/myricom/Kconfig 'MYRI10GE'
clean_mk CONFIG_MYRI10GE drivers/net/ethernet/myricom/myri10ge/Makefile
announce NETXEN_NIC - "NetXen Multi port (1/10) Gigabit Ethernet NIC"
-reject_firmware drivers/net/ethernet/qlogic/netxen/netxen_nic.h
-reject_firmware drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
reject_firmware drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
clean_blob drivers/net/ethernet/qlogic/netxen/netxen_nic.h
clean_blob drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
@@ -1434,10 +1435,8 @@ clean_kconfig drivers/net/ethernet/qlogic/Kconfig 'NETXEN_NIC'
clean_mk CONFIG_NETXEN_NIC drivers/net/ethernet/qlogic/Makefile
announce QLCNIC - "QLOGIC QLCNIC 1/10Gb Converged Ethernet NIC Support"
-reject_firmware drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
reject_firmware drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
reject_firmware drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c
-reject_firmware drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
clean_blob drivers/net/ethernet/qlogic/qlcnic/qlcnic.h
clean_blob drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.h
clean_blob drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
@@ -1526,6 +1525,9 @@ clean_mk CONFIG_YAM drivers/net/hamradio/Makefile
announce USB_IRDA - "IrDA USB dongles"
reject_firmware drivers/net/irda/irda-usb.c
clean_blob drivers/net/irda/irda-usb.c
+clean_sed '
+s,\(char stir421x_fw_name\)\[12\];,\1[16];,
+' drivers/net/irda/irda-usb.c "avoid buffer overflow with deblobbed filename"
clean_kconfig drivers/net/irda/Kconfig 'USB_IRDA'
clean_mk CONFIG_USB_IRDA drivers/net/irda/Makefile
@@ -1812,11 +1814,26 @@ clean_blob drivers/net/wireless/ath/ath10k/hw.h
clean_kconfig drivers/net/wireless/ath/ath10k/Kconfig 'ATH10K'
clean_mk CONFIG_ATH10K drivers/net/wireless/ath/ath10k/Makefile
+announce ATH10K NL80211_TESTMODE - "nl80211 testmode command"
+reject_firmware drivers/net/wireless/ath/ath10k/testmode.c
+clean_sed '
+/^[\t ]*\/\* utf\.bin firmware image/ s,/\* utf\.bin,/*(DEBLOBBED)*//*,
+' drivers/net/wireless/ath/ath10k/testmode.c 'removed blob name in comment'
+clean_kconfig net/wireless/ath/ath10k/Kconfig 'NL80211_TESTMODE'
+clean_mk CONFIG_NL80211_TESTMODE drivers/net/wireless/ath/ath10k/Makefile
+
announce ATH10K_PCI - "Atheros ath10k PCI support"
clean_blob drivers/net/wireless/ath/ath10k/pci.c
clean_kconfig drivers/net/wireless/ath/ath10k/Kconfig 'ATH10K_PCI'
clean_mk CONFIG_ATH10K_PCI drivers/net/wireless/ath/ath10k/Makefile
+announce WIL6210 - "Wilocity 60g WiFi card wil6210 support"
+reject_firmware drivers/net/wireless/ath/wil6210/fw_inc.c
+clean_blob drivers/net/wireless/ath/wil6210/fw.c
+clean_blob drivers/net/wireless/ath/wil6210/wil6210.h
+clean_kconfig drivers/net/wireless/ath/wil6210/Kconfig 'WIL6210'
+clean_mk CONFIG_WIL6210 drivers/net/wireless/ath/wil6210/Makefile
+
announce CW1200 - "CW1200 WLAN support"
reject_firmware drivers/net/wireless/cw1200/fwio.c
clean_blob drivers/net/wireless/cw1200/fwio.h
@@ -1923,8 +1940,8 @@ clean_kconfig drivers/net/wireless/rtlwifi/Kconfig RTL8188EE
clean_mk CONFIG_RTL8188EE drivers/net/wireless/rtlwifi/rtl8188ee/Makefile
announce R8188EU - "Realtek RTL8188EU Wireless LAN NIC driver"
-reject_firmware drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c
-clean_blob drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c
+reject_firmware drivers/staging/rtl8188eu/hal/fw.c
+clean_blob drivers/staging/rtl8188eu/hal/fw.c
clean_blob drivers/staging/rtl8188eu/include/rtl8188e_hal.h
clean_kconfig drivers/staging/rtl8188eu/Kconfig R8188EU
clean_mk CONFIG_R8188EU drivers/staging/rtl8188eu/Makefile
@@ -1960,11 +1977,11 @@ clean_blob drivers/staging/rtl8192e/rtl8192e/rtl_core.c
clean_kconfig drivers/staging/rtl8192e/Kconfig RTL8192E
clean_mk CONFIG_RTL8192E drivers/staging/rtl8192e/Makefile
-announce R8192EE - "RealTek RTL8192EE Wireless Network Adapter"
-reject_firmware drivers/staging/rtl8192ee/rtl8192ee/sw.c
-clean_blob drivers/staging/rtl8192ee/rtl8192ee/sw.c
-clean_kconfig drivers/staging/rtl8192ee/Kconfig R8192EE
-clean_mk CONFIG_R8192EE drivers/staging/rtl8192ee/Makefile
+announce RTL8192EE - "RealTek RTL8192EE Wireless Network Adapter"
+reject_firmware drivers/net/wireless/rtlwifi/rtl8192ee/sw.c
+clean_blob drivers/net/wireless/rtlwifi/rtl8192ee/sw.c
+clean_kconfig drivers/net/wireless/rtlwifi/rtl8192ee/Kconfig RTL8192EE
+clean_mk CONFIG_RTL8192EE drivers/net/wireless/rtlwifi/Makefile
announce RTL8192U - "RealTek RTL8192U Wireless LAN NIC driver"
reject_firmware drivers/staging/rtl8192u/r819xU_firmware.c
@@ -1997,11 +2014,11 @@ clean_blob drivers/net/wireless/rtlwifi/rtl8723be/sw.c
clean_kconfig drivers/net/wireless/rtlwifi/Kconfig 'RTL8723BE'
clean_mk CONFIG_RTL8723BE drivers/net/wireless/rtlwifi/rtl8723be/Makefile
-announce R8821AE - "Realtek RTL8821AE Wireless LAN NIC driver"
-reject_firmware drivers/staging/rtl8821ae/rtl8821ae/sw.c
-clean_blob drivers/staging/rtl8821ae/rtl8821ae/sw.c
-clean_kconfig drivers/staging/rtl8821ae/Kconfig 'R8821AE'
-clean_mk CONFIG_R8821AE drivers/staging/rtl8821ae/Makefile
+announce RTL8821AE - "Realtek RTL8821AE/RTL8812AE Wireless LAN NIC driver"
+reject_firmware drivers/net/wireless/rtlwifi/rtl8821ae/sw.c
+clean_blob drivers/net/wireless/rtlwifi/rtl8821ae/sw.c
+clean_kconfig drivers/net/wireless/rtlwifi/Kconfig 'RTL8821AE'
+clean_mk CONFIG_RTL8821AE drivers/net/wireless/rtlwifi/rtl8821ae/Makefile
announce VT6656 - "VIA Technologies VT6656 support"
reject_firmware drivers/staging/vt6656/firmware.c
@@ -2092,12 +2109,6 @@ clean_blob Documentation/btmrvl.txt
clean_kconfig drivers/bluetooth/Kconfig 'BT_MRVL_SDIO'
clean_mk CONFIG_BT_MRVL_SDIO drivers/bluetooth/Makefile
-announce BT_NOKIA_H4P - "HCI driver with H4 Nokia extensions"
-reject_firmware drivers/staging/nokia_h4p/nokia_fw.c
-clean_blob drivers/staging/nokia_h4p/nokia_fw.c
-clean_kconfig drivers/staging/nokia_h4p/Kconfig 'BT_NOKIA_H4P'
-clean_mk CONFIG_BT_NOKIA_H4P drivers/staging/nokia_h4p/Makefile
-
announce TI_ST - "Texas Instruments shared transport line discipline"
reject_firmware drivers/misc/ti-st/st_kim.c
clean_blob drivers/misc/ti-st/st_kim.c
@@ -2273,7 +2284,7 @@ clean_mk CONFIG_INPUT_IMS_PCU drivers/input/misc/Makefile
####################
announce COMEDI - "Data acquisition support (comedi)"
-reject_firmware drivers/staging/comedi/drivers.c
+maybe_reject_firmware drivers/staging/comedi/drivers.c
clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI'
clean_mk CONFIG_COMEDI drivers/staging/comedi/Makefile
@@ -2297,21 +2308,6 @@ clean_blob drivers/staging/comedi/drivers/ni_pcidio.c
clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI_NI_PCIDIO'
clean_mk CONFIG_COMEDI_NI_PCIDIO drivers/staging/comedi/drivers/Makefile
-announce COMEDI_USBDUX - "ITL USBDUX support"
-clean_blob drivers/staging/comedi/drivers/usbdux.c
-clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI_USBDUX'
-clean_mk CONFIG_COMEDI_USBDUX drivers/staging/comedi/drivers/Makefile
-
-announce COMEDI_USBDUXFAST - "ITL USB-DUXfast support"
-clean_blob drivers/staging/comedi/drivers/usbduxfast.c
-clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI_USBDUXFAST'
-clean_mk CONFIG_COMEDI_USBDUXFAST drivers/staging/comedi/drivers/Makefile
-
-announce COMEDI_USBDUXSIGMA - "ITL USB-DUXsigma support"
-clean_blob drivers/staging/comedi/drivers/usbduxsigma.c
-clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI_USBDUXSIGMA'
-clean_mk CONFIG_COMEDI_USBDUXSIGMA drivers/staging/comedi/drivers/Makefile
-
#######
# MMC #
@@ -2386,18 +2382,12 @@ announce SCSI_LPFC - "Emulex LightPulse Fibre Channel Support"
# evidence it is Free, so I'm disabling it. It's not clear whether
# this is the hardware or the software inducing to the installation of
# non-Free firmware.
-reject_firmware drivers/scsi/lpfc/lpfc.h
-reject_firmware drivers/scsi/lpfc/lpfc_crtn.h
reject_firmware drivers/scsi/lpfc/lpfc_init.c
-reject_firmware drivers/scsi/lpfc/lpfc_attr.c
clean_kconfig drivers/scsi/Kconfig 'SCSI_LPFC'
clean_mk CONFIG_SCSI_LPFC drivers/scsi/lpfc/Makefile
announce SCSI_QLA_FC - "QLogic QLA2XXX Fibre Channel Support"
-reject_firmware drivers/scsi/qla2xxx/qla_gbl.h
-reject_firmware drivers/scsi/qla2xxx/qla_init.c
reject_firmware drivers/scsi/qla2xxx/qla_os.c
-reject_firmware drivers/scsi/qla2xxx/qla_nx.c
clean_sed '
/^config SCSI_QLA_FC$/,/^config /{
/^ By default, firmware/i\
@@ -2915,6 +2905,16 @@ clean_blob sound/usb/6fire/firmware.c
clean_kconfig sound/usb/Kconfig 'SND_USB_6FIRE'
clean_mk 'CONFIG_SND_USB_6FIRE' sound/usb/6fire/Makefile
+#######
+# SOC #
+#######
+
+announce KEYSTONE_NAVIGATOR_QMSS - "Keystone Queue Manager Sub System"
+reject_firmware drivers/soc/ti/knav_qmss_queue.c
+clean_blob Documentation/devicetree/bindings/soc/ti/keystone-navigator-qmss.txt
+clean_kconfig drivers/soc/ti/Kconfig 'KEYSTONE_NAVIGATOR_QMSS'
+clean_mk CONFIG_KEYSTONE_NAVIGATOR_QMSS drivers/soc/ti/Makefile
+
#################
# Documentation #
#################
diff --git a/freed-ora/current/f20/disable-libdw-unwind-on-non-x86.patch b/freed-ora/current/f20/disable-libdw-unwind-on-non-x86.patch
deleted file mode 100644
index 445fc1942..000000000
--- a/freed-ora/current/f20/disable-libdw-unwind-on-non-x86.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
-index ee21fa9..19ee413 100644
---- a/tools/perf/config/Makefile
-+++ b/tools/perf/config/Makefile
-@@ -34,6 +34,10 @@ ifeq ($(ARCH),arm)
- LIBUNWIND_LIBS = -lunwind -lunwind-arm
- endif
-
-+ifneq ($(ARCH),x86)
-+ NO_LIBDW_DWARF_UNWIND := 1
-+endif
-+
- ifeq ($(LIBUNWIND_LIBS),)
- NO_LIBUNWIND := 1
- else
diff --git a/freed-ora/current/f20/kernel.spec b/freed-ora/current/f20/kernel.spec
index 3969debb1..f6676f071 100644
--- a/freed-ora/current/f20/kernel.spec
+++ b/freed-ora/current/f20/kernel.spec
@@ -62,13 +62,13 @@ 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 201
+%global baserelease 100
%global fedora_build %{baserelease}
# 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 17
+%define base_sublevel 18
# librev starts empty, then 1, etc, as the linux-libre tarball
# changes. This is only used to determine which tarball to use.
@@ -112,7 +112,7 @@ Summary: The Linux kernel
%if 0%{?released_kernel}
# Do we have a -stable update to apply?
-%define stable_update 8
+%define stable_update 4
# Is it a -stable RC?
%define stable_rc 0
# Set rpm version accordingly
@@ -753,7 +753,7 @@ Patch14010: lis3-improve-handling-of-null-rate.patch
Patch15000: watchdog-Disable-watchdog-on-virtual-machines.patch
# PPC
-Patch18000: ppc64-fixtools.patch
+
# ARM64
# ARMv7
@@ -781,57 +781,24 @@ 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
-#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 1089731
Patch26058: asus-nb-wmi-Add-wapf4-quirk-for-the-X550VB.patch
#rhbz 1135338
Patch26090: HID-add-support-for-MS-Surface-Pro-3-Type-Cover.patch
-#rhbz 1164945
-Patch26092: xhci-Add-broken-streams-quirk-for-Fresco-Logic-FL100.patch
-Patch26093: uas-Add-US_FL_NO_ATA_1X-for-Seagate-devices-with-usb.patch
-Patch26094: uas-Add-US_FL_NO_REPORT_OPCODES-for-JMicron-JMS566-w.patch
-
-#rhbz 1172543
-Patch26096: cfg80211-don-t-WARN-about-two-consecutive-Country-IE.patch
-
#rhbz 1173806
Patch26101: powerpc-powernv-force-all-CPUs-to-be-bootable.patch
-#CVE-2014-8559 rhbz 1159313 1173814
-Patch26098: move-d_rcu-from-overlapping-d_child-to-overlapping-d.patch
-Patch26099: deal-with-deadlock-in-d_walk.patch
-
-#rhbz 1175261
-Patch26103: blk-mq-Fix-uninitialized-kobject-at-CPU-hotplugging.patch
-
#rhbz 1163927
Patch26121: Set-UID-in-sess_auth_rawntlmssp_authenticate-too.patch
-#CVE-2014-9428 rhbz 1178826,1178833
-Patch26122: batman-adv-Calculate-extra-tail-size-based-on-queued.patch
-
#CVE-2014-9529 rhbz 1179813 1179853
Patch26124: KEYS-close-race-between-key-lookup-and-freeing.patch
-#rhbz 1178975
-Patch26125: x86-vdso-Use-asm-volatile-in-__getcpu.patch
-
#rhbz 1124119
Patch26126: uas-Do-not-blacklist-ASM1153-disk-enclosures.patch
Patch26127: uas-Add-US_FL_NO_ATA_1X-for-2-more-Seagate-disk-encl.patch
@@ -844,15 +811,16 @@ Patch26130: acpi-video-Add-disable_native_backlight-quirk-for-De.patch
#rhbz 1094948
Patch26131: acpi-video-Add-disable_native_backlight-quirk-for-Sa.patch
-#CVE-2014-9585 rhbz 1181054 1181056
-Patch26132: x86_64-vdso-Fix-the-vdso-address-randomization-algor.patch
-
-#CVE-2014-8160 rhbz 1182059 1182063
-Patch26133: netfilter-conntrack-disable-generic-tracking-for-kno.patch
-
# git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel
Patch30000: kernel-arm64.patch
+# Fix for big-endian arches, already upstream
+Patch30001: mpssd-x86-only.patch
+
+#CVE-2015-0239 rhbz 1186448 1186453
+Patch30004: KVM-x86-SYSENTER-emulation-is-broken.patch
+
+
# END OF PATCH DEFINITIONS
%endif
@@ -1462,7 +1430,6 @@ ApplyOptionalPatch upstream-reverts.patch -R
ApplyPatch lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch
# PPC
-ApplyPatch ppc64-fixtools.patch
# ARM64
@@ -1601,57 +1568,24 @@ 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
-#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 1089731
ApplyPatch asus-nb-wmi-Add-wapf4-quirk-for-the-X550VB.patch
#rhbz 1135338
ApplyPatch HID-add-support-for-MS-Surface-Pro-3-Type-Cover.patch
-#rhbz 1164945
-ApplyPatch xhci-Add-broken-streams-quirk-for-Fresco-Logic-FL100.patch
-ApplyPatch uas-Add-US_FL_NO_ATA_1X-for-Seagate-devices-with-usb.patch
-ApplyPatch uas-Add-US_FL_NO_REPORT_OPCODES-for-JMicron-JMS566-w.patch
-
-#rhbz 1172543
-ApplyPatch cfg80211-don-t-WARN-about-two-consecutive-Country-IE.patch
-
#rhbz 1173806
ApplyPatch powerpc-powernv-force-all-CPUs-to-be-bootable.patch
-#CVE-2014-8559 rhbz 1159313 1173814
-ApplyPatch move-d_rcu-from-overlapping-d_child-to-overlapping-d.patch
-ApplyPatch deal-with-deadlock-in-d_walk.patch
-
-#rhbz 1175261
-ApplyPatch blk-mq-Fix-uninitialized-kobject-at-CPU-hotplugging.patch
-
#rhbz 1163927
ApplyPatch Set-UID-in-sess_auth_rawntlmssp_authenticate-too.patch
-#CVE-2014-9428 rhbz 1178826,1178833
-ApplyPatch batman-adv-Calculate-extra-tail-size-based-on-queued.patch
-
#CVE-2014-9529 rhbz 1179813 1179853
ApplyPatch KEYS-close-race-between-key-lookup-and-freeing.patch
-#rhbz 1178975
-ApplyPatch x86-vdso-Use-asm-volatile-in-__getcpu.patch
-
#rhbz 1124119
ApplyPatch uas-Do-not-blacklist-ASM1153-disk-enclosures.patch
ApplyPatch uas-Add-US_FL_NO_ATA_1X-for-2-more-Seagate-disk-encl.patch
@@ -1664,11 +1598,11 @@ ApplyPatch acpi-video-Add-disable_native_backlight-quirk-for-De.patch
#rhbz 1094948
ApplyPatch acpi-video-Add-disable_native_backlight-quirk-for-Sa.patch
-#CVE-2014-9585 rhbz 1181054 1181056
-ApplyPatch x86_64-vdso-Fix-the-vdso-address-randomization-algor.patch
+# Fix for big-endian arches, already upstream
+ApplyPatch mpssd-x86-only.patch
-#CVE-2014-8160 rhbz 1182059 1182063
-ApplyPatch netfilter-conntrack-disable-generic-tracking-for-kno.patch
+#CVE-2015-0239 rhbz 1186448 1186453
+ApplyPatch KVM-x86-SYSENTER-emulation-is-broken.patch
%if 0%{?aarch64patches}
ApplyPatch kernel-arm64.patch
@@ -2499,6 +2433,12 @@ fi
# ||----w |
# || ||
%changelog
+* Wed Jan 28 2015 Alexandre Oliva <lxoliva@fsfla.org> -libre
+- GNU Linux-libre 3.18.4-gnu
+
+* Wed Jan 28 2015 Justin M. Forbes <jforbes@fedoraproject.org> - 3.18.4-100
+- Linux v3.18.4
+
* Thu Jan 15 2015 Josh Boyer <jwboyer@fedoraproject.org> - 3.17.8-201
- CVE-2014-8160 iptables restriction bypass (rhbz 1182059 1182063)
diff --git a/freed-ora/current/f20/linux-libre-3.17-gnu.tar.xz.sign b/freed-ora/current/f20/linux-libre-3.17-gnu.tar.xz.sign
deleted file mode 100644
index 5d4a1bdd9..000000000
--- a/freed-ora/current/f20/linux-libre-3.17-gnu.tar.xz.sign
+++ /dev/null
@@ -1,7 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2
-
-iEYEABECAAYFAlQxu18ACgkQvLfPh359R6dusgCfaD8JViNamuAnKA3DQ1RAEAg2
-i0kAn3xd6ZeGNR1sYCAlTqIWJ/SCQFj1
-=VVZC
------END PGP SIGNATURE-----
diff --git a/freed-ora/current/f20/linux-libre-3.17-gnu.xdelta.xz b/freed-ora/current/f20/linux-libre-3.17-gnu.xdelta.xz
deleted file mode 100644
index c1319c495..000000000
--- a/freed-ora/current/f20/linux-libre-3.17-gnu.xdelta.xz
+++ /dev/null
Binary files differ
diff --git a/freed-ora/current/f20/linux-libre-3.17-gnu.xdelta.xz.sign b/freed-ora/current/f20/linux-libre-3.17-gnu.xdelta.xz.sign
deleted file mode 100644
index 4d28137dd..000000000
--- a/freed-ora/current/f20/linux-libre-3.17-gnu.xdelta.xz.sign
+++ /dev/null
@@ -1,7 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2
-
-iEYEABECAAYFAlQxu2AACgkQvLfPh359R6fyPACcDmOUmXumIayiqsmEkvnghuIn
-1pEAn3/4luGOHMtXS8edR4b0DQ+cO5+m
-=oiHD
------END PGP SIGNATURE-----
diff --git a/freed-ora/current/f20/linux-libre-3.18-gnu.tar.xz.sign b/freed-ora/current/f20/linux-libre-3.18-gnu.tar.xz.sign
new file mode 100644
index 000000000..5b21470ec
--- /dev/null
+++ b/freed-ora/current/f20/linux-libre-3.18-gnu.tar.xz.sign
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2
+
+iEYEABECAAYFAlSFABIACgkQvLfPh359R6cTTwCgq7J6DJtWdrAdK7lZC2wv4COn
+IPsAnizschjkGqNOn2nmAUCOxRbtJxHQ
+=UCBH
+-----END PGP SIGNATURE-----
diff --git a/freed-ora/current/f20/linux-libre-3.18-gnu.xdelta.xz b/freed-ora/current/f20/linux-libre-3.18-gnu.xdelta.xz
new file mode 100644
index 000000000..7079b9a3e
--- /dev/null
+++ b/freed-ora/current/f20/linux-libre-3.18-gnu.xdelta.xz
Binary files differ
diff --git a/freed-ora/current/f20/linux-libre-3.18-gnu.xdelta.xz.sign b/freed-ora/current/f20/linux-libre-3.18-gnu.xdelta.xz.sign
new file mode 100644
index 000000000..71924c2b0
--- /dev/null
+++ b/freed-ora/current/f20/linux-libre-3.18-gnu.xdelta.xz.sign
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2
+
+iEYEABECAAYFAlSFABMACgkQvLfPh359R6eeIwCffCEotrIP36XvUK5RHzF+y6wA
+aBAAnibzfO/Q2WR6ncVD9E68mQfYMbX0
+=nEJo
+-----END PGP SIGNATURE-----
diff --git a/freed-ora/current/f20/move-d_rcu-from-overlapping-d_child-to-overlapping-d.patch b/freed-ora/current/f20/move-d_rcu-from-overlapping-d_child-to-overlapping-d.patch
deleted file mode 100644
index 62f7a6866..000000000
--- a/freed-ora/current/f20/move-d_rcu-from-overlapping-d_child-to-overlapping-d.patch
+++ /dev/null
@@ -1,736 +0,0 @@
-From: Al Viro <viro@zeniv.linux.org.uk>
-Date: Sun, 26 Oct 2014 19:19:16 -0400
-Subject: [PATCH] move d_rcu from overlapping d_child to overlapping d_alias
-
-Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
----
- arch/powerpc/platforms/cell/spufs/inode.c | 2 +-
- drivers/staging/lustre/lustre/llite/dcache.c | 2 +-
- drivers/staging/lustre/lustre/llite/llite_lib.c | 2 +-
- drivers/staging/lustre/lustre/llite/namei.c | 8 ++--
- fs/affs/amigaffs.c | 2 +-
- fs/autofs4/expire.c | 12 +++---
- fs/autofs4/root.c | 2 +-
- fs/ceph/dir.c | 8 ++--
- fs/ceph/inode.c | 2 +-
- fs/cifs/inode.c | 2 +-
- fs/coda/cache.c | 2 +-
- fs/dcache.c | 52 ++++++++++++-------------
- fs/debugfs/inode.c | 2 +-
- fs/exportfs/expfs.c | 2 +-
- fs/libfs.c | 12 +++---
- fs/ncpfs/dir.c | 2 +-
- fs/ncpfs/ncplib_kernel.h | 4 +-
- fs/nfs/getroot.c | 2 +-
- fs/notify/fsnotify.c | 4 +-
- fs/ocfs2/dcache.c | 2 +-
- include/linux/dcache.h | 8 ++--
- kernel/trace/trace.c | 4 +-
- kernel/trace/trace_events.c | 2 +-
- security/selinux/selinuxfs.c | 6 +--
- 24 files changed, 73 insertions(+), 73 deletions(-)
-
-diff --git a/arch/powerpc/platforms/cell/spufs/inode.c b/arch/powerpc/platforms/cell/spufs/inode.c
-index 87ba7cf99cd7..65d633f20d37 100644
---- a/arch/powerpc/platforms/cell/spufs/inode.c
-+++ b/arch/powerpc/platforms/cell/spufs/inode.c
-@@ -164,7 +164,7 @@ static void spufs_prune_dir(struct dentry *dir)
- struct dentry *dentry, *tmp;
-
- mutex_lock(&dir->d_inode->i_mutex);
-- list_for_each_entry_safe(dentry, tmp, &dir->d_subdirs, d_u.d_child) {
-+ list_for_each_entry_safe(dentry, tmp, &dir->d_subdirs, d_child) {
- spin_lock(&dentry->d_lock);
- if (!(d_unhashed(dentry)) && dentry->d_inode) {
- dget_dlock(dentry);
-diff --git a/drivers/staging/lustre/lustre/llite/dcache.c b/drivers/staging/lustre/lustre/llite/dcache.c
-index 49ae207ad425..e2add5fde0fe 100644
---- a/drivers/staging/lustre/lustre/llite/dcache.c
-+++ b/drivers/staging/lustre/lustre/llite/dcache.c
-@@ -258,7 +258,7 @@ void ll_invalidate_aliases(struct inode *inode)
- inode->i_ino, inode->i_generation, inode);
-
- ll_lock_dcache(inode);
-- ll_d_hlist_for_each_entry(dentry, p, &inode->i_dentry, d_alias) {
-+ ll_d_hlist_for_each_entry(dentry, p, &inode->i_dentry, d_u.d_alias) {
- CDEBUG(D_DENTRY, "dentry in drop %.*s (%p) parent %p "
- "inode %p flags %d\n", dentry->d_name.len,
- dentry->d_name.name, dentry, dentry->d_parent,
-diff --git a/drivers/staging/lustre/lustre/llite/llite_lib.c b/drivers/staging/lustre/lustre/llite/llite_lib.c
-index 0c59e26c0805..36e62524a37b 100644
---- a/drivers/staging/lustre/lustre/llite/llite_lib.c
-+++ b/drivers/staging/lustre/lustre/llite/llite_lib.c
-@@ -704,7 +704,7 @@ void lustre_dump_dentry(struct dentry *dentry, int recur)
- return;
-
- list_for_each(tmp, &dentry->d_subdirs) {
-- struct dentry *d = list_entry(tmp, struct dentry, d_u.d_child);
-+ struct dentry *d = list_entry(tmp, struct dentry, d_child);
- lustre_dump_dentry(d, recur - 1);
- }
- }
-diff --git a/drivers/staging/lustre/lustre/llite/namei.c b/drivers/staging/lustre/lustre/llite/namei.c
-index 0dc7173bbd41..9de0d51e33a2 100644
---- a/drivers/staging/lustre/lustre/llite/namei.c
-+++ b/drivers/staging/lustre/lustre/llite/namei.c
-@@ -167,14 +167,14 @@ static void ll_invalidate_negative_children(struct inode *dir)
- struct ll_d_hlist_node *p;
-
- ll_lock_dcache(dir);
-- ll_d_hlist_for_each_entry(dentry, p, &dir->i_dentry, d_alias) {
-+ ll_d_hlist_for_each_entry(dentry, p, &dir->i_dentry, d_u.d_alias) {
- spin_lock(&dentry->d_lock);
- if (!list_empty(&dentry->d_subdirs)) {
- struct dentry *child;
-
- list_for_each_entry_safe(child, tmp_subdir,
- &dentry->d_subdirs,
-- d_u.d_child) {
-+ d_child) {
- if (child->d_inode == NULL)
- d_lustre_invalidate(child, 1);
- }
-@@ -362,7 +362,7 @@ static struct dentry *ll_find_alias(struct inode *inode, struct dentry *dentry)
- discon_alias = invalid_alias = NULL;
-
- ll_lock_dcache(inode);
-- ll_d_hlist_for_each_entry(alias, p, &inode->i_dentry, d_alias) {
-+ ll_d_hlist_for_each_entry(alias, p, &inode->i_dentry, d_u.d_alias) {
- LASSERT(alias != dentry);
-
- spin_lock(&alias->d_lock);
-@@ -943,7 +943,7 @@ static void ll_get_child_fid(struct inode * dir, struct qstr *name,
- {
- struct dentry *parent, *child;
-
-- parent = ll_d_hlist_entry(dir->i_dentry, struct dentry, d_alias);
-+ parent = ll_d_hlist_entry(dir->i_dentry, struct dentry, d_u.d_alias);
- child = d_lookup(parent, name);
- if (child) {
- if (child->d_inode)
-diff --git a/fs/affs/amigaffs.c b/fs/affs/amigaffs.c
-index 406b29836b19..a674c114fd8e 100644
---- a/fs/affs/amigaffs.c
-+++ b/fs/affs/amigaffs.c
-@@ -127,7 +127,7 @@ affs_fix_dcache(struct inode *inode, u32 entry_ino)
- {
- struct dentry *dentry;
- spin_lock(&inode->i_lock);
-- hlist_for_each_entry(dentry, &inode->i_dentry, d_alias) {
-+ hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) {
- if (entry_ino == (u32)(long)dentry->d_fsdata) {
- dentry->d_fsdata = (void *)inode->i_ino;
- break;
-diff --git a/fs/autofs4/expire.c b/fs/autofs4/expire.c
-index a7be57e39be7..11c6cddff1b9 100644
---- a/fs/autofs4/expire.c
-+++ b/fs/autofs4/expire.c
-@@ -91,7 +91,7 @@ static struct dentry *get_next_positive_subdir(struct dentry *prev,
- spin_lock(&root->d_lock);
-
- if (prev)
-- next = prev->d_u.d_child.next;
-+ next = prev->d_child.next;
- else {
- prev = dget_dlock(root);
- next = prev->d_subdirs.next;
-@@ -105,13 +105,13 @@ cont:
- return NULL;
- }
-
-- q = list_entry(next, struct dentry, d_u.d_child);
-+ q = list_entry(next, struct dentry, d_child);
-
- spin_lock_nested(&q->d_lock, DENTRY_D_LOCK_NESTED);
- /* Already gone or negative dentry (under construction) - try next */
- if (!d_count(q) || !simple_positive(q)) {
- spin_unlock(&q->d_lock);
-- next = q->d_u.d_child.next;
-+ next = q->d_child.next;
- goto cont;
- }
- dget_dlock(q);
-@@ -161,13 +161,13 @@ again:
- goto relock;
- }
- spin_unlock(&p->d_lock);
-- next = p->d_u.d_child.next;
-+ next = p->d_child.next;
- p = parent;
- if (next != &parent->d_subdirs)
- break;
- }
- }
-- ret = list_entry(next, struct dentry, d_u.d_child);
-+ ret = list_entry(next, struct dentry, d_child);
-
- spin_lock_nested(&ret->d_lock, DENTRY_D_LOCK_NESTED);
- /* Negative dentry - try next */
-@@ -460,7 +460,7 @@ found:
- spin_lock(&sbi->lookup_lock);
- spin_lock(&expired->d_parent->d_lock);
- spin_lock_nested(&expired->d_lock, DENTRY_D_LOCK_NESTED);
-- list_move(&expired->d_parent->d_subdirs, &expired->d_u.d_child);
-+ list_move(&expired->d_parent->d_subdirs, &expired->d_child);
- spin_unlock(&expired->d_lock);
- spin_unlock(&expired->d_parent->d_lock);
- spin_unlock(&sbi->lookup_lock);
-diff --git a/fs/autofs4/root.c b/fs/autofs4/root.c
-index cdb25ebccc4c..38a9e0fa5177 100644
---- a/fs/autofs4/root.c
-+++ b/fs/autofs4/root.c
-@@ -659,7 +659,7 @@ static void autofs_clear_leaf_automount_flags(struct dentry *dentry)
- /* only consider parents below dentrys in the root */
- if (IS_ROOT(parent->d_parent))
- return;
-- d_child = &dentry->d_u.d_child;
-+ d_child = &dentry->d_child;
- /* Set parent managed if it's becoming empty */
- if (d_child->next == &parent->d_subdirs &&
- d_child->prev == &parent->d_subdirs)
-diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c
-index c29d6ae68874..51ea03313df9 100644
---- a/fs/ceph/dir.c
-+++ b/fs/ceph/dir.c
-@@ -111,7 +111,7 @@ static int fpos_cmp(loff_t l, loff_t r)
- /*
- * When possible, we try to satisfy a readdir by peeking at the
- * dcache. We make this work by carefully ordering dentries on
-- * d_u.d_child when we initially get results back from the MDS, and
-+ * d_child when we initially get results back from the MDS, and
- * falling back to a "normal" sync readdir if any dentries in the dir
- * are dropped.
- *
-@@ -147,11 +147,11 @@ static int __dcache_readdir(struct file *file, struct dir_context *ctx,
- p = parent->d_subdirs.prev;
- dout(" initial p %p/%p\n", p->prev, p->next);
- } else {
-- p = last->d_u.d_child.prev;
-+ p = last->d_child.prev;
- }
-
- more:
-- dentry = list_entry(p, struct dentry, d_u.d_child);
-+ dentry = list_entry(p, struct dentry, d_child);
- di = ceph_dentry(dentry);
- while (1) {
- dout(" p %p/%p %s d_subdirs %p/%p\n", p->prev, p->next,
-@@ -174,7 +174,7 @@ more:
- !dentry->d_inode ? " null" : "");
- spin_unlock(&dentry->d_lock);
- p = p->prev;
-- dentry = list_entry(p, struct dentry, d_u.d_child);
-+ dentry = list_entry(p, struct dentry, d_child);
- di = ceph_dentry(dentry);
- }
-
-diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c
-index 04c89c266cec..c3e103ff18bd 100644
---- a/fs/ceph/inode.c
-+++ b/fs/ceph/inode.c
-@@ -1399,7 +1399,7 @@ retry_lookup:
- /* reorder parent's d_subdirs */
- spin_lock(&parent->d_lock);
- spin_lock_nested(&dn->d_lock, DENTRY_D_LOCK_NESTED);
-- list_move(&dn->d_u.d_child, &parent->d_subdirs);
-+ list_move(&dn->d_child, &parent->d_subdirs);
- spin_unlock(&dn->d_lock);
- spin_unlock(&parent->d_lock);
- }
-diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
-index 7899a40465b3..6d1dd0942937 100644
---- a/fs/cifs/inode.c
-+++ b/fs/cifs/inode.c
-@@ -887,7 +887,7 @@ inode_has_hashed_dentries(struct inode *inode)
- struct dentry *dentry;
-
- spin_lock(&inode->i_lock);
-- hlist_for_each_entry(dentry, &inode->i_dentry, d_alias) {
-+ hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) {
- if (!d_unhashed(dentry) || IS_ROOT(dentry)) {
- spin_unlock(&inode->i_lock);
- return true;
-diff --git a/fs/coda/cache.c b/fs/coda/cache.c
-index 278f8fdeb9ef..46ee6f238985 100644
---- a/fs/coda/cache.c
-+++ b/fs/coda/cache.c
-@@ -92,7 +92,7 @@ static void coda_flag_children(struct dentry *parent, int flag)
- struct dentry *de;
-
- spin_lock(&parent->d_lock);
-- list_for_each_entry(de, &parent->d_subdirs, d_u.d_child) {
-+ list_for_each_entry(de, &parent->d_subdirs, d_child) {
- /* don't know what to do with negative dentries */
- if (de->d_inode )
- coda_flag_inode(de->d_inode, flag);
-diff --git a/fs/dcache.c b/fs/dcache.c
-index 34b40be8af11..8d7c2b34cb3f 100644
---- a/fs/dcache.c
-+++ b/fs/dcache.c
-@@ -44,7 +44,7 @@
- /*
- * Usage:
- * dcache->d_inode->i_lock protects:
-- * - i_dentry, d_alias, d_inode of aliases
-+ * - i_dentry, d_u.d_alias, d_inode of aliases
- * dcache_hash_bucket lock protects:
- * - the dcache hash table
- * s_anon bl list spinlock protects:
-@@ -59,7 +59,7 @@
- * - d_unhashed()
- * - d_parent and d_subdirs
- * - childrens' d_child and d_parent
-- * - d_alias, d_inode
-+ * - d_u.d_alias, d_inode
- *
- * Ordering:
- * dentry->d_inode->i_lock
-@@ -239,7 +239,6 @@ static void __d_free(struct rcu_head *head)
- {
- struct dentry *dentry = container_of(head, struct dentry, d_u.d_rcu);
-
-- WARN_ON(!hlist_unhashed(&dentry->d_alias));
- if (dname_external(dentry))
- kfree(dentry->d_name.name);
- kmem_cache_free(dentry_cache, dentry);
-@@ -247,6 +246,7 @@ static void __d_free(struct rcu_head *head)
-
- static void dentry_free(struct dentry *dentry)
- {
-+ WARN_ON(!hlist_unhashed(&dentry->d_u.d_alias));
- /* if dentry was never visible to RCU, immediate free is OK */
- if (!(dentry->d_flags & DCACHE_RCUACCESS))
- __d_free(&dentry->d_u.d_rcu);
-@@ -280,7 +280,7 @@ static void dentry_iput(struct dentry * dentry)
- struct inode *inode = dentry->d_inode;
- if (inode) {
- dentry->d_inode = NULL;
-- hlist_del_init(&dentry->d_alias);
-+ hlist_del_init(&dentry->d_u.d_alias);
- spin_unlock(&dentry->d_lock);
- spin_unlock(&inode->i_lock);
- if (!inode->i_nlink)
-@@ -305,7 +305,7 @@ static void dentry_unlink_inode(struct dentry * dentry)
- struct inode *inode = dentry->d_inode;
- __d_clear_type(dentry);
- dentry->d_inode = NULL;
-- hlist_del_init(&dentry->d_alias);
-+ hlist_del_init(&dentry->d_u.d_alias);
- dentry_rcuwalk_barrier(dentry);
- spin_unlock(&dentry->d_lock);
- spin_unlock(&inode->i_lock);
-@@ -465,7 +465,7 @@ static void __dentry_kill(struct dentry *dentry)
- }
- /* if it was on the hash then remove it */
- __d_drop(dentry);
-- list_del(&dentry->d_u.d_child);
-+ list_del(&dentry->d_child);
- /*
- * Inform d_walk() that we are no longer attached to the
- * dentry tree
-@@ -746,7 +746,7 @@ static struct dentry *__d_find_alias(struct inode *inode)
-
- again:
- discon_alias = NULL;
-- hlist_for_each_entry(alias, &inode->i_dentry, d_alias) {
-+ hlist_for_each_entry(alias, &inode->i_dentry, d_u.d_alias) {
- spin_lock(&alias->d_lock);
- if (S_ISDIR(inode->i_mode) || !d_unhashed(alias)) {
- if (IS_ROOT(alias) &&
-@@ -796,7 +796,7 @@ void d_prune_aliases(struct inode *inode)
- struct dentry *dentry;
- restart:
- spin_lock(&inode->i_lock);
-- hlist_for_each_entry(dentry, &inode->i_dentry, d_alias) {
-+ hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) {
- spin_lock(&dentry->d_lock);
- if (!dentry->d_lockref.count) {
- /*
-@@ -1081,7 +1081,7 @@ repeat:
- resume:
- while (next != &this_parent->d_subdirs) {
- struct list_head *tmp = next;
-- struct dentry *dentry = list_entry(tmp, struct dentry, d_u.d_child);
-+ struct dentry *dentry = list_entry(tmp, struct dentry, d_child);
- next = tmp->next;
-
- spin_lock_nested(&dentry->d_lock, DENTRY_D_LOCK_NESTED);
-@@ -1133,7 +1133,7 @@ resume:
- goto rename_retry;
- }
- rcu_read_unlock();
-- next = child->d_u.d_child.next;
-+ next = child->d_child.next;
- goto resume;
- }
- if (need_seqretry(&rename_lock, seq)) {
-@@ -1468,8 +1468,8 @@ struct dentry *__d_alloc(struct super_block *sb, const struct qstr *name)
- INIT_HLIST_BL_NODE(&dentry->d_hash);
- INIT_LIST_HEAD(&dentry->d_lru);
- INIT_LIST_HEAD(&dentry->d_subdirs);
-- INIT_HLIST_NODE(&dentry->d_alias);
-- INIT_LIST_HEAD(&dentry->d_u.d_child);
-+ INIT_HLIST_NODE(&dentry->d_u.d_alias);
-+ INIT_LIST_HEAD(&dentry->d_child);
- d_set_d_op(dentry, dentry->d_sb->s_d_op);
-
- this_cpu_inc(nr_dentry);
-@@ -1499,7 +1499,7 @@ struct dentry *d_alloc(struct dentry * parent, const struct qstr *name)
- */
- __dget_dlock(parent);
- dentry->d_parent = parent;
-- list_add(&dentry->d_u.d_child, &parent->d_subdirs);
-+ list_add(&dentry->d_child, &parent->d_subdirs);
- spin_unlock(&parent->d_lock);
-
- return dentry;
-@@ -1592,7 +1592,7 @@ static void __d_instantiate(struct dentry *dentry, struct inode *inode)
- spin_lock(&dentry->d_lock);
- __d_set_type(dentry, add_flags);
- if (inode)
-- hlist_add_head(&dentry->d_alias, &inode->i_dentry);
-+ hlist_add_head(&dentry->d_u.d_alias, &inode->i_dentry);
- dentry->d_inode = inode;
- dentry_rcuwalk_barrier(dentry);
- spin_unlock(&dentry->d_lock);
-@@ -1616,7 +1616,7 @@ static void __d_instantiate(struct dentry *dentry, struct inode *inode)
-
- void d_instantiate(struct dentry *entry, struct inode * inode)
- {
-- BUG_ON(!hlist_unhashed(&entry->d_alias));
-+ BUG_ON(!hlist_unhashed(&entry->d_u.d_alias));
- if (inode)
- spin_lock(&inode->i_lock);
- __d_instantiate(entry, inode);
-@@ -1655,7 +1655,7 @@ static struct dentry *__d_instantiate_unique(struct dentry *entry,
- return NULL;
- }
-
-- hlist_for_each_entry(alias, &inode->i_dentry, d_alias) {
-+ hlist_for_each_entry(alias, &inode->i_dentry, d_u.d_alias) {
- /*
- * Don't need alias->d_lock here, because aliases with
- * d_parent == entry->d_parent are not subject to name or
-@@ -1681,7 +1681,7 @@ struct dentry *d_instantiate_unique(struct dentry *entry, struct inode *inode)
- {
- struct dentry *result;
-
-- BUG_ON(!hlist_unhashed(&entry->d_alias));
-+ BUG_ON(!hlist_unhashed(&entry->d_u.d_alias));
-
- if (inode)
- spin_lock(&inode->i_lock);
-@@ -1712,7 +1712,7 @@ EXPORT_SYMBOL(d_instantiate_unique);
- */
- int d_instantiate_no_diralias(struct dentry *entry, struct inode *inode)
- {
-- BUG_ON(!hlist_unhashed(&entry->d_alias));
-+ BUG_ON(!hlist_unhashed(&entry->d_u.d_alias));
-
- spin_lock(&inode->i_lock);
- if (S_ISDIR(inode->i_mode) && !hlist_empty(&inode->i_dentry)) {
-@@ -1751,7 +1751,7 @@ static struct dentry * __d_find_any_alias(struct inode *inode)
-
- if (hlist_empty(&inode->i_dentry))
- return NULL;
-- alias = hlist_entry(inode->i_dentry.first, struct dentry, d_alias);
-+ alias = hlist_entry(inode->i_dentry.first, struct dentry, d_u.d_alias);
- __dget(alias);
- return alias;
- }
-@@ -1813,7 +1813,7 @@ static struct dentry *__d_obtain_alias(struct inode *inode, int disconnected)
- spin_lock(&tmp->d_lock);
- tmp->d_inode = inode;
- tmp->d_flags |= add_flags;
-- hlist_add_head(&tmp->d_alias, &inode->i_dentry);
-+ hlist_add_head(&tmp->d_u.d_alias, &inode->i_dentry);
- hlist_bl_lock(&tmp->d_sb->s_anon);
- hlist_bl_add_head(&tmp->d_hash, &tmp->d_sb->s_anon);
- hlist_bl_unlock(&tmp->d_sb->s_anon);
-@@ -2248,7 +2248,7 @@ int d_validate(struct dentry *dentry, struct dentry *dparent)
- struct dentry *child;
-
- spin_lock(&dparent->d_lock);
-- list_for_each_entry(child, &dparent->d_subdirs, d_u.d_child) {
-+ list_for_each_entry(child, &dparent->d_subdirs, d_child) {
- if (dentry == child) {
- spin_lock_nested(&dentry->d_lock, DENTRY_D_LOCK_NESTED);
- __dget_dlock(dentry);
-@@ -2525,13 +2525,13 @@ static void __d_move(struct dentry *dentry, struct dentry *target,
- /* splicing a tree */
- dentry->d_parent = target->d_parent;
- target->d_parent = target;
-- list_del_init(&target->d_u.d_child);
-- list_move(&dentry->d_u.d_child, &dentry->d_parent->d_subdirs);
-+ list_del_init(&target->d_child);
-+ list_move(&dentry->d_child, &dentry->d_parent->d_subdirs);
- } else {
- /* swapping two dentries */
- swap(dentry->d_parent, target->d_parent);
-- list_move(&target->d_u.d_child, &target->d_parent->d_subdirs);
-- list_move(&dentry->d_u.d_child, &dentry->d_parent->d_subdirs);
-+ list_move(&target->d_child, &target->d_parent->d_subdirs);
-+ list_move(&dentry->d_child, &dentry->d_parent->d_subdirs);
- if (exchange)
- fsnotify_d_move(target);
- fsnotify_d_move(dentry);
-@@ -3322,7 +3322,7 @@ void d_tmpfile(struct dentry *dentry, struct inode *inode)
- {
- inode_dec_link_count(inode);
- BUG_ON(dentry->d_name.name != dentry->d_iname ||
-- !hlist_unhashed(&dentry->d_alias) ||
-+ !hlist_unhashed(&dentry->d_u.d_alias) ||
- !d_unlinked(dentry));
- spin_lock(&dentry->d_parent->d_lock);
- spin_lock_nested(&dentry->d_lock, DENTRY_D_LOCK_NESTED);
-diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c
-index 1e3b99d3db0d..05f2960ed7c3 100644
---- a/fs/debugfs/inode.c
-+++ b/fs/debugfs/inode.c
-@@ -553,7 +553,7 @@ void debugfs_remove_recursive(struct dentry *dentry)
- * use the d_u.d_child as the rcu head and corrupt this list.
- */
- spin_lock(&parent->d_lock);
-- list_for_each_entry(child, &parent->d_subdirs, d_u.d_child) {
-+ list_for_each_entry(child, &parent->d_subdirs, d_child) {
- if (!debugfs_positive(child))
- continue;
-
-diff --git a/fs/exportfs/expfs.c b/fs/exportfs/expfs.c
-index b01fbfb51f43..a3aa6baad1a1 100644
---- a/fs/exportfs/expfs.c
-+++ b/fs/exportfs/expfs.c
-@@ -50,7 +50,7 @@ find_acceptable_alias(struct dentry *result,
-
- inode = result->d_inode;
- spin_lock(&inode->i_lock);
-- hlist_for_each_entry(dentry, &inode->i_dentry, d_alias) {
-+ hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) {
- dget(dentry);
- spin_unlock(&inode->i_lock);
- if (toput)
-diff --git a/fs/libfs.c b/fs/libfs.c
-index 88e3e00e2eca..e801b983b46b 100644
---- a/fs/libfs.c
-+++ b/fs/libfs.c
-@@ -114,18 +114,18 @@ loff_t dcache_dir_lseek(struct file *file, loff_t offset, int whence)
-
- spin_lock(&dentry->d_lock);
- /* d_lock not required for cursor */
-- list_del(&cursor->d_u.d_child);
-+ list_del(&cursor->d_child);
- p = dentry->d_subdirs.next;
- while (n && p != &dentry->d_subdirs) {
- struct dentry *next;
-- next = list_entry(p, struct dentry, d_u.d_child);
-+ next = list_entry(p, struct dentry, d_child);
- spin_lock_nested(&next->d_lock, DENTRY_D_LOCK_NESTED);
- if (simple_positive(next))
- n--;
- spin_unlock(&next->d_lock);
- p = p->next;
- }
-- list_add_tail(&cursor->d_u.d_child, p);
-+ list_add_tail(&cursor->d_child, p);
- spin_unlock(&dentry->d_lock);
- }
- }
-@@ -150,7 +150,7 @@ int dcache_readdir(struct file *file, struct dir_context *ctx)
- {
- struct dentry *dentry = file->f_path.dentry;
- struct dentry *cursor = file->private_data;
-- struct list_head *p, *q = &cursor->d_u.d_child;
-+ struct list_head *p, *q = &cursor->d_child;
-
- if (!dir_emit_dots(file, ctx))
- return 0;
-@@ -159,7 +159,7 @@ int dcache_readdir(struct file *file, struct dir_context *ctx)
- list_move(q, &dentry->d_subdirs);
-
- for (p = q->next; p != &dentry->d_subdirs; p = p->next) {
-- struct dentry *next = list_entry(p, struct dentry, d_u.d_child);
-+ struct dentry *next = list_entry(p, struct dentry, d_child);
- spin_lock_nested(&next->d_lock, DENTRY_D_LOCK_NESTED);
- if (!simple_positive(next)) {
- spin_unlock(&next->d_lock);
-@@ -287,7 +287,7 @@ int simple_empty(struct dentry *dentry)
- int ret = 0;
-
- spin_lock(&dentry->d_lock);
-- list_for_each_entry(child, &dentry->d_subdirs, d_u.d_child) {
-+ list_for_each_entry(child, &dentry->d_subdirs, d_child) {
- spin_lock_nested(&child->d_lock, DENTRY_D_LOCK_NESTED);
- if (simple_positive(child)) {
- spin_unlock(&child->d_lock);
-diff --git a/fs/ncpfs/dir.c b/fs/ncpfs/dir.c
-index 08b8ea8c353e..3a8ed0fb07be 100644
---- a/fs/ncpfs/dir.c
-+++ b/fs/ncpfs/dir.c
-@@ -406,7 +406,7 @@ ncp_dget_fpos(struct dentry *dentry, struct dentry *parent, unsigned long fpos)
- spin_lock(&parent->d_lock);
- next = parent->d_subdirs.next;
- while (next != &parent->d_subdirs) {
-- dent = list_entry(next, struct dentry, d_u.d_child);
-+ dent = list_entry(next, struct dentry, d_child);
- if ((unsigned long)dent->d_fsdata == fpos) {
- if (dent->d_inode)
- dget(dent);
-diff --git a/fs/ncpfs/ncplib_kernel.h b/fs/ncpfs/ncplib_kernel.h
-index 32c06587351a..6d5e7c56c79d 100644
---- a/fs/ncpfs/ncplib_kernel.h
-+++ b/fs/ncpfs/ncplib_kernel.h
-@@ -194,7 +194,7 @@ ncp_renew_dentries(struct dentry *parent)
- spin_lock(&parent->d_lock);
- next = parent->d_subdirs.next;
- while (next != &parent->d_subdirs) {
-- dentry = list_entry(next, struct dentry, d_u.d_child);
-+ dentry = list_entry(next, struct dentry, d_child);
-
- if (dentry->d_fsdata == NULL)
- ncp_age_dentry(server, dentry);
-@@ -216,7 +216,7 @@ ncp_invalidate_dircache_entries(struct dentry *parent)
- spin_lock(&parent->d_lock);
- next = parent->d_subdirs.next;
- while (next != &parent->d_subdirs) {
-- dentry = list_entry(next, struct dentry, d_u.d_child);
-+ dentry = list_entry(next, struct dentry, d_child);
- dentry->d_fsdata = NULL;
- ncp_age_dentry(server, dentry);
- next = next->next;
-diff --git a/fs/nfs/getroot.c b/fs/nfs/getroot.c
-index 880618a8b048..ebc6a0add5ae 100644
---- a/fs/nfs/getroot.c
-+++ b/fs/nfs/getroot.c
-@@ -58,7 +58,7 @@ static int nfs_superblock_set_dummy_root(struct super_block *sb, struct inode *i
- */
- spin_lock(&sb->s_root->d_inode->i_lock);
- spin_lock(&sb->s_root->d_lock);
-- hlist_del_init(&sb->s_root->d_alias);
-+ hlist_del_init(&sb->s_root->d_u.d_alias);
- spin_unlock(&sb->s_root->d_lock);
- spin_unlock(&sb->s_root->d_inode->i_lock);
- }
-diff --git a/fs/notify/fsnotify.c b/fs/notify/fsnotify.c
-index 9d3e9c50066a..700129940c6e 100644
---- a/fs/notify/fsnotify.c
-+++ b/fs/notify/fsnotify.c
-@@ -63,14 +63,14 @@ void __fsnotify_update_child_dentry_flags(struct inode *inode)
- spin_lock(&inode->i_lock);
- /* run all of the dentries associated with this inode. Since this is a
- * directory, there damn well better only be one item on this list */
-- hlist_for_each_entry(alias, &inode->i_dentry, d_alias) {
-+ hlist_for_each_entry(alias, &inode->i_dentry, d_u.d_alias) {
- struct dentry *child;
-
- /* run all of the children of the original inode and fix their
- * d_flags to indicate parental interest (their parent is the
- * original inode) */
- spin_lock(&alias->d_lock);
-- list_for_each_entry(child, &alias->d_subdirs, d_u.d_child) {
-+ list_for_each_entry(child, &alias->d_subdirs, d_child) {
- if (!child->d_inode)
- continue;
-
-diff --git a/fs/ocfs2/dcache.c b/fs/ocfs2/dcache.c
-index e2e05a106beb..92edcfc23c1c 100644
---- a/fs/ocfs2/dcache.c
-+++ b/fs/ocfs2/dcache.c
-@@ -172,7 +172,7 @@ struct dentry *ocfs2_find_local_alias(struct inode *inode,
- struct dentry *dentry;
-
- spin_lock(&inode->i_lock);
-- hlist_for_each_entry(dentry, &inode->i_dentry, d_alias) {
-+ hlist_for_each_entry(dentry, &inode->i_dentry, d_u.d_alias) {
- spin_lock(&dentry->d_lock);
- if (ocfs2_match_dentry(dentry, parent_blkno, skip_unhashed)) {
- trace_ocfs2_find_local_alias(dentry->d_name.len,
-diff --git a/include/linux/dcache.h b/include/linux/dcache.h
-index 75a227cc7ce2..82b5d1c2b856 100644
---- a/include/linux/dcache.h
-+++ b/include/linux/dcache.h
-@@ -125,15 +125,15 @@ struct dentry {
- void *d_fsdata; /* fs-specific data */
-
- struct list_head d_lru; /* LRU list */
-+ struct list_head d_child; /* child of parent list */
-+ struct list_head d_subdirs; /* our children */
- /*
-- * d_child and d_rcu can share memory
-+ * d_alias and d_rcu can share memory
- */
- union {
-- struct list_head d_child; /* child of parent list */
-+ struct hlist_node d_alias; /* inode alias list */
- struct rcu_head d_rcu;
- } d_u;
-- struct list_head d_subdirs; /* our children */
-- struct hlist_node d_alias; /* inode alias list */
- };
-
- /*
-diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
-index 15209335888d..09acba6e908a 100644
---- a/kernel/trace/trace.c
-+++ b/kernel/trace/trace.c
-@@ -6411,7 +6411,7 @@ static int instance_mkdir (struct inode *inode, struct dentry *dentry, umode_t m
- int ret;
-
- /* Paranoid: Make sure the parent is the "instances" directory */
-- parent = hlist_entry(inode->i_dentry.first, struct dentry, d_alias);
-+ parent = hlist_entry(inode->i_dentry.first, struct dentry, d_u.d_alias);
- if (WARN_ON_ONCE(parent != trace_instance_dir))
- return -ENOENT;
-
-@@ -6438,7 +6438,7 @@ static int instance_rmdir(struct inode *inode, struct dentry *dentry)
- int ret;
-
- /* Paranoid: Make sure the parent is the "instances" directory */
-- parent = hlist_entry(inode->i_dentry.first, struct dentry, d_alias);
-+ parent = hlist_entry(inode->i_dentry.first, struct dentry, d_u.d_alias);
- if (WARN_ON_ONCE(parent != trace_instance_dir))
- return -ENOENT;
-
-diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
-index ef06ce7e9cf8..85f9d33b4ad8 100644
---- a/kernel/trace/trace_events.c
-+++ b/kernel/trace/trace_events.c
-@@ -461,7 +461,7 @@ static void remove_event_file_dir(struct ftrace_event_file *file)
-
- if (dir) {
- spin_lock(&dir->d_lock); /* probably unneeded */
-- list_for_each_entry(child, &dir->d_subdirs, d_u.d_child) {
-+ list_for_each_entry(child, &dir->d_subdirs, d_child) {
- if (child->d_inode) /* probably unneeded */
- child->d_inode->i_private = NULL;
- }
-diff --git a/security/selinux/selinuxfs.c b/security/selinux/selinuxfs.c
-index c71737f6d1cc..33db1ad4fd10 100644
---- a/security/selinux/selinuxfs.c
-+++ b/security/selinux/selinuxfs.c
-@@ -1200,7 +1200,7 @@ static void sel_remove_entries(struct dentry *de)
- spin_lock(&de->d_lock);
- node = de->d_subdirs.next;
- while (node != &de->d_subdirs) {
-- struct dentry *d = list_entry(node, struct dentry, d_u.d_child);
-+ struct dentry *d = list_entry(node, struct dentry, d_child);
-
- spin_lock_nested(&d->d_lock, DENTRY_D_LOCK_NESTED);
- list_del_init(node);
-@@ -1674,12 +1674,12 @@ static void sel_remove_classes(void)
-
- list_for_each(class_node, &class_dir->d_subdirs) {
- struct dentry *class_subdir = list_entry(class_node,
-- struct dentry, d_u.d_child);
-+ struct dentry, d_child);
- struct list_head *class_subdir_node;
-
- list_for_each(class_subdir_node, &class_subdir->d_subdirs) {
- struct dentry *d = list_entry(class_subdir_node,
-- struct dentry, d_u.d_child);
-+ struct dentry, d_child);
-
- if (d->d_inode)
- if (d->d_inode->i_mode & S_IFDIR)
---
-2.1.0
-
diff --git a/freed-ora/current/f20/mpssd-x86-only.patch b/freed-ora/current/f20/mpssd-x86-only.patch
new file mode 100644
index 000000000..862603d3f
--- /dev/null
+++ b/freed-ora/current/f20/mpssd-x86-only.patch
@@ -0,0 +1,27 @@
+commit d47fb4ec7e101a63754939fa49d75fd7e81e94f8
+Author: Ashutosh Dixit <ashutosh.dixit@intel.com>
+Date: Thu Dec 4 13:27:29 2014 -0800
+
+ Documentation: Build mic/mpssd only for x86_64
+
+ mic/mpssd along with MIC drivers are currently only usable on
+ x86_64. So build mic/mpssd only for x86_64 to avoid build breaks on
+ big-endian systems.
+
+ Reported-by: Daniel Borkmann <dborkman@redhat.com>
+ Reported-by: Dan Streetman <ddstreet@gmail.com>
+ Suggested-by: Peter Foley <pefoley2@pefoley.com>
+ Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
+ Signed-off-by: Jonathan Corbet <corbet@lwn.net>
+
+diff --git a/Documentation/mic/mpssd/Makefile b/Documentation/mic/mpssd/Makefile
+index 0f31568..f47fe6b 100644
+--- a/Documentation/mic/mpssd/Makefile
++++ b/Documentation/mic/mpssd/Makefile
+@@ -1,5 +1,5 @@
+ # List of programs to build
+-hostprogs-y := mpssd
++hostprogs-$(CONFIG_X86_64) := mpssd
+
+ mpssd-objs := mpssd.o sysfs.o
+
diff --git a/freed-ora/current/f20/netfilter-conntrack-disable-generic-tracking-for-kno.patch b/freed-ora/current/f20/netfilter-conntrack-disable-generic-tracking-for-kno.patch
deleted file mode 100644
index a56f9e7d7..000000000
--- a/freed-ora/current/f20/netfilter-conntrack-disable-generic-tracking-for-kno.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From db29a9508a9246e77087c5531e45b2c88ec6988b Mon Sep 17 00:00:00 2001
-From: Florian Westphal <fw@strlen.de>
-Date: Fri, 26 Sep 2014 11:35:42 +0200
-Subject: [PATCH] netfilter: conntrack: disable generic tracking for known
- protocols
-
-Given following iptables ruleset:
-
--P FORWARD DROP
--A FORWARD -m sctp --dport 9 -j ACCEPT
--A FORWARD -p tcp --dport 80 -j ACCEPT
--A FORWARD -p tcp -m conntrack -m state ESTABLISHED,RELATED -j ACCEPT
-
-One would assume that this allows SCTP on port 9 and TCP on port 80.
-Unfortunately, if the SCTP conntrack module is not loaded, this allows
-*all* SCTP communication, to pass though, i.e. -p sctp -j ACCEPT,
-which we think is a security issue.
-
-This is because on the first SCTP packet on port 9, we create a dummy
-"generic l4" conntrack entry without any port information (since
-conntrack doesn't know how to extract this information).
-
-All subsequent packets that are unknown will then be in established
-state since they will fallback to proto_generic and will match the
-'generic' entry.
-
-Our originally proposed version [1] completely disabled generic protocol
-tracking, but Jozsef suggests to not track protocols for which a more
-suitable helper is available, hence we now mitigate the issue for in
-tree known ct protocol helpers only, so that at least NAT and direction
-information will still be preserved for others.
-
- [1] http://www.spinics.net/lists/netfilter-devel/msg33430.html
-
-Joint work with Daniel Borkmann.
-
-Signed-off-by: Florian Westphal <fw@strlen.de>
-Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
-Acked-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
-Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
----
- net/netfilter/nf_conntrack_proto_generic.c | 26 +++++++++++++++++++++++++-
- 1 file changed, 25 insertions(+), 1 deletion(-)
-
-diff --git a/net/netfilter/nf_conntrack_proto_generic.c b/net/netfilter/nf_conntrack_proto_generic.c
-index d25f29377648..957c1db66652 100644
---- a/net/netfilter/nf_conntrack_proto_generic.c
-+++ b/net/netfilter/nf_conntrack_proto_generic.c
-@@ -14,6 +14,30 @@
-
- static unsigned int nf_ct_generic_timeout __read_mostly = 600*HZ;
-
-+static bool nf_generic_should_process(u8 proto)
-+{
-+ switch (proto) {
-+#ifdef CONFIG_NF_CT_PROTO_SCTP_MODULE
-+ case IPPROTO_SCTP:
-+ return false;
-+#endif
-+#ifdef CONFIG_NF_CT_PROTO_DCCP_MODULE
-+ case IPPROTO_DCCP:
-+ return false;
-+#endif
-+#ifdef CONFIG_NF_CT_PROTO_GRE_MODULE
-+ case IPPROTO_GRE:
-+ return false;
-+#endif
-+#ifdef CONFIG_NF_CT_PROTO_UDPLITE_MODULE
-+ case IPPROTO_UDPLITE:
-+ return false;
-+#endif
-+ default:
-+ return true;
-+ }
-+}
-+
- static inline struct nf_generic_net *generic_pernet(struct net *net)
- {
- return &net->ct.nf_ct_proto.generic;
-@@ -67,7 +91,7 @@ static int generic_packet(struct nf_conn *ct,
- static bool generic_new(struct nf_conn *ct, const struct sk_buff *skb,
- unsigned int dataoff, unsigned int *timeouts)
- {
-- return true;
-+ return nf_generic_should_process(nf_ct_protonum(ct));
- }
-
- #if IS_ENABLED(CONFIG_NF_CT_NETLINK_TIMEOUT)
---
-2.1.0
-
diff --git a/freed-ora/current/f20/perf-install-trace-event-plugins.patch b/freed-ora/current/f20/perf-install-trace-event-plugins.patch
deleted file mode 100644
index 9a7ad3aa3..000000000
--- a/freed-ora/current/f20/perf-install-trace-event-plugins.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From: Kyle McMartin <kmcmarti@redhat.com>
-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/freed-ora/current/f20/ppc64-fixtools.patch b/freed-ora/current/f20/ppc64-fixtools.patch
deleted file mode 100644
index f8c934ba2..000000000
--- a/freed-ora/current/f20/ppc64-fixtools.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From: Peter Robinson <pbrobinson@gmail.com>
-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/freed-ora/current/f20/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch b/freed-ora/current/f20/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch
deleted file mode 100644
index 59adcedaf..000000000
--- a/freed-ora/current/f20/psmouse-Add-psmouse_matches_pnp_id-helper-function.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From: Hans de Goede <hdegoede@redhat.com>
-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 <hdegoede@redhat.com>
----
- 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/freed-ora/current/f20/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch b/freed-ora/current/f20/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch
deleted file mode 100644
index 0d0583d5f..000000000
--- a/freed-ora/current/f20/psmouse-Add-support-for-detecting-FocalTech-PS-2-tou.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-From: Hans de Goede <hdegoede@redhat.com>
-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 <hdegoede@redhat.com>
----
- 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 <hdegoede@redhat.com>
-+ */
-+
-+/*
-+ * 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 <linux/device.h>
-+#include <linux/libps2.h>
-+#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 <hdegoede@redhat.com>
-+ */
-+
-+#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/freed-ora/current/f20/sources b/freed-ora/current/f20/sources
index b8aa61ae3..07315f7c6 100644
--- a/freed-ora/current/f20/sources
+++ b/freed-ora/current/f20/sources
@@ -1,3 +1,3 @@
-61aaf05e9ccb9be9bcf9135993e9ee3e linux-libre-3.17-gnu.tar.xz
-159e969cbc27201d8e2fa0f609dc722f perf-man-3.17.tar.gz
-4ea1c0e18b18406bcd248bf06b95aec3 patch-3.17.8.xz
+b3c2a6827813398dde7e8a2d4e02a2c3 linux-libre-3.18-gnu.tar.xz
+813ccb96f0b379d656e57442c2587ca3 perf-man-3.18.tar.gz
+e7c510c0df50abb2cbaea2a1a87f35b7 patch-3.18.4.xz
diff --git a/freed-ora/current/f20/uas-Add-US_FL_NO_ATA_1X-for-Seagate-devices-with-usb.patch b/freed-ora/current/f20/uas-Add-US_FL_NO_ATA_1X-for-Seagate-devices-with-usb.patch
deleted file mode 100644
index 1e12a646f..000000000
--- a/freed-ora/current/f20/uas-Add-US_FL_NO_ATA_1X-for-Seagate-devices-with-usb.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 37a72caa7f031da7b3e63252c1f0023b8272203c Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Fri, 5 Dec 2014 11:06:36 +0100
-Subject: [PATCH 2/3] uas: Add US_FL_NO_ATA_1X for Seagate devices with usb-id
- 0bc2:a013
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This is yet another Seagate device which needs the US_FL_NO_ATA_1X quirk
-
-Reported-by: Marcin Zajączkowski <mszpak@wp.pl>
-Cc: stable@vger.kernel.org # 3.16
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/usb/storage/unusual_uas.h | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h
-index 18a283d6de1c..2918376a1979 100644
---- a/drivers/usb/storage/unusual_uas.h
-+++ b/drivers/usb/storage/unusual_uas.h
-@@ -68,6 +68,13 @@ UNUSUAL_DEV(0x0bc2, 0xa003, 0x0000, 0x9999,
- USB_SC_DEVICE, USB_PR_DEVICE, NULL,
- US_FL_NO_ATA_1X),
-
-+/* Reported-by: Marcin Zajączkowski <mszpak@wp.pl> */
-+UNUSUAL_DEV(0x0bc2, 0xa013, 0x0000, 0x9999,
-+ "Seagate",
-+ "Backup Plus",
-+ USB_SC_DEVICE, USB_PR_DEVICE, NULL,
-+ US_FL_NO_ATA_1X),
-+
- /* https://bbs.archlinux.org/viewtopic.php?id=183190 */
- UNUSUAL_DEV(0x0bc2, 0xab20, 0x0000, 0x9999,
- "Seagate",
---
-2.1.0
-
diff --git a/freed-ora/current/f20/uas-Add-US_FL_NO_REPORT_OPCODES-for-JMicron-JMS566-w.patch b/freed-ora/current/f20/uas-Add-US_FL_NO_REPORT_OPCODES-for-JMicron-JMS566-w.patch
deleted file mode 100644
index 11725df52..000000000
--- a/freed-ora/current/f20/uas-Add-US_FL_NO_REPORT_OPCODES-for-JMicron-JMS566-w.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From a7ea9a460f28ef9781ba8dad4a6feb5fd01202f2 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Mon, 8 Dec 2014 09:46:36 +0100
-Subject: [PATCH 3/3] uas: Add US_FL_NO_REPORT_OPCODES for JMicron JMS566 with
- usb-id 0bc2:a013
-
-Like the JMicron JMS567 enclosures with the JMS566 choke on report-opcodes,
-so avoid it.
-
-Tested-and-reported-by: Takeo Nakayama <javhera@gmx.com>
-Cc: stable@vger.kernel.org # 3.16
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/usb/storage/unusual_uas.h | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h
-index 2918376a1979..2f0a3d35269a 100644
---- a/drivers/usb/storage/unusual_uas.h
-+++ b/drivers/usb/storage/unusual_uas.h
-@@ -111,6 +111,13 @@ UNUSUAL_DEV(0x2109, 0x0711, 0x0000, 0x9999,
- USB_SC_DEVICE, USB_PR_DEVICE, NULL,
- US_FL_NO_ATA_1X),
-
-+/* Reported-by: Takeo Nakayama <javhera@gmx.com> */
-+UNUSUAL_DEV(0x357d, 0x7788, 0x0000, 0x9999,
-+ "JMicron",
-+ "JMS566",
-+ USB_SC_DEVICE, USB_PR_DEVICE, NULL,
-+ US_FL_NO_REPORT_OPCODES),
-+
- /* Reported-by: Hans de Goede <hdegoede@redhat.com> */
- UNUSUAL_DEV(0x4971, 0x1012, 0x0000, 0x9999,
- "Hitachi",
---
-2.1.0
-
diff --git a/freed-ora/current/f20/x86-vdso-Use-asm-volatile-in-__getcpu.patch b/freed-ora/current/f20/x86-vdso-Use-asm-volatile-in-__getcpu.patch
deleted file mode 100644
index 033b423dd..000000000
--- a/freed-ora/current/f20/x86-vdso-Use-asm-volatile-in-__getcpu.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From: Andy Lutomirski <luto@amacapital.net>
-Date: Sun, 21 Dec 2014 08:57:46 -0800
-Subject: [PATCH] x86, vdso: Use asm volatile in __getcpu
-
-In Linux 3.18 and below, GCC hoists the lsl instructions in the
-pvclock code all the way to the beginning of __vdso_clock_gettime,
-slowing the non-paravirt case significantly. For unknown reasons,
-presumably related to the removal of a branch, the performance issue
-is gone as of
-
-e76b027e6408 x86,vdso: Use LSL unconditionally for vgetcpu
-
-but I don't trust GCC enough to expect the problem to stay fixed.
-
-There should be no correctness issue, because the __getcpu calls in
-__vdso_vlock_gettime were never necessary in the first place.
-
-Note to stable maintainers: In 3.18 and below, depending on
-configuration, gcc 4.9.2 generates code like this:
-
- 9c3: 44 0f 03 e8 lsl %ax,%r13d
- 9c7: 45 89 eb mov %r13d,%r11d
- 9ca: 0f 03 d8 lsl %ax,%ebx
-
-This patch won't apply as is to any released kernel, but I'll send a
-trivial backported version if needed.
-
-Fixes: 51c19b4f5927 x86: vdso: pvclock gettime support
-Cc: stable@vger.kernel.org # 3.8+
-Cc: Marcelo Tosatti <mtosatti@redhat.com>
-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
-Signed-off-by: Andy Lutomirski <luto@amacapital.net>
-(Backported to 3.17.8 by Josh Boyer <jwboyer@fedoraproject.org>)
----
- arch/x86/include/asm/vsyscall.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/x86/include/asm/vsyscall.h b/arch/x86/include/asm/vsyscall.h
-index 2a46ca720afc..3db1fa5fdceb 100644
---- a/arch/x86/include/asm/vsyscall.h
-+++ b/arch/x86/include/asm/vsyscall.h
-@@ -34,7 +34,7 @@ static inline unsigned int __getcpu(void)
- native_read_tscp(&p);
- } else {
- /* Load per CPU data from GDT */
-- asm("lsl %1,%0" : "=r" (p) : "r" (__PER_CPU_SEG));
-+ asm volatile("lsl %1,%0" : "=r" (p) : "r" (__PER_CPU_SEG));
- }
-
- return p;
---
-2.1.0
-
diff --git a/freed-ora/current/f20/x86_64-vdso-Fix-the-vdso-address-randomization-algor.patch b/freed-ora/current/f20/x86_64-vdso-Fix-the-vdso-address-randomization-algor.patch
deleted file mode 100644
index 8d7f5f1cd..000000000
--- a/freed-ora/current/f20/x86_64-vdso-Fix-the-vdso-address-randomization-algor.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From: Andy Lutomirski <luto@amacapital.net>
-Date: Fri, 19 Dec 2014 16:04:11 -0800
-Subject: [PATCH] x86_64, vdso: Fix the vdso address randomization algorithm
-
-The theory behind vdso randomization is that it's mapped at a random
-offset above the top of the stack. To avoid wasting a page of
-memory for an extra page table, the vdso isn't supposed to extend
-past the lowest PMD into which it can fit. Other than that, the
-address should be a uniformly distributed address that meets all of
-the alignment requirements.
-
-The current algorithm is buggy: the vdso has about a 50% probability
-of being at the very end of a PMD. The current algorithm also has a
-decent chance of failing outright due to incorrect handling of the
-case where the top of the stack is near the top of its PMD.
-
-This fixes the implementation. The paxtest estimate of vdso
-"randomisation" improves from 11 bits to 18 bits. (Disclaimer: I
-don't know what the paxtest code is actually calculating.)
-
-It's worth noting that this algorithm is inherently biased: the vdso
-is more likely to end up near the end of its PMD than near the
-beginning. Ideally we would either nix the PMD sharing requirement
-or jointly randomize the vdso and the stack to reduce the bias.
-
-In the mean time, this is a considerable improvement with basically
-no risk of compatibility issues, since the allowed outputs of the
-algorithm are unchanged.
-
-As an easy test, doing this:
-
-for i in `seq 10000`
- do grep -P vdso /proc/self/maps |cut -d- -f1
-done |sort |uniq -d
-
-used to produce lots of output (1445 lines on my most recent run).
-A tiny subset looks like this:
-
-7fffdfffe000
-7fffe01fe000
-7fffe05fe000
-7fffe07fe000
-7fffe09fe000
-7fffe0bfe000
-7fffe0dfe000
-
-Note the suspicious fe000 endings. With the fix, I get a much more
-palatable 76 repeated addresses.
-
-Reviewed-by: Kees Cook <keescook@chromium.org>
-Cc: stable@vger.kernel.org
-Signed-off-by: Andy Lutomirski <luto@amacapital.net>
----
- arch/x86/vdso/vma.c | 45 +++++++++++++++++++++++++++++----------------
- 1 file changed, 29 insertions(+), 16 deletions(-)
-
-diff --git a/arch/x86/vdso/vma.c b/arch/x86/vdso/vma.c
-index 970463b566cf..208c2206df46 100644
---- a/arch/x86/vdso/vma.c
-+++ b/arch/x86/vdso/vma.c
-@@ -54,12 +54,17 @@ subsys_initcall(init_vdso);
-
- struct linux_binprm;
-
--/* Put the vdso above the (randomized) stack with another randomized offset.
-- This way there is no hole in the middle of address space.
-- To save memory make sure it is still in the same PTE as the stack top.
-- This doesn't give that many random bits.
--
-- Only used for the 64-bit and x32 vdsos. */
-+/*
-+ * Put the vdso above the (randomized) stack with another randomized
-+ * offset. This way there is no hole in the middle of address space.
-+ * To save memory make sure it is still in the same PTE as the stack
-+ * top. This doesn't give that many random bits.
-+ *
-+ * Note that this algorithm is imperfect: the distribution of the vdso
-+ * start address within a PMD is biased toward the end.
-+ *
-+ * Only used for the 64-bit and x32 vdsos.
-+ */
- static unsigned long vdso_addr(unsigned long start, unsigned len)
- {
- #ifdef CONFIG_X86_32
-@@ -67,22 +72,30 @@ static unsigned long vdso_addr(unsigned long start, unsigned len)
- #else
- unsigned long addr, end;
- unsigned offset;
-- end = (start + PMD_SIZE - 1) & PMD_MASK;
-+
-+ /*
-+ * Round up the start address. It can start out unaligned as a result
-+ * of stack start randomization.
-+ */
-+ start = PAGE_ALIGN(start);
-+
-+ /* Round the lowest possible end address up to a PMD boundary. */
-+ end = (start + len + PMD_SIZE - 1) & PMD_MASK;
- if (end >= TASK_SIZE_MAX)
- end = TASK_SIZE_MAX;
- end -= len;
-- /* This loses some more bits than a modulo, but is cheaper */
-- offset = get_random_int() & (PTRS_PER_PTE - 1);
-- addr = start + (offset << PAGE_SHIFT);
-- if (addr >= end)
-- addr = end;
-+
-+ if (end > start) {
-+ offset = get_random_int() % (((end - start) >> PAGE_SHIFT) + 1);
-+ addr = start + (offset << PAGE_SHIFT);
-+ } else {
-+ addr = start;
-+ }
-
- /*
-- * page-align it here so that get_unmapped_area doesn't
-- * align it wrongfully again to the next page. addr can come in 4K
-- * unaligned here as a result of stack start randomization.
-+ * Forcibly align the final address in case we have a hardware
-+ * issue that requires alignment for performance reasons.
- */
-- addr = PAGE_ALIGN(addr);
- addr = align_vdso_addr(addr);
-
- return addr;
---
-2.1.0
-
diff --git a/freed-ora/current/f20/xhci-Add-broken-streams-quirk-for-Fresco-Logic-FL100.patch b/freed-ora/current/f20/xhci-Add-broken-streams-quirk-for-Fresco-Logic-FL100.patch
deleted file mode 100644
index 43181ff04..000000000
--- a/freed-ora/current/f20/xhci-Add-broken-streams-quirk-for-Fresco-Logic-FL100.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From e6a429eb0bfa03e3dca62e3922874d768833395f Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Fri, 5 Dec 2014 11:01:00 +0100
-Subject: [PATCH 1/3] xhci: Add broken-streams quirk for Fresco Logic FL1000G
- xhci controllers
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Streams do not work reliabe on Fresco Logic FL1000G xhci controllers,
-trying to use them results in errors like this:
-
-21:37:33 kernel: xhci_hcd 0000:04:00.0: ERROR Transfer event for disabled endpoint or incorrect stream ring
-21:37:33 kernel: xhci_hcd 0000:04:00.0: @00000000368b3570 9067b000 00000000 05000000 01078001
-21:37:33 kernel: xhci_hcd 0000:04:00.0: ERROR Transfer event for disabled endpoint or incorrect stream ring
-21:37:33 kernel: xhci_hcd 0000:04:00.0: @00000000368b3580 9067b400 00000000 05000000 01038001
-
-As always I've ordered a pci-e addon card with a Fresco Logic controller for
-myself to see if I can come up with a better fix then the big hammer, in
-the mean time this will make uas devices work again (in usb-storage mode)
-for FL1000G users.
-
-Reported-by: Marcin Zajączkowski <mszpak@wp.pl>
-Cc: stable@vger.kernel.org # 3.15
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/usb/host/xhci-pci.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
-index d41ce7aaa97d..63f79aa82673 100644
---- a/drivers/usb/host/xhci-pci.c
-+++ b/drivers/usb/host/xhci-pci.c
-@@ -80,6 +80,8 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
- "must be suspended extra slowly",
- pdev->revision);
- }
-+ if (pdev->device == PCI_DEVICE_ID_FRESCO_LOGIC_PDK)
-+ xhci->quirks |= XHCI_BROKEN_STREAMS;
- /* Fresco Logic confirms: all revisions of this chip do not
- * support MSI, even though some of them claim to in their PCI
- * capabilities.
---
-2.1.0
-
OpenPOWER on IntegriCloud