--- /dev/null
+From 60db7e5f9c9a25a7a9b01007e6e3f5a93bc16a3a Mon Sep 17 00:00:00 2001
+From: Thomas Abraham <thomas.ab@samsung.com>
+Date: Thu, 24 Jan 2013 10:09:13 -0800
+Subject: ARM: EXYNOS: Fix crash on soft reset on EXYNOS5440
+
+From: Thomas Abraham <thomas.ab@samsung.com>
+
+commit 60db7e5f9c9a25a7a9b01007e6e3f5a93bc16a3a upstream.
+
+The soft-reset control register is located in the XMU controller space.
+Map this controller space before writing to the soft-reset controller
+register.
+
+Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
+Signed-off-by: Girish K S <ks.giri@samsung.com>
+Signed-off-by: Kukjin <kgene.kim@samsung.com>
+Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/mach-exynos/common.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/arch/arm/mach-exynos/common.c
++++ b/arch/arm/mach-exynos/common.c
+@@ -299,6 +299,7 @@ void exynos4_restart(char mode, const ch
+
+ void exynos5_restart(char mode, const char *cmd)
+ {
++ struct device_node *np;
+ u32 val;
+ void __iomem *addr;
+
+@@ -306,8 +307,9 @@ void exynos5_restart(char mode, const ch
+ val = 0x1;
+ addr = EXYNOS_SWRESET;
+ } else if (of_machine_is_compatible("samsung,exynos5440")) {
+- val = (0x10 << 20) | (0x1 << 16);
+- addr = EXYNOS5440_SWRESET;
++ np = of_find_compatible_node(NULL, NULL, "samsung,exynos5440-clock");
++ addr = of_iomap(np, 0) + 0xcc;
++ val = (0xfff << 20) | (0x1 << 16);
+ } else {
+ pr_err("%s: cannot support non-DT\n", __func__);
+ return;
--- /dev/null
+From 6e45eb12fd1c741d556bf264ee98853b5f3104e5 Mon Sep 17 00:00:00 2001
+From: Jonghwan Choi <jhbird.choi@samsung.com>
+Date: Fri, 18 Jan 2013 11:09:01 -0800
+Subject: cpufreq: exynos: Get booting freq value in exynos_cpufreq_init
+
+From: Jonghwan Choi <jhbird.choi@samsung.com>
+
+commit 6e45eb12fd1c741d556bf264ee98853b5f3104e5 upstream.
+
+Boot_freq is for saving booting freq. But exynos_cpufreq_cpu_init
+is called in hotplug. If boot_freq is existed in exynos_cpufreq_cpu_init,
+boot_freq could be changed.
+
+Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
+Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/cpufreq/exynos-cpufreq.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/cpufreq/exynos-cpufreq.c
++++ b/drivers/cpufreq/exynos-cpufreq.c
+@@ -222,8 +222,6 @@ static int exynos_cpufreq_cpu_init(struc
+
+ cpufreq_frequency_table_get_attr(exynos_info->freq_table, policy->cpu);
+
+- locking_frequency = exynos_getspeed(0);
+-
+ /* set the transition latency value */
+ policy->cpuinfo.transition_latency = 100000;
+
+@@ -288,6 +286,8 @@ static int __init exynos_cpufreq_init(vo
+ goto err_vdd_arm;
+ }
+
++ locking_frequency = exynos_getspeed(0);
++
+ register_pm_notifier(&exynos_cpufreq_nb);
+
+ if (cpufreq_register_driver(&exynos_driver)) {
--- /dev/null
+From 01e3a8feb40e54b962a20fa7eb595c5efef5e109 Mon Sep 17 00:00:00 2001
+From: Jani Nikula <jani.nikula@intel.com>
+Date: Tue, 22 Jan 2013 12:50:35 +0200
+Subject: drm/i915: add quirk to invert brightness on eMachines e725
+
+From: Jani Nikula <jani.nikula@intel.com>
+
+commit 01e3a8feb40e54b962a20fa7eb595c5efef5e109 upstream.
+
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=31522#c35
+[Note: There are more than one broken setups in the bug. This fixes one.]
+Reported-by: Martins <andrissr@inbox.lv>
+Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Cc: Josh Boyer <jwboyer@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/intel_display.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -8904,6 +8904,9 @@ static struct intel_quirk intel_quirks[]
+
+ /* Acer/eMachines G725 */
+ { 0x2a42, 0x1025, 0x0210, quirk_invert_brightness },
++
++ /* Acer/eMachines e725 */
++ { 0x2a42, 0x1025, 0x0212, quirk_invert_brightness },
+ };
+
+ static void intel_init_quirks(struct drm_device *dev)
--- /dev/null
+From 1ffff60320879830e469e26062c18f75236822ba Mon Sep 17 00:00:00 2001
+From: Jani Nikula <jani.nikula@intel.com>
+Date: Tue, 22 Jan 2013 12:50:34 +0200
+Subject: drm/i915: add quirk to invert brightness on eMachines G725
+
+From: Jani Nikula <jani.nikula@intel.com>
+
+commit 1ffff60320879830e469e26062c18f75236822ba upstream.
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59628
+Reported-by: Roland Gruber <post@rolandgruber.de>
+Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Cc: Josh Boyer <jwboyer@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/intel_display.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -8901,6 +8901,9 @@ static struct intel_quirk intel_quirks[]
+
+ /* Acer Aspire 4736Z */
+ { 0x2a42, 0x1025, 0x0260, quirk_invert_brightness },
++
++ /* Acer/eMachines G725 */
++ { 0x2a42, 0x1025, 0x0210, quirk_invert_brightness },
+ };
+
+ static void intel_init_quirks(struct drm_device *dev)
--- /dev/null
+From 5559ecadad5a73b27f863e92f4b4f369501dce6f Mon Sep 17 00:00:00 2001
+From: Jani Nikula <jani.nikula@intel.com>
+Date: Tue, 22 Jan 2013 12:50:36 +0200
+Subject: drm/i915: add quirk to invert brightness on Packard Bell NCL20
+
+From: Jani Nikula <jani.nikula@intel.com>
+
+commit 5559ecadad5a73b27f863e92f4b4f369501dce6f upstream.
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44156
+Reported-by: Alan Zimmerman <alan.zimm@gmail.com>
+Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/intel_display.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -8907,6 +8907,9 @@ static struct intel_quirk intel_quirks[]
+
+ /* Acer/eMachines e725 */
+ { 0x2a42, 0x1025, 0x0212, quirk_invert_brightness },
++
++ /* Acer/Packard Bell NCL20 */
++ { 0x2a42, 0x1025, 0x034b, quirk_invert_brightness },
+ };
+
+ static void intel_init_quirks(struct drm_device *dev)
--- /dev/null
+From 27b7c63a7c509d797c151e95a641e1d94d94bbd9 Mon Sep 17 00:00:00 2001
+From: Lauri Kasanen <cand@gmx.com>
+Date: Wed, 27 Mar 2013 15:04:55 +0200
+Subject: drm/i915: Fix build failure
+
+From: Lauri Kasanen <cand@gmx.com>
+
+commit 27b7c63a7c509d797c151e95a641e1d94d94bbd9 upstream.
+
+ERROR: "__build_bug_on_failed" [drivers/gpu/drm/i915/i915.ko] undefined!
+
+Originally reported at http://www.gossamer-threads.com/lists/linux/kernel/1631803
+FDO bug #62775
+
+This needs to be backported to both 3.7 and 3.8 stable trees. Doesn't apply straight,
+but it's a quick change.
+
+Signed-off-by: Lauri Kasanen <cand@gmx.com>
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=62775
+Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
++++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+@@ -43,7 +43,7 @@ eb_create(int size)
+ {
+ struct eb_objects *eb;
+ int count = PAGE_SIZE / sizeof(struct hlist_head) / 2;
+- BUILD_BUG_ON(!is_power_of_2(PAGE_SIZE / sizeof(struct hlist_head)));
++ BUILD_BUG_ON_NOT_POWER_OF_2(PAGE_SIZE / sizeof(struct hlist_head));
+ while (count > size)
+ count >>= 1;
+ eb = kzalloc(count*sizeof(struct hlist_head) +
--- /dev/null
+From 51c94491c82c3d9029f6e87a1a153db321d88e35 Mon Sep 17 00:00:00 2001
+From: Maxim Mikityanskiy <maxtram95@gmail.com>
+Date: Sat, 15 Dec 2012 19:31:31 +0200
+Subject: msi-wmi: Fix memory leak
+
+From: Maxim Mikityanskiy <maxtram95@gmail.com>
+
+commit 51c94491c82c3d9029f6e87a1a153db321d88e35 upstream.
+
+Fix memory leak - don't forget to kfree ACPI object when returning from
+msi_wmi_notify() after suppressing key event.
+
+Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
+Acked-by: Anisse Astier <anisse@astier.eu>
+Signed-off-by: Lee, Chun-Yi <jlee@suse.com>
+Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
+Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+
+---
+ drivers/platform/x86/msi-wmi.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/platform/x86/msi-wmi.c
++++ b/drivers/platform/x86/msi-wmi.c
+@@ -176,7 +176,7 @@ static void msi_wmi_notify(u32 value, vo
+ pr_debug("Suppressed key event 0x%X - "
+ "Last press was %lld us ago\n",
+ key->code, ktime_to_us(diff));
+- return;
++ goto msi_wmi_notify_exit;
+ }
+ last_pressed[key->code - SCANCODE_BASE] = cur;
+
+@@ -195,6 +195,8 @@ static void msi_wmi_notify(u32 value, vo
+ pr_info("Unknown key pressed - %x\n", eventcode);
+ } else
+ pr_info("Unknown event received\n");
++
++msi_wmi_notify_exit:
+ kfree(response.pointer);
+ }
+
--- /dev/null
+From b8178f130e25c1bdac1c33e0996f1ff6e20ec08e Mon Sep 17 00:00:00 2001
+From: Bjorn Helgaas <bhelgaas@google.com>
+Date: Mon, 1 Apr 2013 15:47:39 -0600
+Subject: Revert "PCI/ACPI: Request _OSC control before scanning PCI root bus"
+
+From: Bjorn Helgaas <bhelgaas@google.com>
+
+commit b8178f130e25c1bdac1c33e0996f1ff6e20ec08e upstream.
+
+This reverts commit 8c33f51df406e1a1f7fa4e9b244845b7ebd61fa6.
+
+Conflicts:
+ drivers/acpi/pci_root.c
+
+This commit broke some pre-1.1 PCIe devices by leaving them with
+ASPM enabled. Previously, we had disabled ASPM on these devices
+because many of them don't implement it correctly (per 149e1637).
+
+Requesting _OSC control early means that aspm_disabled may be set
+before we scan the PCI bus and configure link ASPM state. But the
+ASPM configuration currently skips the check for pre-PCIe 1.1 devices
+when aspm_disabled is set, like this:
+
+ acpi_pci_root_add
+ acpi_pci_osc_support
+ if (flags != base_flags)
+ pcie_no_aspm
+ aspm_disabled = 1
+ pci_acpi_scan_root
+ ...
+ pcie_aspm_init_link_state
+ pcie_aspm_sanity_check
+ if (!aspm_disabled)
+ /* check for pre-PCIe 1.1 device */
+
+Therefore, setting aspm_disabled early means that we leave ASPM enabled
+on these pre-PCIe 1.1 devices, which is a regression for some devices.
+
+The best fix would be to clean up the ASPM init so we can evaluate
+_OSC before scanning the bug (that way boot-time and hot-add discovery
+will work the same), but that requires significant rework.
+
+For now, we'll just revert the _OSC change as the lowest-risk fix.
+
+Reference: https://bugzilla.kernel.org/show_bug.cgi?id=55211
+Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
+Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
+Acked-by: Yinghai Lu <yinghai@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+
+---
+ drivers/acpi/pci_root.c | 121 +++++++++++++++++++++++-------------------------
+ 1 file changed, 59 insertions(+), 62 deletions(-)
+
+--- a/drivers/acpi/pci_root.c
++++ b/drivers/acpi/pci_root.c
+@@ -454,7 +454,6 @@ static int acpi_pci_root_add(struct acpi
+ acpi_handle handle;
+ struct acpi_device *child;
+ u32 flags, base_flags;
+- bool is_osc_granted = false;
+
+ root = kzalloc(sizeof(struct acpi_pci_root), GFP_KERNEL);
+ if (!root)
+@@ -525,60 +524,6 @@ static int acpi_pci_root_add(struct acpi
+ flags = base_flags = OSC_PCI_SEGMENT_GROUPS_SUPPORT;
+ acpi_pci_osc_support(root, flags);
+
+- /* Indicate support for various _OSC capabilities. */
+- if (pci_ext_cfg_avail())
+- flags |= OSC_EXT_PCI_CONFIG_SUPPORT;
+- if (pcie_aspm_support_enabled()) {
+- flags |= OSC_ACTIVE_STATE_PWR_SUPPORT |
+- OSC_CLOCK_PWR_CAPABILITY_SUPPORT;
+- }
+- if (pci_msi_enabled())
+- flags |= OSC_MSI_SUPPORT;
+- if (flags != base_flags) {
+- status = acpi_pci_osc_support(root, flags);
+- if (ACPI_FAILURE(status)) {
+- dev_info(&device->dev, "ACPI _OSC support "
+- "notification failed, disabling PCIe ASPM\n");
+- pcie_no_aspm();
+- flags = base_flags;
+- }
+- }
+- if (!pcie_ports_disabled
+- && (flags & ACPI_PCIE_REQ_SUPPORT) == ACPI_PCIE_REQ_SUPPORT) {
+- flags = OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL
+- | OSC_PCI_EXPRESS_NATIVE_HP_CONTROL
+- | OSC_PCI_EXPRESS_PME_CONTROL;
+-
+- if (pci_aer_available()) {
+- if (aer_acpi_firmware_first())
+- dev_dbg(&device->dev,
+- "PCIe errors handled by BIOS.\n");
+- else
+- flags |= OSC_PCI_EXPRESS_AER_CONTROL;
+- }
+-
+- dev_info(&device->dev,
+- "Requesting ACPI _OSC control (0x%02x)\n", flags);
+-
+- status = acpi_pci_osc_control_set(device->handle, &flags,
+- OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL);
+- if (ACPI_SUCCESS(status)) {
+- is_osc_granted = true;
+- dev_info(&device->dev,
+- "ACPI _OSC control (0x%02x) granted\n", flags);
+- } else {
+- is_osc_granted = false;
+- dev_info(&device->dev,
+- "ACPI _OSC request failed (%s), "
+- "returned control mask: 0x%02x\n",
+- acpi_format_exception(status), flags);
+- }
+- } else {
+- dev_info(&device->dev,
+- "Unable to request _OSC control "
+- "(_OSC support mask: 0x%02x)\n", flags);
+- }
+-
+ /*
+ * TBD: Need PCI interface for enumeration/configuration of roots.
+ */
+@@ -618,14 +563,66 @@ static int acpi_pci_root_add(struct acpi
+ list_for_each_entry(child, &device->children, node)
+ acpi_pci_bridge_scan(child);
+
+- /* ASPM setting */
+- if (is_osc_granted) {
+- if (acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_ASPM)
+- pcie_clear_aspm(root->bus);
++ /* Indicate support for various _OSC capabilities. */
++ if (pci_ext_cfg_avail())
++ flags |= OSC_EXT_PCI_CONFIG_SUPPORT;
++ if (pcie_aspm_support_enabled())
++ flags |= OSC_ACTIVE_STATE_PWR_SUPPORT |
++ OSC_CLOCK_PWR_CAPABILITY_SUPPORT;
++ if (pci_msi_enabled())
++ flags |= OSC_MSI_SUPPORT;
++ if (flags != base_flags) {
++ status = acpi_pci_osc_support(root, flags);
++ if (ACPI_FAILURE(status)) {
++ dev_info(root->bus->bridge, "ACPI _OSC support "
++ "notification failed, disabling PCIe ASPM\n");
++ pcie_no_aspm();
++ flags = base_flags;
++ }
++ }
++
++ if (!pcie_ports_disabled
++ && (flags & ACPI_PCIE_REQ_SUPPORT) == ACPI_PCIE_REQ_SUPPORT) {
++ flags = OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL
++ | OSC_PCI_EXPRESS_NATIVE_HP_CONTROL
++ | OSC_PCI_EXPRESS_PME_CONTROL;
++
++ if (pci_aer_available()) {
++ if (aer_acpi_firmware_first())
++ dev_dbg(root->bus->bridge,
++ "PCIe errors handled by BIOS.\n");
++ else
++ flags |= OSC_PCI_EXPRESS_AER_CONTROL;
++ }
++
++ dev_info(root->bus->bridge,
++ "Requesting ACPI _OSC control (0x%02x)\n", flags);
++
++ status = acpi_pci_osc_control_set(device->handle, &flags,
++ OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL);
++ if (ACPI_SUCCESS(status)) {
++ dev_info(root->bus->bridge,
++ "ACPI _OSC control (0x%02x) granted\n", flags);
++ if (acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_ASPM) {
++ /*
++ * We have ASPM control, but the FADT indicates
++ * that it's unsupported. Clear it.
++ */
++ pcie_clear_aspm(root->bus);
++ }
++ } else {
++ dev_info(root->bus->bridge,
++ "ACPI _OSC request failed (%s), "
++ "returned control mask: 0x%02x\n",
++ acpi_format_exception(status), flags);
++ pr_info("ACPI _OSC control for PCIe not granted, "
++ "disabling ASPM\n");
++ pcie_no_aspm();
++ }
+ } else {
+- pr_info("ACPI _OSC control for PCIe not granted, "
+- "disabling ASPM\n");
+- pcie_no_aspm();
++ dev_info(root->bus->bridge,
++ "Unable to request _OSC control "
++ "(_OSC support mask: 0x%02x)\n", flags);
+ }
+
+ pci_acpi_add_bus_pm_notifier(device, root->bus);
sunrpc-remove-extra-xprt_put.patch
nfsv4-fix-a-memory-leak-in-nfs4_discover_server_trunking.patch
nfsv4-4.1-fix-bugs-in-nfs4_walk_client_list.patch
+drm-i915-fix-build-failure.patch
+x86-fix-rebuild-with-efi_stub-enabled.patch
+revert-pci-acpi-request-_osc-control-before-scanning-pci-root-bus.patch
+thermal-return-an-error-on-failure-to-register-thermal-class.patch
+msi-wmi-fix-memory-leak.patch
+cpufreq-exynos-get-booting-freq-value-in-exynos_cpufreq_init.patch
+arm-exynos-fix-crash-on-soft-reset-on-exynos5440.patch
+drm-i915-add-quirk-to-invert-brightness-on-emachines-g725.patch
+drm-i915-add-quirk-to-invert-brightness-on-emachines-e725.patch
+drm-i915-add-quirk-to-invert-brightness-on-packard-bell-ncl20.patch
--- /dev/null
+From da28d966f6aa942ae836d09729f76a1647932309 Mon Sep 17 00:00:00 2001
+From: Richard Guy Briggs <rbriggs@redhat.com>
+Date: Tue, 12 Feb 2013 19:39:44 +0000
+Subject: thermal: return an error on failure to register thermal class
+
+From: Richard Guy Briggs <rbriggs@redhat.com>
+
+commit da28d966f6aa942ae836d09729f76a1647932309 upstream.
+
+The return code from the registration of the thermal class is used to
+unallocate resources, but this failure isn't passed back to the caller of
+thermal_init. Return this failure back to the caller.
+
+This bug was introduced in changeset 4cb18728 which overwrote the return code
+when the variable was re-used to catch the return code of the registration of
+the genetlink thermal socket family.
+
+Signed-off-by: Richard Guy Briggs <rbriggs@redhat.com>
+Signed-off-by: Zhang Rui <rui.zhang@intel.com>
+Cc: Jonghwan Choi <jhbird.choi@samsung.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/thermal/thermal_sys.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/thermal/thermal_sys.c
++++ b/drivers/thermal/thermal_sys.c
+@@ -1807,6 +1807,7 @@ static int __init thermal_init(void)
+ idr_destroy(&thermal_cdev_idr);
+ mutex_destroy(&thermal_idr_lock);
+ mutex_destroy(&thermal_list_lock);
++ return result;
+ }
+ result = genetlink_init();
+ return result;
--- /dev/null
+From 918708245e92941df16a634dc201b407d12bcd91 Mon Sep 17 00:00:00 2001
+From: Jan Beulich <JBeulich@suse.com>
+Date: Wed, 3 Apr 2013 15:47:33 +0100
+Subject: x86: Fix rebuild with EFI_STUB enabled
+
+From: Jan Beulich <JBeulich@suse.com>
+
+commit 918708245e92941df16a634dc201b407d12bcd91 upstream.
+
+eboot.o and efi_stub_$(BITS).o didn't get added to "targets", and hence
+their .cmd files don't get included by the build machinery, leading to
+the files always getting rebuilt.
+
+Rather than adding the two files individually, take the opportunity and
+add $(VMLINUX_OBJS) to "targets" instead, thus allowing the assignment
+at the top of the file to be shrunk quite a bit.
+
+At the same time, remove a pointless flags override line - the variable
+assigned to was misspelled anyway, and the options added are
+meaningless for assembly sources.
+
+[ hpa: the patch is not minimal, but I am taking it for -urgent anyway
+ since the excess impact of the patch seems to be small enough. ]
+
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+Link: http://lkml.kernel.org/r/515C5D2502000078000CA6AD@nat28.tlf.novell.com
+Cc: Matthew Garrett <mjg@redhat.com>
+Cc: Matt Fleming <matt.fleming@intel.com>
+Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/x86/boot/compressed/Makefile | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+--- a/arch/x86/boot/compressed/Makefile
++++ b/arch/x86/boot/compressed/Makefile
+@@ -4,7 +4,7 @@
+ # create a compressed vmlinux image from the original vmlinux
+ #
+
+-targets := vmlinux.lds vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma vmlinux.bin.xz vmlinux.bin.lzo head_$(BITS).o misc.o string.o cmdline.o early_serial_console.o piggy.o
++targets := vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma vmlinux.bin.xz vmlinux.bin.lzo
+
+ KBUILD_CFLAGS := -m$(BITS) -D__KERNEL__ $(LINUX_INCLUDE) -O2
+ KBUILD_CFLAGS += -fno-strict-aliasing -fPIC
+@@ -29,7 +29,6 @@ VMLINUX_OBJS = $(obj)/vmlinux.lds $(obj)
+ $(obj)/piggy.o
+
+ $(obj)/eboot.o: KBUILD_CFLAGS += -fshort-wchar -mno-red-zone
+-$(obj)/efi_stub_$(BITS).o: KBUILD_CLFAGS += -fshort-wchar -mno-red-zone
+
+ ifeq ($(CONFIG_EFI_STUB), y)
+ VMLINUX_OBJS += $(obj)/eboot.o $(obj)/efi_stub_$(BITS).o
+@@ -43,7 +42,7 @@ OBJCOPYFLAGS_vmlinux.bin := -R .comment
+ $(obj)/vmlinux.bin: vmlinux FORCE
+ $(call if_changed,objcopy)
+
+-targets += vmlinux.bin.all vmlinux.relocs
++targets += $(patsubst $(obj)/%,%,$(VMLINUX_OBJS)) vmlinux.bin.all vmlinux.relocs
+
+ CMD_RELOCS = arch/x86/tools/relocs
+ quiet_cmd_relocs = RELOCS $@