--- /dev/null
+From ben@decadent.org.uk Wed Oct 2 19:49:05 2013
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Mon, 30 Sep 2013 00:53:31 +0100
+Subject: irq: Always define devm_{request_threaded,free}_irq()
+To: stable@vger.kernel.org
+Cc: linux-kernel@vger.kernel.org, Debian kernel maintainers <debian-kernel@lists.debian.org>, linux-s390@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>
+Message-ID: <1380498811.14493.7.camel@deadeye.wl.decadent.org.uk>
+
+From: Ben Hutchings <ben@decadent.org.uk>
+
+This is only needed for 3.11, as s390 has now been changed to use the
+generic IRQ code upstream.
+
+These functions are currently defined only if CONFIG_GENERIC_HARDIRQS
+is enabled. But they are still needed on s390 which has its own IRQ
+management.
+
+References: https://buildd.debian.org/status/fetch.php?pkg=linux&arch=s390&ver=3.11%7Erc4-1%7Eexp1&stamp=1376009959
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+---
+ kernel/Makefile | 2 +-
+ kernel/irq/Makefile | 6 ++++--
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+--- a/kernel/Makefile
++++ b/kernel/Makefile
+@@ -79,7 +79,7 @@ obj-$(CONFIG_KPROBES) += kprobes.o
+ obj-$(CONFIG_KGDB) += debug/
+ obj-$(CONFIG_DETECT_HUNG_TASK) += hung_task.o
+ obj-$(CONFIG_LOCKUP_DETECTOR) += watchdog.o
+-obj-$(CONFIG_GENERIC_HARDIRQS) += irq/
++obj-y += irq/
+ obj-$(CONFIG_SECCOMP) += seccomp.o
+ obj-$(CONFIG_RCU_TORTURE_TEST) += rcutorture.o
+ obj-$(CONFIG_TREE_RCU) += rcutree.o
+--- a/kernel/irq/Makefile
++++ b/kernel/irq/Makefile
+@@ -1,8 +1,10 @@
+-
+-obj-y := irqdesc.o handle.o manage.o spurious.o resend.o chip.o dummychip.o devres.o
++obj-y += devres.o
++ifdef CONFIG_GENERIC_HARDIRQS
++obj-y += irqdesc.o handle.o manage.o spurious.o resend.o chip.o dummychip.o
+ obj-$(CONFIG_GENERIC_IRQ_CHIP) += generic-chip.o
+ obj-$(CONFIG_GENERIC_IRQ_PROBE) += autoprobe.o
+ obj-$(CONFIG_IRQ_DOMAIN) += irqdomain.o
+ obj-$(CONFIG_PROC_FS) += proc.o
+ obj-$(CONFIG_GENERIC_PENDING_IRQ) += migration.o
+ obj-$(CONFIG_PM_SLEEP) += pm.o
++endif