diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index f5f144f..56d6519 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -657,6 +657,7 @@ config PMC_MSP
 	select SERIAL_8250_CONSOLE
 	select USB_EHCI_BIG_ENDIAN_MMIO
 	select USB_EHCI_BIG_ENDIAN_DESC
+	select HAVE_MACH_HEAD_FILES
 	help
 	  This adds support for the PMC-Sierra family of Multi-Service
 	  Processor System-On-A-Chips.  These parts include a number
diff --git a/arch/mips/pci/fixup-pmcmsp.c b/arch/mips/pci/fixup-pmcmsp.c
index 4ad2ef0..45cf610 100644
--- a/arch/mips/pci/fixup-pmcmsp.c
+++ b/arch/mips/pci/fixup-pmcmsp.c
@@ -37,8 +37,8 @@
 
 #include <asm/byteorder.h>
 
-#include <msp_pci.h>
-#include <msp_cic_int.h>
+#include <mach/msp_pci.h>
+#include <mach/msp_cic_int.h>
 
 /* PCI interrupt pins */
 #define IRQ4	MSP_INT_EXT4
diff --git a/arch/mips/pci/ops-pmcmsp.c b/arch/mips/pci/ops-pmcmsp.c
index ad5dd71..b4d44ad 100644
--- a/arch/mips/pci/ops-pmcmsp.c
+++ b/arch/mips/pci/ops-pmcmsp.c
@@ -30,11 +30,11 @@
 #include <asm/mipsmtregs.h>
 #endif
 
-#include <msp_prom.h>
-#include <msp_cic_int.h>
-#include <msp_pci.h>
-#include <msp_regs.h>
-#include <msp_regops.h>
+#include <mach/msp_prom.h>
+#include <mach/msp_cic_int.h>
+#include <mach/msp_pci.h>
+#include <mach/msp_regs.h>
+#include <mach/msp_regops.h>
 
 #define PCI_ACCESS_READ		0
 #define PCI_ACCESS_WRITE	1
diff --git a/arch/mips/pmcs-msp71xx/Platform b/arch/mips/pmcs-msp71xx/Platform
index 7af0734..a15f576 100644
--- a/arch/mips/pmcs-msp71xx/Platform
+++ b/arch/mips/pmcs-msp71xx/Platform
@@ -2,6 +2,6 @@
 # PMC-Sierra MSP SOCs
 #
 platform-$(CONFIG_PMC_MSP)	+= pmcs-msp71xx/
-cflags-$(CONFIG_PMC_MSP)	+= -I$(srctree)/arch/mips/include/asm/mach-pmcs-msp71xx \
+cflags-$(CONFIG_PMC_MSP)	+= -I$(srctree)/arch/mips/pmcs-msp71xx/include \
 					-mno-branch-likely
 load-$(CONFIG_PMC_MSP)		+= 0xffffffff80100000
diff --git a/arch/mips/include/asm/mach-pmcs-msp71xx/cpu-feature-overrides.h b/arch/mips/pmcs-msp71xx/include/mach/cpu-feature-overrides.h
similarity index 100%
rename from arch/mips/include/asm/mach-pmcs-msp71xx/cpu-feature-overrides.h
rename to arch/mips/pmcs-msp71xx/include/mach/cpu-feature-overrides.h
diff --git a/arch/mips/pmcs-msp71xx/include/mach/ioremap.h b/arch/mips/pmcs-msp71xx/include/mach/ioremap.h
new file mode 100644
index 0000000..2369393
--- /dev/null
+++ b/arch/mips/pmcs-msp71xx/include/mach/ioremap.h
@@ -0,0 +1,2 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <asm/mach-generic/ioremap.h>
diff --git a/arch/mips/pmcs-msp71xx/include/mach/irq.h b/arch/mips/pmcs-msp71xx/include/mach/irq.h
new file mode 100644
index 0000000..bb5ccce
--- /dev/null
+++ b/arch/mips/pmcs-msp71xx/include/mach/irq.h
@@ -0,0 +1,2 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <asm/mach-generic/irq.h>
diff --git a/arch/mips/pmcs-msp71xx/include/mach/kernel-entry-init.h b/arch/mips/pmcs-msp71xx/include/mach/kernel-entry-init.h
new file mode 100644
index 0000000..19b872be
--- /dev/null
+++ b/arch/mips/pmcs-msp71xx/include/mach/kernel-entry-init.h
@@ -0,0 +1,2 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <asm/mach-generic/kernel-entry-init.h>
diff --git a/arch/mips/pmcs-msp71xx/include/mach/kmalloc.h b/arch/mips/pmcs-msp71xx/include/mach/kmalloc.h
new file mode 100644
index 0000000..4f056db
--- /dev/null
+++ b/arch/mips/pmcs-msp71xx/include/mach/kmalloc.h
@@ -0,0 +1,2 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <asm/mach-generic/kmalloc.h>
diff --git a/arch/mips/pmcs-msp71xx/include/mach/mangle-port.h b/arch/mips/pmcs-msp71xx/include/mach/mangle-port.h
new file mode 100644
index 0000000..b9736e3
--- /dev/null
+++ b/arch/mips/pmcs-msp71xx/include/mach/mangle-port.h
@@ -0,0 +1,2 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <asm/mach-generic/mangle-port.h>
diff --git a/arch/mips/pmcs-msp71xx/include/mach/mc146818rtc.h b/arch/mips/pmcs-msp71xx/include/mach/mc146818rtc.h
new file mode 100644
index 0000000..7284af8
--- /dev/null
+++ b/arch/mips/pmcs-msp71xx/include/mach/mc146818rtc.h
@@ -0,0 +1,2 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <asm/mach-generic/mc146818rtc.h>
diff --git a/arch/mips/include/asm/mach-pmcs-msp71xx/msp_cic_int.h b/arch/mips/pmcs-msp71xx/include/mach/msp_cic_int.h
similarity index 100%
rename from arch/mips/include/asm/mach-pmcs-msp71xx/msp_cic_int.h
rename to arch/mips/pmcs-msp71xx/include/mach/msp_cic_int.h
diff --git a/arch/mips/include/asm/mach-pmcs-msp71xx/msp_gpio_macros.h b/arch/mips/pmcs-msp71xx/include/mach/msp_gpio_macros.h
similarity index 99%
rename from arch/mips/include/asm/mach-pmcs-msp71xx/msp_gpio_macros.h
rename to arch/mips/pmcs-msp71xx/include/mach/msp_gpio_macros.h
index daacebb..2176203 100644
--- a/arch/mips/include/asm/mach-pmcs-msp71xx/msp_gpio_macros.h
+++ b/arch/mips/pmcs-msp71xx/include/mach/msp_gpio_macros.h
@@ -29,8 +29,8 @@
 #ifndef __MSP_GPIO_MACROS_H__
 #define __MSP_GPIO_MACROS_H__
 
-#include <msp_regops.h>
-#include <msp_regs.h>
+#include <mach/msp_regops.h>
+#include <mach/msp_regs.h>
 
 #ifdef CONFIG_PMC_MSP7120_GW
 #define MSP_NUM_GPIOS		20
diff --git a/arch/mips/include/asm/mach-pmcs-msp71xx/msp_int.h b/arch/mips/pmcs-msp71xx/include/mach/msp_int.h
similarity index 100%
rename from arch/mips/include/asm/mach-pmcs-msp71xx/msp_int.h
rename to arch/mips/pmcs-msp71xx/include/mach/msp_int.h
diff --git a/arch/mips/include/asm/mach-pmcs-msp71xx/msp_pci.h b/arch/mips/pmcs-msp71xx/include/mach/msp_pci.h
similarity index 100%
rename from arch/mips/include/asm/mach-pmcs-msp71xx/msp_pci.h
rename to arch/mips/pmcs-msp71xx/include/mach/msp_pci.h
diff --git a/arch/mips/include/asm/mach-pmcs-msp71xx/msp_prom.h b/arch/mips/pmcs-msp71xx/include/mach/msp_prom.h
similarity index 100%
rename from arch/mips/include/asm/mach-pmcs-msp71xx/msp_prom.h
rename to arch/mips/pmcs-msp71xx/include/mach/msp_prom.h
diff --git a/arch/mips/include/asm/mach-pmcs-msp71xx/msp_regops.h b/arch/mips/pmcs-msp71xx/include/mach/msp_regops.h
similarity index 100%
rename from arch/mips/include/asm/mach-pmcs-msp71xx/msp_regops.h
rename to arch/mips/pmcs-msp71xx/include/mach/msp_regops.h
diff --git a/arch/mips/include/asm/mach-pmcs-msp71xx/msp_regs.h b/arch/mips/pmcs-msp71xx/include/mach/msp_regs.h
similarity index 100%
rename from arch/mips/include/asm/mach-pmcs-msp71xx/msp_regs.h
rename to arch/mips/pmcs-msp71xx/include/mach/msp_regs.h
diff --git a/arch/mips/include/asm/mach-pmcs-msp71xx/msp_slp_int.h b/arch/mips/pmcs-msp71xx/include/mach/msp_slp_int.h
similarity index 100%
rename from arch/mips/include/asm/mach-pmcs-msp71xx/msp_slp_int.h
rename to arch/mips/pmcs-msp71xx/include/mach/msp_slp_int.h
diff --git a/arch/mips/include/asm/mach-pmcs-msp71xx/msp_usb.h b/arch/mips/pmcs-msp71xx/include/mach/msp_usb.h
similarity index 100%
rename from arch/mips/include/asm/mach-pmcs-msp71xx/msp_usb.h
rename to arch/mips/pmcs-msp71xx/include/mach/msp_usb.h
diff --git a/arch/mips/pmcs-msp71xx/include/mach/spaces.h b/arch/mips/pmcs-msp71xx/include/mach/spaces.h
new file mode 100644
index 0000000..39a4d72
--- /dev/null
+++ b/arch/mips/pmcs-msp71xx/include/mach/spaces.h
@@ -0,0 +1,2 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <asm/mach-generic/spaces.h>
diff --git a/arch/mips/pmcs-msp71xx/include/mach/topology.h b/arch/mips/pmcs-msp71xx/include/mach/topology.h
new file mode 100644
index 0000000..86e585b
--- /dev/null
+++ b/arch/mips/pmcs-msp71xx/include/mach/topology.h
@@ -0,0 +1,2 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <asm/mach-generic/topology.h>
diff --git a/arch/mips/include/asm/mach-pmcs-msp71xx/war.h b/arch/mips/pmcs-msp71xx/include/mach/war.h
similarity index 100%
rename from arch/mips/include/asm/mach-pmcs-msp71xx/war.h
rename to arch/mips/pmcs-msp71xx/include/mach/war.h
diff --git a/arch/mips/pmcs-msp71xx/msp_elb.c b/arch/mips/pmcs-msp71xx/msp_elb.c
index 3e96410..540217a 100644
--- a/arch/mips/pmcs-msp71xx/msp_elb.c
+++ b/arch/mips/pmcs-msp71xx/msp_elb.c
@@ -28,7 +28,7 @@
 
 #include <linux/kernel.h>
 #include <linux/init.h>
-#include <msp_regs.h>
+#include <mach/msp_regs.h>
 
 static int __init msp_elb_setup(void)
 {
diff --git a/arch/mips/pmcs-msp71xx/msp_eth.c b/arch/mips/pmcs-msp71xx/msp_eth.c
index 15679b4..b86fb63 100644
--- a/arch/mips/pmcs-msp71xx/msp_eth.c
+++ b/arch/mips/pmcs-msp71xx/msp_eth.c
@@ -29,9 +29,9 @@
 #include <linux/ioport.h>
 #include <linux/platform_device.h>
 #include <linux/delay.h>
-#include <msp_regs.h>
-#include <msp_int.h>
-#include <msp_gpio_macros.h>
+#include <mach/msp_regs.h>
+#include <mach/msp_int.h>
+#include <mach/msp_gpio_macros.h>
 
 
 #define MSP_ETHERNET_GPIO0	14
diff --git a/arch/mips/pmcs-msp71xx/msp_hwbutton.c b/arch/mips/pmcs-msp71xx/msp_hwbutton.c
index bb57ed9..cf53cde 100644
--- a/arch/mips/pmcs-msp71xx/msp_hwbutton.c
+++ b/arch/mips/pmcs-msp71xx/msp_hwbutton.c
@@ -29,9 +29,9 @@
 #include <linux/init.h>
 #include <linux/interrupt.h>
 
-#include <msp_int.h>
-#include <msp_regs.h>
-#include <msp_regops.h>
+#include <mach/msp_int.h>
+#include <mach/msp_regs.h>
+#include <mach/msp_regops.h>
 
 /* For hwbutton_interrupt->initial_state */
 #define HWBUTTON_HI	0x1
diff --git a/arch/mips/pmcs-msp71xx/msp_irq.c b/arch/mips/pmcs-msp71xx/msp_irq.c
index d525cc9..9026969 100644
--- a/arch/mips/pmcs-msp71xx/msp_irq.c
+++ b/arch/mips/pmcs-msp71xx/msp_irq.c
@@ -18,7 +18,7 @@
 #include <asm/irq_cpu.h>
 #include <asm/setup.h>
 
-#include <msp_int.h>
+#include <mach/msp_int.h>
 
 /* SLP bases systems */
 extern void msp_slp_irq_init(void);
diff --git a/arch/mips/pmcs-msp71xx/msp_irq_cic.c b/arch/mips/pmcs-msp71xx/msp_irq_cic.c
index 0706010..623fcd6 100644
--- a/arch/mips/pmcs-msp71xx/msp_irq_cic.c
+++ b/arch/mips/pmcs-msp71xx/msp_irq_cic.c
@@ -13,8 +13,8 @@
 
 #include <asm/mipsregs.h>
 
-#include <msp_cic_int.h>
-#include <msp_regs.h>
+#include <mach/msp_cic_int.h>
+#include <mach/msp_regs.h>
 
 /*
  * External API
diff --git a/arch/mips/pmcs-msp71xx/msp_irq_per.c b/arch/mips/pmcs-msp71xx/msp_irq_per.c
index b284412..3a62427 100644
--- a/arch/mips/pmcs-msp71xx/msp_irq_per.c
+++ b/arch/mips/pmcs-msp71xx/msp_irq_per.c
@@ -13,8 +13,8 @@
 
 #include <asm/mipsregs.h>
 
-#include <msp_cic_int.h>
-#include <msp_regs.h>
+#include <mach/msp_cic_int.h>
+#include <mach/msp_regs.h>
 
 
 /*
diff --git a/arch/mips/pmcs-msp71xx/msp_irq_slp.c b/arch/mips/pmcs-msp71xx/msp_irq_slp.c
index 097a5fd..38b74b3 100644
--- a/arch/mips/pmcs-msp71xx/msp_irq_slp.c
+++ b/arch/mips/pmcs-msp71xx/msp_irq_slp.c
@@ -13,8 +13,8 @@
 
 #include <asm/mipsregs.h>
 
-#include <msp_slp_int.h>
-#include <msp_regs.h>
+#include <mach/msp_slp_int.h>
+#include <mach/msp_regs.h>
 
 static inline void unmask_msp_slp_irq(struct irq_data *d)
 {
diff --git a/arch/mips/pmcs-msp71xx/msp_pci.c b/arch/mips/pmcs-msp71xx/msp_pci.c
index 428dea2..08bac78 100644
--- a/arch/mips/pmcs-msp71xx/msp_pci.c
+++ b/arch/mips/pmcs-msp71xx/msp_pci.c
@@ -26,8 +26,8 @@
 
 #include <linux/init.h>
 
-#include <msp_prom.h>
-#include <msp_regs.h>
+#include <mach/msp_prom.h>
+#include <mach/msp_regs.h>
 
 extern void msp_pci_init(void);
 
diff --git a/arch/mips/pmcs-msp71xx/msp_prom.c b/arch/mips/pmcs-msp71xx/msp_prom.c
index 800a21b..3f78ac8 100644
--- a/arch/mips/pmcs-msp71xx/msp_prom.c
+++ b/arch/mips/pmcs-msp71xx/msp_prom.c
@@ -47,8 +47,8 @@
 #include <asm-generic/sections.h>
 #include <asm/page.h>
 
-#include <msp_prom.h>
-#include <msp_regs.h>
+#include <mach/msp_prom.h>
+#include <mach/msp_regs.h>
 
 /* global PROM environment variables and pointers */
 int prom_argc;
diff --git a/arch/mips/pmcs-msp71xx/msp_serial.c b/arch/mips/pmcs-msp71xx/msp_serial.c
index 940c684..d804d78 100644
--- a/arch/mips/pmcs-msp71xx/msp_serial.c
+++ b/arch/mips/pmcs-msp71xx/msp_serial.c
@@ -35,9 +35,9 @@
 #include <asm/serial.h>
 #include <linux/serial_8250.h>
 
-#include <msp_prom.h>
-#include <msp_int.h>
-#include <msp_regs.h>
+#include <mach/msp_prom.h>
+#include <mach/msp_int.h>
+#include <mach/msp_regs.h>
 
 struct msp_uart_data {
 	int	last_lcr;
diff --git a/arch/mips/pmcs-msp71xx/msp_setup.c b/arch/mips/pmcs-msp71xx/msp_setup.c
index d1e59ce..c7725b3 100644
--- a/arch/mips/pmcs-msp71xx/msp_setup.c
+++ b/arch/mips/pmcs-msp71xx/msp_setup.c
@@ -16,11 +16,11 @@
 #include <asm/smp-ops.h>
 #include <asm/time.h>
 
-#include <msp_prom.h>
-#include <msp_regs.h>
+#include <mach/msp_prom.h>
+#include <mach/msp_regs.h>
 
 #if defined(CONFIG_PMC_MSP7120_GW)
-#include <msp_regops.h>
+#include <mach/msp_regops.h>
 #define MSP_BOARD_RESET_GPIO	9
 #endif
 
diff --git a/arch/mips/pmcs-msp71xx/msp_time.c b/arch/mips/pmcs-msp71xx/msp_time.c
index 9c62982..f8a1027 100644
--- a/arch/mips/pmcs-msp71xx/msp_time.c
+++ b/arch/mips/pmcs-msp71xx/msp_time.c
@@ -20,9 +20,9 @@
 #include <asm/mipsregs.h>
 #include <asm/time.h>
 
-#include <msp_prom.h>
-#include <msp_int.h>
-#include <msp_regs.h>
+#include <mach/msp_prom.h>
+#include <mach/msp_int.h>
+#include <mach/msp_regs.h>
 
 #define get_current_vpe()   \
 	((read_c0_tcbind() >> TCBIND_CURVPE_SHIFT) & TCBIND_CURVPE)
diff --git a/arch/mips/pmcs-msp71xx/msp_usb.c b/arch/mips/pmcs-msp71xx/msp_usb.c
index d38ac70..f12ce4e 100644
--- a/arch/mips/pmcs-msp71xx/msp_usb.c
+++ b/arch/mips/pmcs-msp71xx/msp_usb.c
@@ -31,10 +31,10 @@
 
 #include <asm/mipsregs.h>
 
-#include <msp_regs.h>
-#include <msp_int.h>
-#include <msp_prom.h>
-#include <msp_usb.h>
+#include <mach/msp_regs.h>
+#include <mach/msp_int.h>
+#include <mach/msp_prom.h>
+#include <mach/msp_usb.h>
 
 
 #if defined(CONFIG_USB_EHCI_HCD)
diff --git a/drivers/mtd/maps/pmcmsp-flash.c b/drivers/mtd/maps/pmcmsp-flash.c
index 2051f28..8657034 100644
--- a/drivers/mtd/maps/pmcmsp-flash.c
+++ b/drivers/mtd/maps/pmcmsp-flash.c
@@ -38,8 +38,8 @@
 
 #include <asm/io.h>
 
-#include <msp_prom.h>
-#include <msp_regs.h>
+#include <mach/msp_prom.h>
+#include <mach/msp_regs.h>
 
 
 static struct mtd_info **msp_flash;
