diff --git a/arch/arm/include/irq_arm.h b/arch/arm/include/arm/irq.h
similarity index 97%
rename from arch/arm/include/irq_arm.h
rename to arch/arm/include/arm/irq.h
index efaa5f81676347da8998d43b869a00bca80c0ec5..11c2bb0463639bc386b75304db08f5b96215cd47 100644
--- a/arch/arm/include/irq_arm.h
+++ b/arch/arm/include/arm/irq.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * arch/arm/include/irq_arm.h
+ * arch/arm/include/arm/irq.h
  *
  *   Copyright (C) 2009 Gregory Nutt. All rights reserved.
  *   Author: Gregory Nutt <spudmonkey@racsa.co.cr>
@@ -37,8 +37,8 @@
  * through nuttx/irq.h
  */
 
-#ifndef __ARCH_ARM_INCLUDE_IRQ_ARM_H
-#define __ARCH_ARM_INCLUDE_IRQ_ARM_H
+#ifndef __ARCH_ARM_INCLUDE_ARM_IRQ_H
+#define __ARCH_ARM_INCLUDE_ARM_IRQ_H
 
 /****************************************************************************
  * Included Files
@@ -225,5 +225,5 @@ extern "C" {
 #endif
 #endif
 
-#endif /* __ARCH_ARM_INCLUDE_IRQ_ARM_H */
+#endif /* __ARCH_ARM_INCLUDE_ARM_IRQ_H */
 
diff --git a/arch/arm/include/irq_cortexm3.h b/arch/arm/include/cortexm3/irq.h
similarity index 97%
rename from arch/arm/include/irq_cortexm3.h
rename to arch/arm/include/cortexm3/irq.h
index a08b7e2f81c1c13fe6f9fb45091969b307c075b6..ce126748a6b26ac7029196dcd153b50e09c802cc 100644
--- a/arch/arm/include/irq_cortexm3.h
+++ b/arch/arm/include/cortexm3/irq.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * arch/arm/include/irq_cortexm3.h
+ * arch/arm/include/cortexm3/irq.h
  *
  *   Copyright (C) 2009 Gregory Nutt. All rights reserved.
  *   Author: Gregory Nutt <spudmonkey@racsa.co.cr>
@@ -37,8 +37,8 @@
  * through nuttx/irq.h
  */
 
-#ifndef __ARCH_ARM_INCLUDE_IRQ_THUMB2_H
-#define __ARCH_ARM_INCLUDE_IRQ_THUMB2_H
+#ifndef __ARCH_ARM_INCLUDE_CORTEXM3_IRQ_H
+#define __ARCH_ARM_INCLUDE_CORTEXM3_IRQ_H
 
 /****************************************************************************
  * Included Files
@@ -286,5 +286,5 @@ extern "C" {
 #endif
 #endif
 
-#endif /* __ARCH_ARM_INCLUDE_IRQ_THUMB2_H */
+#endif /* __ARCH_ARM_INCLUDE_CORTEXM3_IRQ_H */
 
diff --git a/arch/arm/include/irq.h b/arch/arm/include/irq.h
index dabd35f418dc3f6d64b3effdfef89fef9afd1609..2ee4123349b58ca3c71dbce1155dc009d159ca93 100644
--- a/arch/arm/include/irq.h
+++ b/arch/arm/include/irq.h
@@ -44,13 +44,22 @@
  * Included Files
  ****************************************************************************/
 
+/* Include NuttX-specific IRQ definitions */
+
 #include <nuttx/irq.h>
+
+/* Include chip-specific IRQ definitions (including IRQ numbers) */
+
 #include <arch/chip/irq.h>
 
-#ifdef __thumb2__
-# include <arch/irq_cortexm3.h>
+/* Include ARM architectgure-specific IRQ definitions (including register
+ * save structure and irqsave()/irqrestore() macros
+ */
+
+#ifdef CONFIG_ARCH_CORTEXM3
+# include <arch/cortexm3/irq.h>
 #else
-# include <arch/irq_arm.h>
+# include <arch/arm/irq.h>
 #endif
 
 /****************************************************************************