diff --git a/arch/frv/Kconfig b/arch/frv/Kconfig
index 968a33027831d2c9172b268d5aa5d49bcddd57a8..3824132dba9e096b06c92121b5b55335f11387ed 100644
--- a/arch/frv/Kconfig
+++ b/arch/frv/Kconfig
@@ -6,6 +6,7 @@ config FRV
 	select HAVE_IRQ_WORK
 	select HAVE_PERF_EVENTS
 	select HAVE_GENERIC_HARDIRQS
+	select GENERIC_HARDIRQS_NO_DEPRECATED
 
 config ZONE_DMA
 	bool
diff --git a/arch/frv/kernel/irq.c b/arch/frv/kernel/irq.c
index deaba569007f43ef770c362e197fd702bf808853..d2365a7d7c57e2815e6abe1d4500893e88205b64 100644
--- a/arch/frv/kernel/irq.c
+++ b/arch/frv/kernel/irq.c
@@ -74,7 +74,8 @@ int show_interrupts(struct seq_file *p, void *v)
 			seq_printf(p, "%3d: ", i);
 			for_each_present_cpu(cpu)
 				seq_printf(p, "%10u ", kstat_irqs_cpu(i, cpu));
-			seq_printf(p, " %10s", irq_desc[i].chip->name ? : "-");
+			seq_printf(p, " %10s",
+				   irq_desc[i].irq_data.chip->name ? : "-");
 			seq_printf(p, "  %s", action->name);
 			for (action = action->next;
 			     action;