sh: migrate to arch/sh/include/

This follows the sparc changes a439fe51a1f8eb087c22dd24d69cebae4a3addac.

Most of the moving about was done with Sam's directions at:

http://marc.info/?l=linux-sh&m=121724823706062&w=2

with subsequent hacking and fixups entirely my fault.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
diff --git a/arch/sh/Makefile b/arch/sh/Makefile
index c627e45..fbf8756 100644
--- a/arch/sh/Makefile
+++ b/arch/sh/Makefile
@@ -91,8 +91,6 @@
 LDFLAGS			+= -EB
 endif
 
-KBUILD_CFLAGS		+= -pipe $(cflags-y)
-KBUILD_AFLAGS		+= $(cflags-y)
 
 head-y			:= arch/sh/kernel/init_task.o
 head-$(CONFIG_SUPERH32)	+= arch/sh/kernel/head_32.o
@@ -160,57 +158,17 @@
 
 boot := arch/sh/boot
 
-ifneq ($(KBUILD_SRC),)
-incdir-prefix	:= $(srctree)/include/asm-sh/
-else
-incdir-prefix	:=
-endif
+cflags-y	+= -Iarch/sh/include/$(cpuincdir-y)
+cflags-y	+= $(foreach d, $(incdir-y), -Iarch/sh/include/mach-$(d))
 
-#	Update machine arch and proc symlinks if something which affects
-#	them changed.  We use .arch and .mach to indicate when they were
-#	updated last, otherwise make uses the target directory mtime.
-
-include/asm-sh/.cpu: $(wildcard include/config/cpu/*.h) \
-		     include/config/auto.conf FORCE
-	@echo '  SYMLINK include/asm-sh/cpu -> include/asm-sh/$(cpuincdir-y)'
-	$(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi
-	$(Q)ln -fsn $(incdir-prefix)$(cpuincdir-y) include/asm-sh/cpu
-	@touch $@
-
-#	Most boards have their own mach directories.  For the ones that
-#	don't, just reference the parent directory so the semantics are
-#	kept roughly the same.
-#
-#	When multiple boards are compiled in at the same time, preference
-#	for the mach link is given to whichever has a directory for its
-#	headers. However, this is only a workaround until platforms that
-#	can live in the same kernel image back away from relying on the
-#	mach link.
-
-include/asm-sh/.mach: $(wildcard include/config/sh/*.h) \
-		      include/config/auto.conf FORCE
-	$(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi
-	$(Q)rm -f include/asm-sh/mach
-	$(Q)for i in $(incdir-y); do \
-	if [ -d $(srctree)/include/asm-sh/$$i ]; then \
-		echo -n '  SYMLINK include/asm-sh/mach -> '; \
-		echo -e "include/asm-sh/$$i"; \
-		ln -fsn $(incdir-prefix)$$i \
-			include/asm-sh/mach; \
-	else \
-		if [ ! -d include/asm-sh/mach ]; then \
-			echo -n '  SYMLINK include/asm-sh/mach -> '; \
-			echo -e 'include/asm-sh'; \
-			ln -fsn $(incdir-prefix)../asm-sh include/asm-sh/mach; \
-		fi; \
-	fi; \
-	done
-	@touch $@
+KBUILD_CFLAGS		+= -pipe $(cflags-y)
+KBUILD_CPPFLAGS		+= $(cflags-y)
+KBUILD_AFLAGS		+= $(cflags-y)
 
 PHONY += maketools FORCE
 
 maketools:  include/linux/version.h FORCE
-	$(Q)$(MAKE) $(build)=arch/sh/tools include/asm-sh/machtypes.h
+	$(Q)$(MAKE) $(build)=arch/sh/tools arch/sh/include/asm/machtypes.h
 
 all: $(KBUILD_IMAGE)
 
@@ -219,8 +177,7 @@
 
 compressed: zImage
 
-archprepare: include/asm-sh/.cpu include/asm-sh/.mach maketools \
-	     arch/sh/lib64/syscalltab.h
+archprepare: maketools arch/sh/lib64/syscalltab.h
 
 archclean:
 	$(Q)$(MAKE) $(clean)=$(boot)
@@ -262,6 +219,4 @@
 	$(call filechk,gen-syscalltab)
 
 CLEAN_FILES += arch/sh/lib64/syscalltab.h \
-	       include/asm-sh/machtypes.h \
-	       include/asm-sh/cpu include/asm-sh/.cpu \
-	       include/asm-sh/mach include/asm-sh/.mach
+	       arch/sh/include/asm/machtypes.h
diff --git a/arch/sh/boards/cayman/irq.c b/arch/sh/boards/cayman/irq.c
index 30ec7be..ceb37ae 100644
--- a/arch/sh/boards/cayman/irq.c
+++ b/arch/sh/boards/cayman/irq.c
@@ -13,7 +13,7 @@
 #include <linux/irq.h>
 #include <linux/interrupt.h>
 #include <linux/signal.h>
-#include <asm/cpu/irq.h>
+#include <cpu/irq.h>
 #include <asm/page.h>
 
 /* Setup for the SMSC FDC37C935 / LAN91C100FD */
diff --git a/arch/sh/boards/cayman/setup.c b/arch/sh/boards/cayman/setup.c
index 8c9fa47..e7f9cc5 100644
--- a/arch/sh/boards/cayman/setup.c
+++ b/arch/sh/boards/cayman/setup.c
@@ -13,7 +13,7 @@
 #include <linux/init.h>
 #include <linux/io.h>
 #include <linux/kernel.h>
-#include <asm/cpu/irq.h>
+#include <cpu/irq.h>
 
 /*
  * Platform Dependent Interrupt Priorities.
diff --git a/arch/sh/boards/dreamcast/irq.c b/arch/sh/boards/dreamcast/irq.c
index 9d0673a..67bdc33 100644
--- a/arch/sh/boards/dreamcast/irq.c
+++ b/arch/sh/boards/dreamcast/irq.c
@@ -12,7 +12,7 @@
 #include <linux/irq.h>
 #include <asm/io.h>
 #include <asm/irq.h>
-#include <asm/dreamcast/sysasic.h>
+#include <mach/sysasic.h>
 
 /* Dreamcast System ASIC Hardware Events -
 
diff --git a/arch/sh/boards/dreamcast/setup.c b/arch/sh/boards/dreamcast/setup.c
index 2581c8c..14c3e57 100644
--- a/arch/sh/boards/dreamcast/setup.c
+++ b/arch/sh/boards/dreamcast/setup.c
@@ -25,8 +25,8 @@
 #include <asm/io.h>
 #include <asm/irq.h>
 #include <asm/rtc.h>
-#include <asm/machvec.h>
-#include <asm/mach/sysasic.h>
+#include <machvec.h>
+#include <mach/sysasic.h>
 
 extern struct hw_interrupt_type systemasic_int;
 extern void aica_time_init(void);
diff --git a/arch/sh/boards/hp6xx/pm.c b/arch/sh/boards/hp6xx/pm.c
index d22f6ea..e96684d 100644
--- a/arch/sh/boards/hp6xx/pm.c
+++ b/arch/sh/boards/hp6xx/pm.c
@@ -13,7 +13,7 @@
 #include <asm/io.h>
 #include <asm/hd64461.h>
 #include <asm/hp6xx.h>
-#include <asm/cpu/dac.h>
+#include <cpu/dac.h>
 #include <asm/pm.h>
 
 #define STBCR		0xffffff82
diff --git a/arch/sh/boards/hp6xx/pm_wakeup.S b/arch/sh/boards/hp6xx/pm_wakeup.S
index 45e9bf0..44b648c 100644
--- a/arch/sh/boards/hp6xx/pm_wakeup.S
+++ b/arch/sh/boards/hp6xx/pm_wakeup.S
@@ -8,7 +8,7 @@
  */
 
 #include <linux/linkage.h>
-#include <asm/cpu/mmu_context.h>
+#include <cpu/mmu_context.h>
 
 #define k0	r0
 #define k1	r1
diff --git a/arch/sh/boards/hp6xx/setup.c b/arch/sh/boards/hp6xx/setup.c
index 2f414ac..475b46c 100644
--- a/arch/sh/boards/hp6xx/setup.c
+++ b/arch/sh/boards/hp6xx/setup.c
@@ -16,7 +16,7 @@
 #include <asm/io.h>
 #include <asm/irq.h>
 #include <asm/hp6xx.h>
-#include <asm/cpu/dac.h>
+#include <cpu/dac.h>
 
 #define	SCPCR	0xa4000116
 #define	SCPDR	0xa4000136
diff --git a/arch/sh/boards/landisk/gio.c b/arch/sh/boards/landisk/gio.c
index 0c15b0a..edcde08 100644
--- a/arch/sh/boards/landisk/gio.c
+++ b/arch/sh/boards/landisk/gio.c
@@ -20,8 +20,8 @@
 #include <linux/fs.h>
 #include <asm/io.h>
 #include <asm/uaccess.h>
-#include <asm/landisk/gio.h>
-#include <asm/landisk/iodata_landisk.h>
+#include <mach/gio.h>
+#include <mach/iodata_landisk.h>
 
 #define DEVCOUNT                4
 #define GIO_MINOR	        2	/* GIO minor no. */
diff --git a/arch/sh/boards/landisk/irq.c b/arch/sh/boards/landisk/irq.c
index 2586494..d0f9378 100644
--- a/arch/sh/boards/landisk/irq.c
+++ b/arch/sh/boards/landisk/irq.c
@@ -16,7 +16,7 @@
 #include <linux/irq.h>
 #include <linux/interrupt.h>
 #include <linux/io.h>
-#include <asm/landisk/iodata_landisk.h>
+#include <mach/iodata_landisk.h>
 
 static void disable_landisk_irq(unsigned int irq)
 {
diff --git a/arch/sh/boards/landisk/psw.c b/arch/sh/boards/landisk/psw.c
index 5a9b70b..4bd502c 100644
--- a/arch/sh/boards/landisk/psw.c
+++ b/arch/sh/boards/landisk/psw.c
@@ -14,7 +14,7 @@
 #include <linux/init.h>
 #include <linux/interrupt.h>
 #include <linux/platform_device.h>
-#include <asm/landisk/iodata_landisk.h>
+#include <mach/iodata_landisk.h>
 #include <asm/push-switch.h>
 
 static irqreturn_t psw_irq_handler(int irq, void *arg)
diff --git a/arch/sh/boards/landisk/setup.c b/arch/sh/boards/landisk/setup.c
index 2b708ec..470c781 100644
--- a/arch/sh/boards/landisk/setup.c
+++ b/arch/sh/boards/landisk/setup.c
@@ -18,7 +18,7 @@
 #include <linux/pm.h>
 #include <linux/mm.h>
 #include <asm/machvec.h>
-#include <asm/landisk/iodata_landisk.h>
+#include <mach/iodata_landisk.h>
 #include <asm/io.h>
 
 void init_landisk_IRQ(void);
diff --git a/arch/sh/boards/renesas/r7780rp/psw.c b/arch/sh/boards/renesas/r7780rp/psw.c
index c844dfa..0b3e062 100644
--- a/arch/sh/boards/renesas/r7780rp/psw.c
+++ b/arch/sh/boards/renesas/r7780rp/psw.c
@@ -13,7 +13,7 @@
 #include <linux/init.h>
 #include <linux/interrupt.h>
 #include <linux/platform_device.h>
-#include <asm/mach/r7780rp.h>
+#include <mach/r7780rp.h>
 #include <asm/push-switch.h>
 
 static irqreturn_t psw_irq_handler(int irq, void *arg)
diff --git a/arch/sh/boards/se/7343/io.c b/arch/sh/boards/se/7343/io.c
index 3a6d114..e2fae32 100644
--- a/arch/sh/boards/se/7343/io.c
+++ b/arch/sh/boards/se/7343/io.c
@@ -6,7 +6,7 @@
  */
 #include <linux/kernel.h>
 #include <asm/io.h>
-#include <asm/mach/se7343.h>
+#include <mach/se7343.h>
 
 #define badio(fn, a) panic("bad i/o operation %s for %08lx.", #fn, a)
 
diff --git a/arch/sh/boards/se/7343/setup.c b/arch/sh/boards/se/7343/setup.c
index 8ae718d..59dc92e 100644
--- a/arch/sh/boards/se/7343/setup.c
+++ b/arch/sh/boards/se/7343/setup.c
@@ -1,8 +1,8 @@
 #include <linux/init.h>
 #include <linux/platform_device.h>
 #include <linux/mtd/physmap.h>
-#include <asm/machvec.h>
-#include <asm/mach/se7343.h>
+#include <machvec.h>
+#include <mach/se7343.h>
 #include <asm/heartbeat.h>
 #include <asm/irq.h>
 #include <asm/io.h>
diff --git a/arch/sh/boards/sh03/setup.c b/arch/sh/boards/sh03/setup.c
index 934ac4f1..cd9cff1 100644
--- a/arch/sh/boards/sh03/setup.c
+++ b/arch/sh/boards/sh03/setup.c
@@ -11,8 +11,8 @@
 #include <linux/platform_device.h>
 #include <asm/io.h>
 #include <asm/rtc.h>
-#include <asm/sh03/io.h>
-#include <asm/sh03/sh03.h>
+#include <mach/io.h>
+#include <mach/sh03.h>
 #include <asm/addrspace.h>
 
 static void __init init_sh03_IRQ(void)
diff --git a/arch/sh/boards/snapgear/setup.c b/arch/sh/boards/snapgear/setup.c
index 7022483..a5e349d 100644
--- a/arch/sh/boards/snapgear/setup.c
+++ b/arch/sh/boards/snapgear/setup.c
@@ -22,7 +22,7 @@
 #include <asm/snapgear.h>
 #include <asm/irq.h>
 #include <asm/io.h>
-#include <asm/cpu/timer.h>
+#include <cpu/timer.h>
 
 /*
  * EraseConfig handling functions
diff --git a/arch/sh/boot/compressed/head_64.S b/arch/sh/boot/compressed/head_64.S
index f72c198..622eac3 100644
--- a/arch/sh/boot/compressed/head_64.S
+++ b/arch/sh/boot/compressed/head_64.S
@@ -14,8 +14,8 @@
  *   Copyright (C) 2002 Stuart Menefy (stuart.menefy@st.com)
  */
 #include <asm/cache.h>
-#include <asm/cpu/mmu_context.h>
-#include <asm/cpu/registers.h>
+#include <cpu/mmu_context.h>
+#include <cpu/registers.h>
 
 /*
  * Fixed TLB entries to identity map the beginning of RAM
diff --git a/arch/sh/drivers/dma/dma-g2.c b/arch/sh/drivers/dma/dma-g2.c
index 0caf11b..af7bb58 100644
--- a/arch/sh/drivers/dma/dma-g2.c
+++ b/arch/sh/drivers/dma/dma-g2.c
@@ -14,8 +14,8 @@
 #include <linux/module.h>
 #include <linux/interrupt.h>
 #include <asm/cacheflush.h>
-#include <asm/mach/sysasic.h>
-#include <asm/mach/dma.h>
+#include <mach/sysasic.h>
+#include <mach/dma.h>
 #include <asm/dma.h>
 
 struct g2_channel {
diff --git a/arch/sh/drivers/dma/dma-pvr2.c b/arch/sh/drivers/dma/dma-pvr2.c
index 838fad5..391cbe1 100644
--- a/arch/sh/drivers/dma/dma-pvr2.c
+++ b/arch/sh/drivers/dma/dma-pvr2.c
@@ -13,8 +13,8 @@
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/interrupt.h>
-#include <asm/mach/sysasic.h>
-#include <asm/mach/dma.h>
+#include <mach/sysasic.h>
+#include <mach/dma.h>
 #include <asm/dma.h>
 #include <asm/io.h>
 
diff --git a/arch/sh/drivers/dma/dma-sh.c b/arch/sh/drivers/dma/dma-sh.c
index 71ff3d6..bd30548 100644
--- a/arch/sh/drivers/dma/dma-sh.c
+++ b/arch/sh/drivers/dma/dma-sh.c
@@ -14,7 +14,7 @@
 #include <linux/init.h>
 #include <linux/interrupt.h>
 #include <linux/module.h>
-#include <asm/dreamcast/dma.h>
+#include <mach/dma.h>
 #include <asm/dma.h>
 #include <asm/io.h>
 #include "dma-sh.h"
diff --git a/arch/sh/drivers/dma/dma-sh.h b/arch/sh/drivers/dma/dma-sh.h
index 0f591fb..b05af34 100644
--- a/arch/sh/drivers/dma/dma-sh.h
+++ b/arch/sh/drivers/dma/dma-sh.h
@@ -11,7 +11,7 @@
 #ifndef __DMA_SH_H
 #define __DMA_SH_H
 
-#include <asm/cpu/dma.h>
+#include <cpu/dma.h>
 
 /* Definitions for the SuperH DMAC */
 #define REQ_L	0x00000000
diff --git a/arch/sh/drivers/pci/fixups-dreamcast.c b/arch/sh/drivers/pci/fixups-dreamcast.c
index c446993..2bf85cf 100644
--- a/arch/sh/drivers/pci/fixups-dreamcast.c
+++ b/arch/sh/drivers/pci/fixups-dreamcast.c
@@ -26,7 +26,7 @@
 
 #include <asm/io.h>
 #include <asm/irq.h>
-#include <asm/mach/pci.h>
+#include <mach/pci.h>
 
 static void __init gapspci_fixup_resources(struct pci_dev *dev)
 {
diff --git a/arch/sh/drivers/pci/ops-cayman.c b/arch/sh/drivers/pci/ops-cayman.c
index 980275f..5ccf9ea 100644
--- a/arch/sh/drivers/pci/ops-cayman.c
+++ b/arch/sh/drivers/pci/ops-cayman.c
@@ -2,7 +2,7 @@
 #include <linux/init.h>
 #include <linux/pci.h>
 #include <linux/types.h>
-#include <asm/cpu/irq.h>
+#include <cpu/irq.h>
 #include "pci-sh5.h"
 
 static inline u8 bridge_swizzle(u8 pin, u8 slot)
diff --git a/arch/sh/drivers/pci/ops-dreamcast.c b/arch/sh/drivers/pci/ops-dreamcast.c
index f54c291..f5d2a2a 100644
--- a/arch/sh/drivers/pci/ops-dreamcast.c
+++ b/arch/sh/drivers/pci/ops-dreamcast.c
@@ -26,7 +26,7 @@
 
 #include <asm/io.h>
 #include <asm/irq.h>
-#include <asm/mach/pci.h>
+#include <mach/pci.h>
 
 static struct resource gapspci_io_resource = {
 	.name	= "GAPSPCI IO",
diff --git a/arch/sh/drivers/pci/pci-sh5.c b/arch/sh/drivers/pci/pci-sh5.c
index a00a4df..7a97438 100644
--- a/arch/sh/drivers/pci/pci-sh5.c
+++ b/arch/sh/drivers/pci/pci-sh5.c
@@ -19,7 +19,7 @@
 #include <linux/delay.h>
 #include <linux/types.h>
 #include <linux/irq.h>
-#include <asm/cpu/irq.h>
+#include <cpu/irq.h>
 #include <asm/pci.h>
 #include <asm/io.h>
 #include "pci-sh5.h"
diff --git a/arch/sh/include/asm/.gitignore b/arch/sh/include/asm/.gitignore
new file mode 100644
index 0000000..378db77
--- /dev/null
+++ b/arch/sh/include/asm/.gitignore
@@ -0,0 +1 @@
+machtypes.h
diff --git a/include/asm-sh/Kbuild b/arch/sh/include/asm/Kbuild
similarity index 100%
rename from include/asm-sh/Kbuild
rename to arch/sh/include/asm/Kbuild
diff --git a/include/asm-sh/a.out.h b/arch/sh/include/asm/a.out.h
similarity index 100%
rename from include/asm-sh/a.out.h
rename to arch/sh/include/asm/a.out.h
diff --git a/include/asm-sh/adc.h b/arch/sh/include/asm/adc.h
similarity index 88%
rename from include/asm-sh/adc.h
rename to arch/sh/include/asm/adc.h
index 5f85cf7..48824c1 100644
--- a/include/asm-sh/adc.h
+++ b/arch/sh/include/asm/adc.h
@@ -5,7 +5,7 @@
  * Copyright (C) 2004  Andriy Skulysh
  */
 
-#include <asm/cpu/adc.h>
+#include <cpu/adc.h>
 
 int adc_single(unsigned int channel);
 
diff --git a/include/asm-sh/addrspace.h b/arch/sh/include/asm/addrspace.h
similarity index 97%
rename from include/asm-sh/addrspace.h
rename to arch/sh/include/asm/addrspace.h
index fa544fc..2702d81 100644
--- a/include/asm-sh/addrspace.h
+++ b/arch/sh/include/asm/addrspace.h
@@ -12,7 +12,7 @@
 
 #ifdef __KERNEL__
 
-#include <asm/cpu/addrspace.h>
+#include <cpu/addrspace.h>
 
 /* If this CPU supports segmentation, hook up the helpers */
 #ifdef P1SEG
diff --git a/include/asm-sh/atomic-grb.h b/arch/sh/include/asm/atomic-grb.h
similarity index 100%
rename from include/asm-sh/atomic-grb.h
rename to arch/sh/include/asm/atomic-grb.h
diff --git a/include/asm-sh/atomic-irq.h b/arch/sh/include/asm/atomic-irq.h
similarity index 100%
rename from include/asm-sh/atomic-irq.h
rename to arch/sh/include/asm/atomic-irq.h
diff --git a/include/asm-sh/atomic-llsc.h b/arch/sh/include/asm/atomic-llsc.h
similarity index 100%
rename from include/asm-sh/atomic-llsc.h
rename to arch/sh/include/asm/atomic-llsc.h
diff --git a/include/asm-sh/atomic.h b/arch/sh/include/asm/atomic.h
similarity index 100%
rename from include/asm-sh/atomic.h
rename to arch/sh/include/asm/atomic.h
diff --git a/include/asm-sh/auxvec.h b/arch/sh/include/asm/auxvec.h
similarity index 100%
rename from include/asm-sh/auxvec.h
rename to arch/sh/include/asm/auxvec.h
diff --git a/include/asm-sh/bitops-grb.h b/arch/sh/include/asm/bitops-grb.h
similarity index 100%
rename from include/asm-sh/bitops-grb.h
rename to arch/sh/include/asm/bitops-grb.h
diff --git a/include/asm-sh/bitops-irq.h b/arch/sh/include/asm/bitops-irq.h
similarity index 100%
rename from include/asm-sh/bitops-irq.h
rename to arch/sh/include/asm/bitops-irq.h
diff --git a/include/asm-sh/bitops.h b/arch/sh/include/asm/bitops.h
similarity index 100%
rename from include/asm-sh/bitops.h
rename to arch/sh/include/asm/bitops.h
diff --git a/include/asm-sh/bug.h b/arch/sh/include/asm/bug.h
similarity index 100%
rename from include/asm-sh/bug.h
rename to arch/sh/include/asm/bug.h
diff --git a/include/asm-sh/bugs.h b/arch/sh/include/asm/bugs.h
similarity index 100%
rename from include/asm-sh/bugs.h
rename to arch/sh/include/asm/bugs.h
diff --git a/include/asm-sh/byteorder.h b/arch/sh/include/asm/byteorder.h
similarity index 100%
rename from include/asm-sh/byteorder.h
rename to arch/sh/include/asm/byteorder.h
diff --git a/include/asm-sh/cache.h b/arch/sh/include/asm/cache.h
similarity index 97%
rename from include/asm-sh/cache.h
rename to arch/sh/include/asm/cache.h
index 083419f..02df18e 100644
--- a/include/asm-sh/cache.h
+++ b/arch/sh/include/asm/cache.h
@@ -10,7 +10,7 @@
 #ifdef __KERNEL__
 
 #include <linux/init.h>
-#include <asm/cpu/cache.h>
+#include <cpu/cache.h>
 
 #define L1_CACHE_BYTES		(1 << L1_CACHE_SHIFT)
 
diff --git a/include/asm-sh/cacheflush.h b/arch/sh/include/asm/cacheflush.h
similarity index 98%
rename from include/asm-sh/cacheflush.h
rename to arch/sh/include/asm/cacheflush.h
index e034c36..09acbc3 100644
--- a/include/asm-sh/cacheflush.h
+++ b/arch/sh/include/asm/cacheflush.h
@@ -27,7 +27,7 @@
 #define __flush_purge_region(start, size)	do { (void)(start); } while (0)
 #define __flush_invalidate_region(start, size)	do { (void)(start); } while (0)
 #else
-#include <asm/cpu/cacheflush.h>
+#include <cpu/cacheflush.h>
 
 /*
  * Consistent DMA requires that the __flush_xxx() primitives must be set
diff --git a/include/asm-sh/checksum.h b/arch/sh/include/asm/checksum.h
similarity index 100%
rename from include/asm-sh/checksum.h
rename to arch/sh/include/asm/checksum.h
diff --git a/include/asm-sh/checksum_32.h b/arch/sh/include/asm/checksum_32.h
similarity index 100%
rename from include/asm-sh/checksum_32.h
rename to arch/sh/include/asm/checksum_32.h
diff --git a/include/asm-sh/checksum_64.h b/arch/sh/include/asm/checksum_64.h
similarity index 100%
rename from include/asm-sh/checksum_64.h
rename to arch/sh/include/asm/checksum_64.h
diff --git a/include/asm-sh/clock.h b/arch/sh/include/asm/clock.h
similarity index 100%
rename from include/asm-sh/clock.h
rename to arch/sh/include/asm/clock.h
diff --git a/include/asm-sh/cmpxchg-grb.h b/arch/sh/include/asm/cmpxchg-grb.h
similarity index 100%
rename from include/asm-sh/cmpxchg-grb.h
rename to arch/sh/include/asm/cmpxchg-grb.h
diff --git a/include/asm-sh/cmpxchg-irq.h b/arch/sh/include/asm/cmpxchg-irq.h
similarity index 100%
rename from include/asm-sh/cmpxchg-irq.h
rename to arch/sh/include/asm/cmpxchg-irq.h
diff --git a/include/asm-sh/cpu-features.h b/arch/sh/include/asm/cpu-features.h
similarity index 100%
rename from include/asm-sh/cpu-features.h
rename to arch/sh/include/asm/cpu-features.h
diff --git a/include/asm-sh/cputime.h b/arch/sh/include/asm/cputime.h
similarity index 100%
rename from include/asm-sh/cputime.h
rename to arch/sh/include/asm/cputime.h
diff --git a/include/asm-sh/current.h b/arch/sh/include/asm/current.h
similarity index 100%
rename from include/asm-sh/current.h
rename to arch/sh/include/asm/current.h
diff --git a/include/asm-sh/delay.h b/arch/sh/include/asm/delay.h
similarity index 100%
rename from include/asm-sh/delay.h
rename to arch/sh/include/asm/delay.h
diff --git a/include/asm-sh/device.h b/arch/sh/include/asm/device.h
similarity index 100%
rename from include/asm-sh/device.h
rename to arch/sh/include/asm/device.h
diff --git a/include/asm-sh/div64.h b/arch/sh/include/asm/div64.h
similarity index 100%
rename from include/asm-sh/div64.h
rename to arch/sh/include/asm/div64.h
diff --git a/include/asm-sh/dma-mapping.h b/arch/sh/include/asm/dma-mapping.h
similarity index 100%
rename from include/asm-sh/dma-mapping.h
rename to arch/sh/include/asm/dma-mapping.h
diff --git a/include/asm-sh/dma.h b/arch/sh/include/asm/dma.h
similarity index 98%
rename from include/asm-sh/dma.h
rename to arch/sh/include/asm/dma.h
index a65b02f..beca712 100644
--- a/include/asm-sh/dma.h
+++ b/arch/sh/include/asm/dma.h
@@ -15,7 +15,7 @@
 #include <linux/wait.h>
 #include <linux/sched.h>
 #include <linux/sysdev.h>
-#include <asm/cpu/dma.h>
+#include <cpu/dma.h>
 
 /* The maximum address that we can perform a DMA transfer to on this platform */
 /* Don't define MAX_DMA_ADDRESS; it's useless on the SuperH and any
diff --git a/include/asm-sh/dmabrg.h b/arch/sh/include/asm/dmabrg.h
similarity index 100%
rename from include/asm-sh/dmabrg.h
rename to arch/sh/include/asm/dmabrg.h
diff --git a/include/asm-sh/edosk7705.h b/arch/sh/include/asm/edosk7705.h
similarity index 100%
rename from include/asm-sh/edosk7705.h
rename to arch/sh/include/asm/edosk7705.h
diff --git a/include/asm-sh/elf.h b/arch/sh/include/asm/elf.h
similarity index 100%
rename from include/asm-sh/elf.h
rename to arch/sh/include/asm/elf.h
diff --git a/include/asm-sh/emergency-restart.h b/arch/sh/include/asm/emergency-restart.h
similarity index 100%
rename from include/asm-sh/emergency-restart.h
rename to arch/sh/include/asm/emergency-restart.h
diff --git a/include/asm-sh/entry-macros.S b/arch/sh/include/asm/entry-macros.S
similarity index 100%
rename from include/asm-sh/entry-macros.S
rename to arch/sh/include/asm/entry-macros.S
diff --git a/include/asm-sh/errno.h b/arch/sh/include/asm/errno.h
similarity index 100%
rename from include/asm-sh/errno.h
rename to arch/sh/include/asm/errno.h
diff --git a/include/asm-sh/fb.h b/arch/sh/include/asm/fb.h
similarity index 100%
rename from include/asm-sh/fb.h
rename to arch/sh/include/asm/fb.h
diff --git a/include/asm-sh/fcntl.h b/arch/sh/include/asm/fcntl.h
similarity index 100%
rename from include/asm-sh/fcntl.h
rename to arch/sh/include/asm/fcntl.h
diff --git a/include/asm-sh/fixmap.h b/arch/sh/include/asm/fixmap.h
similarity index 100%
rename from include/asm-sh/fixmap.h
rename to arch/sh/include/asm/fixmap.h
diff --git a/include/asm-sh/flat.h b/arch/sh/include/asm/flat.h
similarity index 100%
rename from include/asm-sh/flat.h
rename to arch/sh/include/asm/flat.h
diff --git a/include/asm-sh/fpu.h b/arch/sh/include/asm/fpu.h
similarity index 100%
rename from include/asm-sh/fpu.h
rename to arch/sh/include/asm/fpu.h
diff --git a/include/asm-sh/freq.h b/arch/sh/include/asm/freq.h
similarity index 94%
rename from include/asm-sh/freq.h
rename to arch/sh/include/asm/freq.h
index 39c0e09..4ece90b 100644
--- a/include/asm-sh/freq.h
+++ b/arch/sh/include/asm/freq.h
@@ -12,7 +12,7 @@
 #define __ASM_SH_FREQ_H
 #ifdef __KERNEL__
 
-#include <asm/cpu/freq.h>
+#include <cpu/freq.h>
 
 #endif /* __KERNEL__ */
 #endif /* __ASM_SH_FREQ_H */
diff --git a/include/asm-sh/futex-irq.h b/arch/sh/include/asm/futex-irq.h
similarity index 100%
rename from include/asm-sh/futex-irq.h
rename to arch/sh/include/asm/futex-irq.h
diff --git a/include/asm-sh/futex.h b/arch/sh/include/asm/futex.h
similarity index 100%
rename from include/asm-sh/futex.h
rename to arch/sh/include/asm/futex.h
diff --git a/include/asm-sh/gpio.h b/arch/sh/include/asm/gpio.h
similarity index 93%
rename from include/asm-sh/gpio.h
rename to arch/sh/include/asm/gpio.h
index 9bb27e0..cf32bd2 100644
--- a/include/asm-sh/gpio.h
+++ b/arch/sh/include/asm/gpio.h
@@ -13,7 +13,7 @@
 #define __ASM_SH_GPIO_H
 
 #if defined(CONFIG_CPU_SH3)
-#include <asm/cpu/gpio.h>
+#include <cpu/gpio.h>
 #endif
 
 #endif /* __ASM_SH_GPIO_H */
diff --git a/include/asm-sh/hardirq.h b/arch/sh/include/asm/hardirq.h
similarity index 100%
rename from include/asm-sh/hardirq.h
rename to arch/sh/include/asm/hardirq.h
diff --git a/include/asm-sh/hd64461.h b/arch/sh/include/asm/hd64461.h
similarity index 100%
rename from include/asm-sh/hd64461.h
rename to arch/sh/include/asm/hd64461.h
diff --git a/include/asm-sh/hd64465/gpio.h b/arch/sh/include/asm/hd64465/gpio.h
similarity index 100%
rename from include/asm-sh/hd64465/gpio.h
rename to arch/sh/include/asm/hd64465/gpio.h
diff --git a/include/asm-sh/hd64465/hd64465.h b/arch/sh/include/asm/hd64465/hd64465.h
similarity index 100%
rename from include/asm-sh/hd64465/hd64465.h
rename to arch/sh/include/asm/hd64465/hd64465.h
diff --git a/include/asm-sh/hd64465/io.h b/arch/sh/include/asm/hd64465/io.h
similarity index 100%
rename from include/asm-sh/hd64465/io.h
rename to arch/sh/include/asm/hd64465/io.h
diff --git a/include/asm-sh/heartbeat.h b/arch/sh/include/asm/heartbeat.h
similarity index 100%
rename from include/asm-sh/heartbeat.h
rename to arch/sh/include/asm/heartbeat.h
diff --git a/include/asm-sh/hp6xx.h b/arch/sh/include/asm/hp6xx.h
similarity index 100%
rename from include/asm-sh/hp6xx.h
rename to arch/sh/include/asm/hp6xx.h
diff --git a/include/asm-sh/hugetlb.h b/arch/sh/include/asm/hugetlb.h
similarity index 100%
rename from include/asm-sh/hugetlb.h
rename to arch/sh/include/asm/hugetlb.h
diff --git a/include/asm-sh/hw_irq.h b/arch/sh/include/asm/hw_irq.h
similarity index 100%
rename from include/asm-sh/hw_irq.h
rename to arch/sh/include/asm/hw_irq.h
diff --git a/include/asm-sh/i2c-sh7760.h b/arch/sh/include/asm/i2c-sh7760.h
similarity index 100%
rename from include/asm-sh/i2c-sh7760.h
rename to arch/sh/include/asm/i2c-sh7760.h
diff --git a/include/asm-sh/ilsel.h b/arch/sh/include/asm/ilsel.h
similarity index 100%
rename from include/asm-sh/ilsel.h
rename to arch/sh/include/asm/ilsel.h
diff --git a/include/asm-sh/io.h b/arch/sh/include/asm/io.h
similarity index 100%
rename from include/asm-sh/io.h
rename to arch/sh/include/asm/io.h
diff --git a/include/asm-sh/io_generic.h b/arch/sh/include/asm/io_generic.h
similarity index 100%
rename from include/asm-sh/io_generic.h
rename to arch/sh/include/asm/io_generic.h
diff --git a/include/asm-sh/io_trapped.h b/arch/sh/include/asm/io_trapped.h
similarity index 100%
rename from include/asm-sh/io_trapped.h
rename to arch/sh/include/asm/io_trapped.h
diff --git a/include/asm-sh/ioctl.h b/arch/sh/include/asm/ioctl.h
similarity index 100%
rename from include/asm-sh/ioctl.h
rename to arch/sh/include/asm/ioctl.h
diff --git a/include/asm-sh/ioctls.h b/arch/sh/include/asm/ioctls.h
similarity index 100%
rename from include/asm-sh/ioctls.h
rename to arch/sh/include/asm/ioctls.h
diff --git a/include/asm-sh/ipcbuf.h b/arch/sh/include/asm/ipcbuf.h
similarity index 100%
rename from include/asm-sh/ipcbuf.h
rename to arch/sh/include/asm/ipcbuf.h
diff --git a/include/asm-sh/irq.h b/arch/sh/include/asm/irq.h
similarity index 97%
rename from include/asm-sh/irq.h
rename to arch/sh/include/asm/irq.h
index ca66e5d..6195a53 100644
--- a/include/asm-sh/irq.h
+++ b/arch/sh/include/asm/irq.h
@@ -51,7 +51,7 @@
 #endif
 
 #ifdef CONFIG_CPU_SH5
-#include <asm/cpu/irq.h>
+#include <cpu/irq.h>
 #endif
 
 #endif /* __ASM_SH_IRQ_H */
diff --git a/include/asm-sh/irq_regs.h b/arch/sh/include/asm/irq_regs.h
similarity index 100%
rename from include/asm-sh/irq_regs.h
rename to arch/sh/include/asm/irq_regs.h
diff --git a/include/asm-sh/irqflags.h b/arch/sh/include/asm/irqflags.h
similarity index 100%
rename from include/asm-sh/irqflags.h
rename to arch/sh/include/asm/irqflags.h
diff --git a/include/asm-sh/irqflags_32.h b/arch/sh/include/asm/irqflags_32.h
similarity index 100%
rename from include/asm-sh/irqflags_32.h
rename to arch/sh/include/asm/irqflags_32.h
diff --git a/include/asm-sh/irqflags_64.h b/arch/sh/include/asm/irqflags_64.h
similarity index 97%
rename from include/asm-sh/irqflags_64.h
rename to arch/sh/include/asm/irqflags_64.h
index 4f6b8a5..88f6522 100644
--- a/include/asm-sh/irqflags_64.h
+++ b/arch/sh/include/asm/irqflags_64.h
@@ -1,7 +1,7 @@
 #ifndef __ASM_SH_IRQFLAGS_64_H
 #define __ASM_SH_IRQFLAGS_64_H
 
-#include <asm/cpu/registers.h>
+#include <cpu/registers.h>
 
 #define SR_MASK_LL	0x00000000000000f0LL
 #define SR_BL_LL	0x0000000010000000LL
diff --git a/include/asm-sh/kdebug.h b/arch/sh/include/asm/kdebug.h
similarity index 100%
rename from include/asm-sh/kdebug.h
rename to arch/sh/include/asm/kdebug.h
diff --git a/include/asm-sh/kexec.h b/arch/sh/include/asm/kexec.h
similarity index 100%
rename from include/asm-sh/kexec.h
rename to arch/sh/include/asm/kexec.h
diff --git a/include/asm-sh/kgdb.h b/arch/sh/include/asm/kgdb.h
similarity index 100%
rename from include/asm-sh/kgdb.h
rename to arch/sh/include/asm/kgdb.h
diff --git a/include/asm-sh/kmap_types.h b/arch/sh/include/asm/kmap_types.h
similarity index 100%
rename from include/asm-sh/kmap_types.h
rename to arch/sh/include/asm/kmap_types.h
diff --git a/include/asm-sh/lboxre2.h b/arch/sh/include/asm/lboxre2.h
similarity index 100%
rename from include/asm-sh/lboxre2.h
rename to arch/sh/include/asm/lboxre2.h
diff --git a/include/asm-sh/linkage.h b/arch/sh/include/asm/linkage.h
similarity index 100%
rename from include/asm-sh/linkage.h
rename to arch/sh/include/asm/linkage.h
diff --git a/include/asm-sh/local.h b/arch/sh/include/asm/local.h
similarity index 100%
rename from include/asm-sh/local.h
rename to arch/sh/include/asm/local.h
diff --git a/include/asm-sh/machvec.h b/arch/sh/include/asm/machvec.h
similarity index 100%
rename from include/asm-sh/machvec.h
rename to arch/sh/include/asm/machvec.h
diff --git a/include/asm-sh/magicpanelr2.h b/arch/sh/include/asm/magicpanelr2.h
similarity index 100%
rename from include/asm-sh/magicpanelr2.h
rename to arch/sh/include/asm/magicpanelr2.h
diff --git a/include/asm-sh/mc146818rtc.h b/arch/sh/include/asm/mc146818rtc.h
similarity index 100%
rename from include/asm-sh/mc146818rtc.h
rename to arch/sh/include/asm/mc146818rtc.h
diff --git a/include/asm-sh/microdev.h b/arch/sh/include/asm/microdev.h
similarity index 100%
rename from include/asm-sh/microdev.h
rename to arch/sh/include/asm/microdev.h
diff --git a/include/asm-sh/migor.h b/arch/sh/include/asm/migor.h
similarity index 100%
rename from include/asm-sh/migor.h
rename to arch/sh/include/asm/migor.h
diff --git a/include/asm-sh/mman.h b/arch/sh/include/asm/mman.h
similarity index 100%
rename from include/asm-sh/mman.h
rename to arch/sh/include/asm/mman.h
diff --git a/include/asm-sh/mmu.h b/arch/sh/include/asm/mmu.h
similarity index 100%
rename from include/asm-sh/mmu.h
rename to arch/sh/include/asm/mmu.h
diff --git a/include/asm-sh/mmu_context.h b/arch/sh/include/asm/mmu_context.h
similarity index 98%
rename from include/asm-sh/mmu_context.h
rename to arch/sh/include/asm/mmu_context.h
index 8589a50..04c0c97 100644
--- a/include/asm-sh/mmu_context.h
+++ b/arch/sh/include/asm/mmu_context.h
@@ -8,7 +8,7 @@
 #define __ASM_SH_MMU_CONTEXT_H
 
 #ifdef __KERNEL__
-#include <asm/cpu/mmu_context.h>
+#include <cpu/mmu_context.h>
 #include <asm/tlbflush.h>
 #include <asm/uaccess.h>
 #include <asm/io.h>
diff --git a/include/asm-sh/mmu_context_32.h b/arch/sh/include/asm/mmu_context_32.h
similarity index 100%
rename from include/asm-sh/mmu_context_32.h
rename to arch/sh/include/asm/mmu_context_32.h
diff --git a/include/asm-sh/mmu_context_64.h b/arch/sh/include/asm/mmu_context_64.h
similarity index 97%
rename from include/asm-sh/mmu_context_64.h
rename to arch/sh/include/asm/mmu_context_64.h
index 9649f1c..de12102 100644
--- a/include/asm-sh/mmu_context_64.h
+++ b/arch/sh/include/asm/mmu_context_64.h
@@ -11,7 +11,7 @@
  * License.  See the file "COPYING" in the main directory of this archive
  * for more details.
  */
-#include <asm/cpu/registers.h>
+#include <cpu/registers.h>
 #include <asm/cacheflush.h>
 
 #define SR_ASID_MASK		0xffffffffff00ffffULL
diff --git a/include/asm-sh/mmzone.h b/arch/sh/include/asm/mmzone.h
similarity index 100%
rename from include/asm-sh/mmzone.h
rename to arch/sh/include/asm/mmzone.h
diff --git a/include/asm-sh/module.h b/arch/sh/include/asm/module.h
similarity index 100%
rename from include/asm-sh/module.h
rename to arch/sh/include/asm/module.h
diff --git a/include/asm-sh/msgbuf.h b/arch/sh/include/asm/msgbuf.h
similarity index 100%
rename from include/asm-sh/msgbuf.h
rename to arch/sh/include/asm/msgbuf.h
diff --git a/include/asm-sh/mutex.h b/arch/sh/include/asm/mutex.h
similarity index 100%
rename from include/asm-sh/mutex.h
rename to arch/sh/include/asm/mutex.h
diff --git a/include/asm-sh/page.h b/arch/sh/include/asm/page.h
similarity index 100%
rename from include/asm-sh/page.h
rename to arch/sh/include/asm/page.h
diff --git a/include/asm-sh/param.h b/arch/sh/include/asm/param.h
similarity index 100%
rename from include/asm-sh/param.h
rename to arch/sh/include/asm/param.h
diff --git a/include/asm-sh/parport.h b/arch/sh/include/asm/parport.h
similarity index 100%
rename from include/asm-sh/parport.h
rename to arch/sh/include/asm/parport.h
diff --git a/include/asm-sh/pci.h b/arch/sh/include/asm/pci.h
similarity index 100%
rename from include/asm-sh/pci.h
rename to arch/sh/include/asm/pci.h
diff --git a/include/asm-sh/percpu.h b/arch/sh/include/asm/percpu.h
similarity index 100%
rename from include/asm-sh/percpu.h
rename to arch/sh/include/asm/percpu.h
diff --git a/include/asm-sh/pgalloc.h b/arch/sh/include/asm/pgalloc.h
similarity index 100%
rename from include/asm-sh/pgalloc.h
rename to arch/sh/include/asm/pgalloc.h
diff --git a/include/asm-sh/pgtable.h b/arch/sh/include/asm/pgtable.h
similarity index 100%
rename from include/asm-sh/pgtable.h
rename to arch/sh/include/asm/pgtable.h
diff --git a/include/asm-sh/pgtable_32.h b/arch/sh/include/asm/pgtable_32.h
similarity index 100%
rename from include/asm-sh/pgtable_32.h
rename to arch/sh/include/asm/pgtable_32.h
diff --git a/include/asm-sh/pgtable_64.h b/arch/sh/include/asm/pgtable_64.h
similarity index 100%
rename from include/asm-sh/pgtable_64.h
rename to arch/sh/include/asm/pgtable_64.h
diff --git a/include/asm-sh/pm.h b/arch/sh/include/asm/pm.h
similarity index 100%
rename from include/asm-sh/pm.h
rename to arch/sh/include/asm/pm.h
diff --git a/include/asm-sh/poll.h b/arch/sh/include/asm/poll.h
similarity index 100%
rename from include/asm-sh/poll.h
rename to arch/sh/include/asm/poll.h
diff --git a/include/asm-sh/posix_types.h b/arch/sh/include/asm/posix_types.h
similarity index 100%
rename from include/asm-sh/posix_types.h
rename to arch/sh/include/asm/posix_types.h
diff --git a/include/asm-sh/posix_types_32.h b/arch/sh/include/asm/posix_types_32.h
similarity index 100%
rename from include/asm-sh/posix_types_32.h
rename to arch/sh/include/asm/posix_types_32.h
diff --git a/include/asm-sh/posix_types_64.h b/arch/sh/include/asm/posix_types_64.h
similarity index 100%
rename from include/asm-sh/posix_types_64.h
rename to arch/sh/include/asm/posix_types_64.h
diff --git a/include/asm-sh/processor.h b/arch/sh/include/asm/processor.h
similarity index 100%
rename from include/asm-sh/processor.h
rename to arch/sh/include/asm/processor.h
diff --git a/include/asm-sh/processor_32.h b/arch/sh/include/asm/processor_32.h
similarity index 100%
rename from include/asm-sh/processor_32.h
rename to arch/sh/include/asm/processor_32.h
diff --git a/include/asm-sh/processor_64.h b/arch/sh/include/asm/processor_64.h
similarity index 99%
rename from include/asm-sh/processor_64.h
rename to arch/sh/include/asm/processor_64.h
index fc7fc68..770d516 100644
--- a/include/asm-sh/processor_64.h
+++ b/arch/sh/include/asm/processor_64.h
@@ -19,7 +19,7 @@
 #include <asm/types.h>
 #include <asm/cache.h>
 #include <asm/ptrace.h>
-#include <asm/cpu/registers.h>
+#include <cpu/registers.h>
 
 /*
  * Default implementation of macro that returns current
diff --git a/include/asm-sh/ptrace.h b/arch/sh/include/asm/ptrace.h
similarity index 100%
rename from include/asm-sh/ptrace.h
rename to arch/sh/include/asm/ptrace.h
diff --git a/include/asm-sh/push-switch.h b/arch/sh/include/asm/push-switch.h
similarity index 100%
rename from include/asm-sh/push-switch.h
rename to arch/sh/include/asm/push-switch.h
diff --git a/include/asm-sh/r7780rp.h b/arch/sh/include/asm/r7780rp.h
similarity index 100%
rename from include/asm-sh/r7780rp.h
rename to arch/sh/include/asm/r7780rp.h
diff --git a/include/asm-sh/resource.h b/arch/sh/include/asm/resource.h
similarity index 100%
rename from include/asm-sh/resource.h
rename to arch/sh/include/asm/resource.h
diff --git a/include/asm-sh/rtc.h b/arch/sh/include/asm/rtc.h
similarity index 91%
rename from include/asm-sh/rtc.h
rename to arch/sh/include/asm/rtc.h
index ec45ba8..1813f42 100644
--- a/include/asm-sh/rtc.h
+++ b/arch/sh/include/asm/rtc.h
@@ -11,6 +11,6 @@
 	unsigned long capabilities;
 };
 
-#include <asm/cpu/rtc.h>
+#include <cpu/rtc.h>
 
 #endif /* _ASM_RTC_H */
diff --git a/include/asm-sh/rts7751r2d.h b/arch/sh/include/asm/rts7751r2d.h
similarity index 100%
rename from include/asm-sh/rts7751r2d.h
rename to arch/sh/include/asm/rts7751r2d.h
diff --git a/include/asm-sh/rwsem.h b/arch/sh/include/asm/rwsem.h
similarity index 100%
rename from include/asm-sh/rwsem.h
rename to arch/sh/include/asm/rwsem.h
diff --git a/include/asm-sh/scatterlist.h b/arch/sh/include/asm/scatterlist.h
similarity index 100%
rename from include/asm-sh/scatterlist.h
rename to arch/sh/include/asm/scatterlist.h
diff --git a/include/asm-sh/sdk7780.h b/arch/sh/include/asm/sdk7780.h
similarity index 100%
rename from include/asm-sh/sdk7780.h
rename to arch/sh/include/asm/sdk7780.h
diff --git a/include/asm-sh/se.h b/arch/sh/include/asm/se.h
similarity index 100%
rename from include/asm-sh/se.h
rename to arch/sh/include/asm/se.h
diff --git a/include/asm-sh/se7206.h b/arch/sh/include/asm/se7206.h
similarity index 100%
rename from include/asm-sh/se7206.h
rename to arch/sh/include/asm/se7206.h
diff --git a/include/asm-sh/se7343.h b/arch/sh/include/asm/se7343.h
similarity index 100%
rename from include/asm-sh/se7343.h
rename to arch/sh/include/asm/se7343.h
diff --git a/include/asm-sh/se7721.h b/arch/sh/include/asm/se7721.h
similarity index 100%
rename from include/asm-sh/se7721.h
rename to arch/sh/include/asm/se7721.h
diff --git a/include/asm-sh/se7722.h b/arch/sh/include/asm/se7722.h
similarity index 100%
rename from include/asm-sh/se7722.h
rename to arch/sh/include/asm/se7722.h
diff --git a/include/asm-sh/se7751.h b/arch/sh/include/asm/se7751.h
similarity index 100%
rename from include/asm-sh/se7751.h
rename to arch/sh/include/asm/se7751.h
diff --git a/include/asm-sh/se7780.h b/arch/sh/include/asm/se7780.h
similarity index 100%
rename from include/asm-sh/se7780.h
rename to arch/sh/include/asm/se7780.h
diff --git a/include/asm-sh/sections.h b/arch/sh/include/asm/sections.h
similarity index 100%
rename from include/asm-sh/sections.h
rename to arch/sh/include/asm/sections.h
diff --git a/include/asm-sh/segment.h b/arch/sh/include/asm/segment.h
similarity index 100%
rename from include/asm-sh/segment.h
rename to arch/sh/include/asm/segment.h
diff --git a/include/asm-sh/sembuf.h b/arch/sh/include/asm/sembuf.h
similarity index 100%
rename from include/asm-sh/sembuf.h
rename to arch/sh/include/asm/sembuf.h
diff --git a/include/asm-sh/serial.h b/arch/sh/include/asm/serial.h
similarity index 95%
rename from include/asm-sh/serial.h
rename to arch/sh/include/asm/serial.h
index 21f6d33..e13cc94 100644
--- a/include/asm-sh/serial.h
+++ b/arch/sh/include/asm/serial.h
@@ -21,7 +21,7 @@
 #define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST)
 
 #ifdef CONFIG_HD64465
-#include <asm/hd64465.h>
+#include <asm/hd64465/hd64465.h>
 
 #define SERIAL_PORT_DFNS                   \
         /* UART CLK   PORT IRQ     FLAGS        */                      \
diff --git a/include/asm-sh/setup.h b/arch/sh/include/asm/setup.h
similarity index 100%
rename from include/asm-sh/setup.h
rename to arch/sh/include/asm/setup.h
diff --git a/include/asm-sh/sfp-machine.h b/arch/sh/include/asm/sfp-machine.h
similarity index 100%
rename from include/asm-sh/sfp-machine.h
rename to arch/sh/include/asm/sfp-machine.h
diff --git a/include/asm-sh/sh7760fb.h b/arch/sh/include/asm/sh7760fb.h
similarity index 100%
rename from include/asm-sh/sh7760fb.h
rename to arch/sh/include/asm/sh7760fb.h
diff --git a/include/asm-sh/sh7763rdp.h b/arch/sh/include/asm/sh7763rdp.h
similarity index 100%
rename from include/asm-sh/sh7763rdp.h
rename to arch/sh/include/asm/sh7763rdp.h
diff --git a/include/asm-sh/sh7785lcr.h b/arch/sh/include/asm/sh7785lcr.h
similarity index 100%
rename from include/asm-sh/sh7785lcr.h
rename to arch/sh/include/asm/sh7785lcr.h
diff --git a/include/asm-sh/sh_bios.h b/arch/sh/include/asm/sh_bios.h
similarity index 100%
rename from include/asm-sh/sh_bios.h
rename to arch/sh/include/asm/sh_bios.h
diff --git a/include/asm-sh/sh_keysc.h b/arch/sh/include/asm/sh_keysc.h
similarity index 100%
rename from include/asm-sh/sh_keysc.h
rename to arch/sh/include/asm/sh_keysc.h
diff --git a/include/asm-sh/sh_mobile_lcdc.h b/arch/sh/include/asm/sh_mobile_lcdc.h
similarity index 100%
rename from include/asm-sh/sh_mobile_lcdc.h
rename to arch/sh/include/asm/sh_mobile_lcdc.h
diff --git a/include/asm-sh/shmbuf.h b/arch/sh/include/asm/shmbuf.h
similarity index 100%
rename from include/asm-sh/shmbuf.h
rename to arch/sh/include/asm/shmbuf.h
diff --git a/include/asm-sh/shmin.h b/arch/sh/include/asm/shmin.h
similarity index 100%
rename from include/asm-sh/shmin.h
rename to arch/sh/include/asm/shmin.h
diff --git a/include/asm-sh/shmparam.h b/arch/sh/include/asm/shmparam.h
similarity index 100%
rename from include/asm-sh/shmparam.h
rename to arch/sh/include/asm/shmparam.h
diff --git a/include/asm-sh/sigcontext.h b/arch/sh/include/asm/sigcontext.h
similarity index 100%
rename from include/asm-sh/sigcontext.h
rename to arch/sh/include/asm/sigcontext.h
diff --git a/include/asm-sh/siginfo.h b/arch/sh/include/asm/siginfo.h
similarity index 100%
rename from include/asm-sh/siginfo.h
rename to arch/sh/include/asm/siginfo.h
diff --git a/include/asm-sh/signal.h b/arch/sh/include/asm/signal.h
similarity index 100%
rename from include/asm-sh/signal.h
rename to arch/sh/include/asm/signal.h
diff --git a/include/asm-sh/smc37c93x.h b/arch/sh/include/asm/smc37c93x.h
similarity index 100%
rename from include/asm-sh/smc37c93x.h
rename to arch/sh/include/asm/smc37c93x.h
diff --git a/include/asm-sh/smp.h b/arch/sh/include/asm/smp.h
similarity index 100%
rename from include/asm-sh/smp.h
rename to arch/sh/include/asm/smp.h
diff --git a/include/asm-sh/snapgear.h b/arch/sh/include/asm/snapgear.h
similarity index 100%
rename from include/asm-sh/snapgear.h
rename to arch/sh/include/asm/snapgear.h
diff --git a/include/asm-sh/socket.h b/arch/sh/include/asm/socket.h
similarity index 100%
rename from include/asm-sh/socket.h
rename to arch/sh/include/asm/socket.h
diff --git a/include/asm-sh/sockios.h b/arch/sh/include/asm/sockios.h
similarity index 100%
rename from include/asm-sh/sockios.h
rename to arch/sh/include/asm/sockios.h
diff --git a/include/asm-sh/sparsemem.h b/arch/sh/include/asm/sparsemem.h
similarity index 100%
rename from include/asm-sh/sparsemem.h
rename to arch/sh/include/asm/sparsemem.h
diff --git a/include/asm-sh/spi.h b/arch/sh/include/asm/spi.h
similarity index 100%
rename from include/asm-sh/spi.h
rename to arch/sh/include/asm/spi.h
diff --git a/include/asm-sh/spinlock.h b/arch/sh/include/asm/spinlock.h
similarity index 100%
rename from include/asm-sh/spinlock.h
rename to arch/sh/include/asm/spinlock.h
diff --git a/include/asm-sh/spinlock_types.h b/arch/sh/include/asm/spinlock_types.h
similarity index 100%
rename from include/asm-sh/spinlock_types.h
rename to arch/sh/include/asm/spinlock_types.h
diff --git a/include/asm-sh/stat.h b/arch/sh/include/asm/stat.h
similarity index 100%
rename from include/asm-sh/stat.h
rename to arch/sh/include/asm/stat.h
diff --git a/include/asm-sh/statfs.h b/arch/sh/include/asm/statfs.h
similarity index 100%
rename from include/asm-sh/statfs.h
rename to arch/sh/include/asm/statfs.h
diff --git a/include/asm-sh/string.h b/arch/sh/include/asm/string.h
similarity index 100%
rename from include/asm-sh/string.h
rename to arch/sh/include/asm/string.h
diff --git a/include/asm-sh/string_32.h b/arch/sh/include/asm/string_32.h
similarity index 100%
rename from include/asm-sh/string_32.h
rename to arch/sh/include/asm/string_32.h
diff --git a/include/asm-sh/string_64.h b/arch/sh/include/asm/string_64.h
similarity index 100%
rename from include/asm-sh/string_64.h
rename to arch/sh/include/asm/string_64.h
diff --git a/include/asm-sh/system.h b/arch/sh/include/asm/system.h
similarity index 100%
rename from include/asm-sh/system.h
rename to arch/sh/include/asm/system.h
diff --git a/include/asm-sh/system_32.h b/arch/sh/include/asm/system_32.h
similarity index 100%
rename from include/asm-sh/system_32.h
rename to arch/sh/include/asm/system_32.h
diff --git a/include/asm-sh/system_64.h b/arch/sh/include/asm/system_64.h
similarity index 100%
rename from include/asm-sh/system_64.h
rename to arch/sh/include/asm/system_64.h
diff --git a/include/asm-sh/systemh7751.h b/arch/sh/include/asm/systemh7751.h
similarity index 100%
rename from include/asm-sh/systemh7751.h
rename to arch/sh/include/asm/systemh7751.h
diff --git a/include/asm-sh/termbits.h b/arch/sh/include/asm/termbits.h
similarity index 100%
rename from include/asm-sh/termbits.h
rename to arch/sh/include/asm/termbits.h
diff --git a/include/asm-sh/termios.h b/arch/sh/include/asm/termios.h
similarity index 100%
rename from include/asm-sh/termios.h
rename to arch/sh/include/asm/termios.h
diff --git a/include/asm-sh/thread_info.h b/arch/sh/include/asm/thread_info.h
similarity index 100%
rename from include/asm-sh/thread_info.h
rename to arch/sh/include/asm/thread_info.h
diff --git a/include/asm-sh/timer.h b/arch/sh/include/asm/timer.h
similarity index 96%
rename from include/asm-sh/timer.h
rename to arch/sh/include/asm/timer.h
index 327f7eb..a7ca3a1 100644
--- a/include/asm-sh/timer.h
+++ b/arch/sh/include/asm/timer.h
@@ -3,7 +3,7 @@
 
 #include <linux/sysdev.h>
 #include <linux/clocksource.h>
-#include <asm/cpu/timer.h>
+#include <cpu/timer.h>
 
 struct sys_timer_ops {
 	int (*init)(void);
diff --git a/include/asm-sh/timex.h b/arch/sh/include/asm/timex.h
similarity index 100%
rename from include/asm-sh/timex.h
rename to arch/sh/include/asm/timex.h
diff --git a/include/asm-sh/titan.h b/arch/sh/include/asm/titan.h
similarity index 100%
rename from include/asm-sh/titan.h
rename to arch/sh/include/asm/titan.h
diff --git a/include/asm-sh/tlb.h b/arch/sh/include/asm/tlb.h
similarity index 100%
rename from include/asm-sh/tlb.h
rename to arch/sh/include/asm/tlb.h
diff --git a/include/asm-sh/tlb_64.h b/arch/sh/include/asm/tlb_64.h
similarity index 100%
rename from include/asm-sh/tlb_64.h
rename to arch/sh/include/asm/tlb_64.h
diff --git a/include/asm-sh/tlbflush.h b/arch/sh/include/asm/tlbflush.h
similarity index 100%
rename from include/asm-sh/tlbflush.h
rename to arch/sh/include/asm/tlbflush.h
diff --git a/include/asm-sh/topology.h b/arch/sh/include/asm/topology.h
similarity index 100%
rename from include/asm-sh/topology.h
rename to arch/sh/include/asm/topology.h
diff --git a/include/asm-sh/types.h b/arch/sh/include/asm/types.h
similarity index 100%
rename from include/asm-sh/types.h
rename to arch/sh/include/asm/types.h
diff --git a/include/asm-sh/uaccess.h b/arch/sh/include/asm/uaccess.h
similarity index 100%
rename from include/asm-sh/uaccess.h
rename to arch/sh/include/asm/uaccess.h
diff --git a/include/asm-sh/uaccess_32.h b/arch/sh/include/asm/uaccess_32.h
similarity index 100%
rename from include/asm-sh/uaccess_32.h
rename to arch/sh/include/asm/uaccess_32.h
diff --git a/include/asm-sh/uaccess_64.h b/arch/sh/include/asm/uaccess_64.h
similarity index 100%
rename from include/asm-sh/uaccess_64.h
rename to arch/sh/include/asm/uaccess_64.h
diff --git a/include/asm-sh/ubc.h b/arch/sh/include/asm/ubc.h
similarity index 97%
rename from include/asm-sh/ubc.h
rename to arch/sh/include/asm/ubc.h
index 56f4e30..a7b9028 100644
--- a/include/asm-sh/ubc.h
+++ b/arch/sh/include/asm/ubc.h
@@ -12,7 +12,7 @@
 #define __ASM_SH_UBC_H
 #ifdef __KERNEL__
 
-#include <asm/cpu/ubc.h>
+#include <cpu/ubc.h>
 
 /* User Break Controller */
 #if defined(CONFIG_CPU_SUBTYPE_SH7707) || defined(CONFIG_CPU_SUBTYPE_SH7709)
diff --git a/include/asm-sh/ucontext.h b/arch/sh/include/asm/ucontext.h
similarity index 100%
rename from include/asm-sh/ucontext.h
rename to arch/sh/include/asm/ucontext.h
diff --git a/include/asm-sh/unaligned.h b/arch/sh/include/asm/unaligned.h
similarity index 100%
rename from include/asm-sh/unaligned.h
rename to arch/sh/include/asm/unaligned.h
diff --git a/include/asm-sh/unistd.h b/arch/sh/include/asm/unistd.h
similarity index 100%
rename from include/asm-sh/unistd.h
rename to arch/sh/include/asm/unistd.h
diff --git a/include/asm-sh/unistd_32.h b/arch/sh/include/asm/unistd_32.h
similarity index 100%
rename from include/asm-sh/unistd_32.h
rename to arch/sh/include/asm/unistd_32.h
diff --git a/include/asm-sh/unistd_64.h b/arch/sh/include/asm/unistd_64.h
similarity index 100%
rename from include/asm-sh/unistd_64.h
rename to arch/sh/include/asm/unistd_64.h
diff --git a/include/asm-sh/user.h b/arch/sh/include/asm/user.h
similarity index 100%
rename from include/asm-sh/user.h
rename to arch/sh/include/asm/user.h
diff --git a/include/asm-sh/vga.h b/arch/sh/include/asm/vga.h
similarity index 100%
rename from include/asm-sh/vga.h
rename to arch/sh/include/asm/vga.h
diff --git a/include/asm-sh/watchdog.h b/arch/sh/include/asm/watchdog.h
similarity index 96%
rename from include/asm-sh/watchdog.h
rename to arch/sh/include/asm/watchdog.h
index d19ea62..f024fed 100644
--- a/include/asm-sh/watchdog.h
+++ b/arch/sh/include/asm/watchdog.h
@@ -13,11 +13,11 @@
 #ifdef __KERNEL__
 
 #include <linux/types.h>
-#include <asm/cpu/watchdog.h>
+#include <cpu/watchdog.h>
 #include <asm/io.h>
 
 /* 
- * See asm/cpu-sh2/watchdog.h for explanation of this stupidity..
+ * See cpu-sh2/watchdog.h for explanation of this stupidity..
  */
 #ifndef WTCNT_R
 #  define WTCNT_R	WTCNT
diff --git a/include/asm-sh/xor.h b/arch/sh/include/asm/xor.h
similarity index 100%
rename from include/asm-sh/xor.h
rename to arch/sh/include/asm/xor.h
diff --git a/include/asm-sh/cpu-sh2/addrspace.h b/arch/sh/include/cpu-sh2/cpu/addrspace.h
similarity index 100%
rename from include/asm-sh/cpu-sh2/addrspace.h
rename to arch/sh/include/cpu-sh2/cpu/addrspace.h
diff --git a/include/asm-sh/cpu-sh2/cache.h b/arch/sh/include/cpu-sh2/cpu/cache.h
similarity index 100%
rename from include/asm-sh/cpu-sh2/cache.h
rename to arch/sh/include/cpu-sh2/cpu/cache.h
diff --git a/include/asm-sh/cpu-sh2/cacheflush.h b/arch/sh/include/cpu-sh2/cpu/cacheflush.h
similarity index 100%
rename from include/asm-sh/cpu-sh2/cacheflush.h
rename to arch/sh/include/cpu-sh2/cpu/cacheflush.h
diff --git a/include/asm-sh/cpu-sh2/dma.h b/arch/sh/include/cpu-sh2/cpu/dma.h
similarity index 100%
rename from include/asm-sh/cpu-sh2/dma.h
rename to arch/sh/include/cpu-sh2/cpu/dma.h
diff --git a/include/asm-sh/cpu-sh2/freq.h b/arch/sh/include/cpu-sh2/cpu/freq.h
similarity index 100%
rename from include/asm-sh/cpu-sh2/freq.h
rename to arch/sh/include/cpu-sh2/cpu/freq.h
diff --git a/include/asm-sh/cpu-sh2/mmu_context.h b/arch/sh/include/cpu-sh2/cpu/mmu_context.h
similarity index 100%
rename from include/asm-sh/cpu-sh2/mmu_context.h
rename to arch/sh/include/cpu-sh2/cpu/mmu_context.h
diff --git a/include/asm-sh/cpu-sh2/rtc.h b/arch/sh/include/cpu-sh2/cpu/rtc.h
similarity index 100%
rename from include/asm-sh/cpu-sh2/rtc.h
rename to arch/sh/include/cpu-sh2/cpu/rtc.h
diff --git a/include/asm-sh/cpu-sh2/sigcontext.h b/arch/sh/include/cpu-sh2/cpu/sigcontext.h
similarity index 100%
rename from include/asm-sh/cpu-sh2/sigcontext.h
rename to arch/sh/include/cpu-sh2/cpu/sigcontext.h
diff --git a/include/asm-sh/cpu-sh2/timer.h b/arch/sh/include/cpu-sh2/cpu/timer.h
similarity index 100%
rename from include/asm-sh/cpu-sh2/timer.h
rename to arch/sh/include/cpu-sh2/cpu/timer.h
diff --git a/include/asm-sh/cpu-sh2/ubc.h b/arch/sh/include/cpu-sh2/cpu/ubc.h
similarity index 100%
rename from include/asm-sh/cpu-sh2/ubc.h
rename to arch/sh/include/cpu-sh2/cpu/ubc.h
diff --git a/include/asm-sh/cpu-sh2/watchdog.h b/arch/sh/include/cpu-sh2/cpu/watchdog.h
similarity index 100%
rename from include/asm-sh/cpu-sh2/watchdog.h
rename to arch/sh/include/cpu-sh2/cpu/watchdog.h
diff --git a/include/asm-sh/cpu-sh2a/addrspace.h b/arch/sh/include/cpu-sh2a/cpu/addrspace.h
similarity index 100%
rename from include/asm-sh/cpu-sh2a/addrspace.h
rename to arch/sh/include/cpu-sh2a/cpu/addrspace.h
diff --git a/include/asm-sh/cpu-sh2a/cache.h b/arch/sh/include/cpu-sh2a/cpu/cache.h
similarity index 100%
rename from include/asm-sh/cpu-sh2a/cache.h
rename to arch/sh/include/cpu-sh2a/cpu/cache.h
diff --git a/include/asm-sh/cpu-sh2/cacheflush.h b/arch/sh/include/cpu-sh2a/cpu/cacheflush.h
similarity index 100%
copy from include/asm-sh/cpu-sh2/cacheflush.h
copy to arch/sh/include/cpu-sh2a/cpu/cacheflush.h
diff --git a/include/asm-sh/cpu-sh2/dma.h b/arch/sh/include/cpu-sh2a/cpu/dma.h
similarity index 100%
copy from include/asm-sh/cpu-sh2/dma.h
copy to arch/sh/include/cpu-sh2a/cpu/dma.h
diff --git a/include/asm-sh/cpu-sh2a/freq.h b/arch/sh/include/cpu-sh2a/cpu/freq.h
similarity index 100%
rename from include/asm-sh/cpu-sh2a/freq.h
rename to arch/sh/include/cpu-sh2a/cpu/freq.h
diff --git a/include/asm-sh/cpu-sh2/mmu_context.h b/arch/sh/include/cpu-sh2a/cpu/mmu_context.h
similarity index 100%
copy from include/asm-sh/cpu-sh2/mmu_context.h
copy to arch/sh/include/cpu-sh2a/cpu/mmu_context.h
diff --git a/include/asm-sh/cpu-sh2a/rtc.h b/arch/sh/include/cpu-sh2a/cpu/rtc.h
similarity index 100%
rename from include/asm-sh/cpu-sh2a/rtc.h
rename to arch/sh/include/cpu-sh2a/cpu/rtc.h
diff --git a/include/asm-sh/cpu-sh2/timer.h b/arch/sh/include/cpu-sh2a/cpu/timer.h
similarity index 100%
copy from include/asm-sh/cpu-sh2/timer.h
copy to arch/sh/include/cpu-sh2a/cpu/timer.h
diff --git a/include/asm-sh/cpu-sh2/ubc.h b/arch/sh/include/cpu-sh2a/cpu/ubc.h
similarity index 100%
copy from include/asm-sh/cpu-sh2/ubc.h
copy to arch/sh/include/cpu-sh2a/cpu/ubc.h
diff --git a/include/asm-sh/cpu-sh2/watchdog.h b/arch/sh/include/cpu-sh2a/cpu/watchdog.h
similarity index 100%
copy from include/asm-sh/cpu-sh2/watchdog.h
copy to arch/sh/include/cpu-sh2a/cpu/watchdog.h
diff --git a/include/asm-sh/cpu-sh3/adc.h b/arch/sh/include/cpu-sh3/cpu/adc.h
similarity index 100%
rename from include/asm-sh/cpu-sh3/adc.h
rename to arch/sh/include/cpu-sh3/cpu/adc.h
diff --git a/include/asm-sh/cpu-sh3/addrspace.h b/arch/sh/include/cpu-sh3/cpu/addrspace.h
similarity index 100%
rename from include/asm-sh/cpu-sh3/addrspace.h
rename to arch/sh/include/cpu-sh3/cpu/addrspace.h
diff --git a/include/asm-sh/cpu-sh3/cache.h b/arch/sh/include/cpu-sh3/cpu/cache.h
similarity index 100%
rename from include/asm-sh/cpu-sh3/cache.h
rename to arch/sh/include/cpu-sh3/cpu/cache.h
diff --git a/include/asm-sh/cpu-sh3/cacheflush.h b/arch/sh/include/cpu-sh3/cpu/cacheflush.h
similarity index 100%
rename from include/asm-sh/cpu-sh3/cacheflush.h
rename to arch/sh/include/cpu-sh3/cpu/cacheflush.h
diff --git a/include/asm-sh/cpu-sh3/dac.h b/arch/sh/include/cpu-sh3/cpu/dac.h
similarity index 100%
rename from include/asm-sh/cpu-sh3/dac.h
rename to arch/sh/include/cpu-sh3/cpu/dac.h
diff --git a/include/asm-sh/cpu-sh3/dma.h b/arch/sh/include/cpu-sh3/cpu/dma.h
similarity index 100%
rename from include/asm-sh/cpu-sh3/dma.h
rename to arch/sh/include/cpu-sh3/cpu/dma.h
diff --git a/include/asm-sh/cpu-sh3/freq.h b/arch/sh/include/cpu-sh3/cpu/freq.h
similarity index 100%
rename from include/asm-sh/cpu-sh3/freq.h
rename to arch/sh/include/cpu-sh3/cpu/freq.h
diff --git a/include/asm-sh/cpu-sh3/gpio.h b/arch/sh/include/cpu-sh3/cpu/gpio.h
similarity index 100%
rename from include/asm-sh/cpu-sh3/gpio.h
rename to arch/sh/include/cpu-sh3/cpu/gpio.h
diff --git a/include/asm-sh/cpu-sh3/mmu_context.h b/arch/sh/include/cpu-sh3/cpu/mmu_context.h
similarity index 100%
rename from include/asm-sh/cpu-sh3/mmu_context.h
rename to arch/sh/include/cpu-sh3/cpu/mmu_context.h
diff --git a/include/asm-sh/cpu-sh3/rtc.h b/arch/sh/include/cpu-sh3/cpu/rtc.h
similarity index 100%
rename from include/asm-sh/cpu-sh3/rtc.h
rename to arch/sh/include/cpu-sh3/cpu/rtc.h
diff --git a/include/asm-sh/cpu-sh3/sigcontext.h b/arch/sh/include/cpu-sh3/cpu/sigcontext.h
similarity index 100%
rename from include/asm-sh/cpu-sh3/sigcontext.h
rename to arch/sh/include/cpu-sh3/cpu/sigcontext.h
diff --git a/include/asm-sh/cpu-sh3/timer.h b/arch/sh/include/cpu-sh3/cpu/timer.h
similarity index 100%
rename from include/asm-sh/cpu-sh3/timer.h
rename to arch/sh/include/cpu-sh3/cpu/timer.h
diff --git a/include/asm-sh/cpu-sh3/ubc.h b/arch/sh/include/cpu-sh3/cpu/ubc.h
similarity index 100%
rename from include/asm-sh/cpu-sh3/ubc.h
rename to arch/sh/include/cpu-sh3/cpu/ubc.h
diff --git a/include/asm-sh/cpu-sh3/watchdog.h b/arch/sh/include/cpu-sh3/cpu/watchdog.h
similarity index 100%
rename from include/asm-sh/cpu-sh3/watchdog.h
rename to arch/sh/include/cpu-sh3/cpu/watchdog.h
diff --git a/include/asm-sh/cpu-sh4/addrspace.h b/arch/sh/include/cpu-sh4/cpu/addrspace.h
similarity index 100%
rename from include/asm-sh/cpu-sh4/addrspace.h
rename to arch/sh/include/cpu-sh4/cpu/addrspace.h
diff --git a/include/asm-sh/cpu-sh4/cache.h b/arch/sh/include/cpu-sh4/cpu/cache.h
similarity index 100%
rename from include/asm-sh/cpu-sh4/cache.h
rename to arch/sh/include/cpu-sh4/cpu/cache.h
diff --git a/include/asm-sh/cpu-sh4/cacheflush.h b/arch/sh/include/cpu-sh4/cpu/cacheflush.h
similarity index 100%
rename from include/asm-sh/cpu-sh4/cacheflush.h
rename to arch/sh/include/cpu-sh4/cpu/cacheflush.h
diff --git a/include/asm-sh/cpu-sh4/dma-sh7780.h b/arch/sh/include/cpu-sh4/cpu/dma-sh7780.h
similarity index 100%
rename from include/asm-sh/cpu-sh4/dma-sh7780.h
rename to arch/sh/include/cpu-sh4/cpu/dma-sh7780.h
diff --git a/include/asm-sh/cpu-sh4/dma.h b/arch/sh/include/cpu-sh4/cpu/dma.h
similarity index 97%
rename from include/asm-sh/cpu-sh4/dma.h
rename to arch/sh/include/cpu-sh4/cpu/dma.h
index aaf71b0..235b7cd 100644
--- a/include/asm-sh/cpu-sh4/dma.h
+++ b/arch/sh/include/cpu-sh4/cpu/dma.h
@@ -20,7 +20,7 @@
 #define CHCR_TS_MASK	0x18
 #define CHCR_TS_SHIFT	3
 
-#include <asm/cpu/dma-sh7780.h>
+#include <cpu/dma-sh7780.h>
 #else
 #define SH_DMAC_BASE	0xffa00000
 
diff --git a/include/asm-sh/cpu-sh4/fpu.h b/arch/sh/include/cpu-sh4/cpu/fpu.h
similarity index 100%
rename from include/asm-sh/cpu-sh4/fpu.h
rename to arch/sh/include/cpu-sh4/cpu/fpu.h
diff --git a/include/asm-sh/cpu-sh4/freq.h b/arch/sh/include/cpu-sh4/cpu/freq.h
similarity index 100%
rename from include/asm-sh/cpu-sh4/freq.h
rename to arch/sh/include/cpu-sh4/cpu/freq.h
diff --git a/include/asm-sh/cpu-sh4/mmu_context.h b/arch/sh/include/cpu-sh4/cpu/mmu_context.h
similarity index 100%
rename from include/asm-sh/cpu-sh4/mmu_context.h
rename to arch/sh/include/cpu-sh4/cpu/mmu_context.h
diff --git a/include/asm-sh/cpu-sh4/rtc.h b/arch/sh/include/cpu-sh4/cpu/rtc.h
similarity index 100%
rename from include/asm-sh/cpu-sh4/rtc.h
rename to arch/sh/include/cpu-sh4/cpu/rtc.h
diff --git a/include/asm-sh/cpu-sh4/sigcontext.h b/arch/sh/include/cpu-sh4/cpu/sigcontext.h
similarity index 100%
rename from include/asm-sh/cpu-sh4/sigcontext.h
rename to arch/sh/include/cpu-sh4/cpu/sigcontext.h
diff --git a/include/asm-sh/cpu-sh4/sq.h b/arch/sh/include/cpu-sh4/cpu/sq.h
similarity index 100%
rename from include/asm-sh/cpu-sh4/sq.h
rename to arch/sh/include/cpu-sh4/cpu/sq.h
diff --git a/include/asm-sh/cpu-sh4/timer.h b/arch/sh/include/cpu-sh4/cpu/timer.h
similarity index 100%
rename from include/asm-sh/cpu-sh4/timer.h
rename to arch/sh/include/cpu-sh4/cpu/timer.h
diff --git a/include/asm-sh/cpu-sh4/ubc.h b/arch/sh/include/cpu-sh4/cpu/ubc.h
similarity index 100%
rename from include/asm-sh/cpu-sh4/ubc.h
rename to arch/sh/include/cpu-sh4/cpu/ubc.h
diff --git a/include/asm-sh/cpu-sh4/watchdog.h b/arch/sh/include/cpu-sh4/cpu/watchdog.h
similarity index 100%
rename from include/asm-sh/cpu-sh4/watchdog.h
rename to arch/sh/include/cpu-sh4/cpu/watchdog.h
diff --git a/include/asm-sh/cpu-sh5/addrspace.h b/arch/sh/include/cpu-sh5/cpu/addrspace.h
similarity index 100%
rename from include/asm-sh/cpu-sh5/addrspace.h
rename to arch/sh/include/cpu-sh5/cpu/addrspace.h
diff --git a/include/asm-sh/cpu-sh5/cache.h b/arch/sh/include/cpu-sh5/cpu/cache.h
similarity index 100%
rename from include/asm-sh/cpu-sh5/cache.h
rename to arch/sh/include/cpu-sh5/cpu/cache.h
diff --git a/include/asm-sh/cpu-sh5/cacheflush.h b/arch/sh/include/cpu-sh5/cpu/cacheflush.h
similarity index 100%
rename from include/asm-sh/cpu-sh5/cacheflush.h
rename to arch/sh/include/cpu-sh5/cpu/cacheflush.h
diff --git a/include/asm-sh/cpu-sh5/dma.h b/arch/sh/include/cpu-sh5/cpu/dma.h
similarity index 100%
rename from include/asm-sh/cpu-sh5/dma.h
rename to arch/sh/include/cpu-sh5/cpu/dma.h
diff --git a/include/asm-sh/cpu-sh5/irq.h b/arch/sh/include/cpu-sh5/cpu/irq.h
similarity index 100%
rename from include/asm-sh/cpu-sh5/irq.h
rename to arch/sh/include/cpu-sh5/cpu/irq.h
diff --git a/include/asm-sh/cpu-sh5/mmu_context.h b/arch/sh/include/cpu-sh5/cpu/mmu_context.h
similarity index 100%
rename from include/asm-sh/cpu-sh5/mmu_context.h
rename to arch/sh/include/cpu-sh5/cpu/mmu_context.h
diff --git a/include/asm-sh/cpu-sh5/registers.h b/arch/sh/include/cpu-sh5/cpu/registers.h
similarity index 100%
rename from include/asm-sh/cpu-sh5/registers.h
rename to arch/sh/include/cpu-sh5/cpu/registers.h
diff --git a/include/asm-sh/cpu-sh5/rtc.h b/arch/sh/include/cpu-sh5/cpu/rtc.h
similarity index 100%
rename from include/asm-sh/cpu-sh5/rtc.h
rename to arch/sh/include/cpu-sh5/cpu/rtc.h
diff --git a/include/asm-sh/cpu-sh5/timer.h b/arch/sh/include/cpu-sh5/cpu/timer.h
similarity index 100%
rename from include/asm-sh/cpu-sh5/timer.h
rename to arch/sh/include/cpu-sh5/cpu/timer.h
diff --git a/include/asm-sh/dreamcast/dma.h b/arch/sh/include/mach-dreamcast/mach/dma.h
similarity index 100%
rename from include/asm-sh/dreamcast/dma.h
rename to arch/sh/include/mach-dreamcast/mach/dma.h
diff --git a/include/asm-sh/dreamcast/maple.h b/arch/sh/include/mach-dreamcast/mach/maple.h
similarity index 100%
rename from include/asm-sh/dreamcast/maple.h
rename to arch/sh/include/mach-dreamcast/mach/maple.h
diff --git a/include/asm-sh/dreamcast/pci.h b/arch/sh/include/mach-dreamcast/mach/pci.h
similarity index 94%
rename from include/asm-sh/dreamcast/pci.h
rename to arch/sh/include/mach-dreamcast/mach/pci.h
index e401b24..9264ff4 100644
--- a/include/asm-sh/dreamcast/pci.h
+++ b/arch/sh/include/mach-dreamcast/mach/pci.h
@@ -11,7 +11,7 @@
 #ifndef __ASM_SH_DREAMCAST_PCI_H
 #define __ASM_SH_DREAMCAST_PCI_H
 
-#include <asm/mach/sysasic.h>
+#include <mach/sysasic.h>
 
 #define	GAPSPCI_REGS		0x01001400
 #define GAPSPCI_DMA_BASE	0x01840000
diff --git a/include/asm-sh/dreamcast/sysasic.h b/arch/sh/include/mach-dreamcast/mach/sysasic.h
similarity index 100%
rename from include/asm-sh/dreamcast/sysasic.h
rename to arch/sh/include/mach-dreamcast/mach/sysasic.h
diff --git a/include/asm-sh/landisk/gio.h b/arch/sh/include/mach-landisk/mach/gio.h
similarity index 100%
rename from include/asm-sh/landisk/gio.h
rename to arch/sh/include/mach-landisk/mach/gio.h
diff --git a/include/asm-sh/landisk/iodata_landisk.h b/arch/sh/include/mach-landisk/mach/iodata_landisk.h
similarity index 100%
rename from include/asm-sh/landisk/iodata_landisk.h
rename to arch/sh/include/mach-landisk/mach/iodata_landisk.h
diff --git a/include/asm-sh/sh03/io.h b/arch/sh/include/mach-sh03/mach/io.h
similarity index 100%
rename from include/asm-sh/sh03/io.h
rename to arch/sh/include/mach-sh03/mach/io.h
diff --git a/include/asm-sh/sh03/sh03.h b/arch/sh/include/mach-sh03/mach/sh03.h
similarity index 100%
rename from include/asm-sh/sh03/sh03.h
rename to arch/sh/include/mach-sh03/mach/sh03.h
diff --git a/arch/sh/kernel/cpu/irq/intc-sh5.c b/arch/sh/kernel/cpu/irq/intc-sh5.c
index 79baa47..726f033 100644
--- a/arch/sh/kernel/cpu/irq/intc-sh5.c
+++ b/arch/sh/kernel/cpu/irq/intc-sh5.c
@@ -20,7 +20,7 @@
 #include <linux/io.h>
 #include <linux/kernel.h>
 #include <linux/bitops.h>
-#include <asm/cpu/irq.h>
+#include <cpu/irq.h>
 #include <asm/page.h>
 
 /*
diff --git a/arch/sh/kernel/cpu/sh2/entry.S b/arch/sh/kernel/cpu/sh2/entry.S
index ee894e5..becc54c45 100644
--- a/arch/sh/kernel/cpu/sh2/entry.S
+++ b/arch/sh/kernel/cpu/sh2/entry.S
@@ -14,7 +14,7 @@
 #include <linux/linkage.h>
 #include <asm/asm-offsets.h>
 #include <asm/thread_info.h>
-#include <asm/cpu/mmu_context.h>
+#include <cpu/mmu_context.h>
 #include <asm/unistd.h>
 #include <asm/errno.h>
 #include <asm/page.h>
diff --git a/arch/sh/kernel/cpu/sh2a/entry.S b/arch/sh/kernel/cpu/sh2a/entry.S
index 47096dc..ab3903e 100644
--- a/arch/sh/kernel/cpu/sh2a/entry.S
+++ b/arch/sh/kernel/cpu/sh2a/entry.S
@@ -14,7 +14,7 @@
 #include <linux/linkage.h>
 #include <asm/asm-offsets.h>
 #include <asm/thread_info.h>
-#include <asm/cpu/mmu_context.h>
+#include <cpu/mmu_context.h>
 #include <asm/unistd.h>
 #include <asm/errno.h>
 #include <asm/page.h>
diff --git a/arch/sh/kernel/cpu/sh3/entry.S b/arch/sh/kernel/cpu/sh3/entry.S
index 4004073..3fe482d 100644
--- a/arch/sh/kernel/cpu/sh3/entry.S
+++ b/arch/sh/kernel/cpu/sh3/entry.S
@@ -14,7 +14,7 @@
 #include <asm/asm-offsets.h>
 #include <asm/thread_info.h>
 #include <asm/unistd.h>
-#include <asm/cpu/mmu_context.h>
+#include <cpu/mmu_context.h>
 #include <asm/page.h>
 
 ! NOTE:
diff --git a/arch/sh/kernel/cpu/sh4/fpu.c b/arch/sh/kernel/cpu/sh4/fpu.c
index 8020796..2d452f6 100644
--- a/arch/sh/kernel/cpu/sh4/fpu.c
+++ b/arch/sh/kernel/cpu/sh4/fpu.c
@@ -13,7 +13,7 @@
 #include <linux/sched.h>
 #include <linux/signal.h>
 #include <linux/io.h>
-#include <asm/cpu/fpu.h>
+#include <cpu/fpu.h>
 #include <asm/processor.h>
 #include <asm/system.h>
 #include <asm/fpu.h>
diff --git a/arch/sh/kernel/cpu/sh4/softfloat.c b/arch/sh/kernel/cpu/sh4/softfloat.c
index 7b2d337..828cb57 100644
--- a/arch/sh/kernel/cpu/sh4/softfloat.c
+++ b/arch/sh/kernel/cpu/sh4/softfloat.c
@@ -36,7 +36,7 @@
  * and Kamel Khelifi <kamel.khelifi@st.com>
  */
 #include <linux/kernel.h>
-#include <asm/cpu/fpu.h>
+#include <cpu/fpu.h>
 
 #define LIT64( a ) a##LL
 
diff --git a/arch/sh/kernel/cpu/sh4/sq.c b/arch/sh/kernel/cpu/sh4/sq.c
index 9561b02..dcdf959 100644
--- a/arch/sh/kernel/cpu/sh4/sq.c
+++ b/arch/sh/kernel/cpu/sh4/sq.c
@@ -22,7 +22,7 @@
 #include <linux/io.h>
 #include <asm/page.h>
 #include <asm/cacheflush.h>
-#include <asm/cpu/sq.h>
+#include <cpu/sq.h>
 
 struct sq_mapping;
 
diff --git a/arch/sh/kernel/cpu/sh5/entry.S b/arch/sh/kernel/cpu/sh5/entry.S
index 05372ed..ca08e7f 100644
--- a/arch/sh/kernel/cpu/sh5/entry.S
+++ b/arch/sh/kernel/cpu/sh5/entry.S
@@ -11,7 +11,7 @@
  */
 #include <linux/errno.h>
 #include <linux/sys.h>
-#include <asm/cpu/registers.h>
+#include <cpu/registers.h>
 #include <asm/processor.h>
 #include <asm/unistd.h>
 #include <asm/thread_info.h>
diff --git a/arch/sh/kernel/head_64.S b/arch/sh/kernel/head_64.S
index f42d4c0..7ccfb99 100644
--- a/arch/sh/kernel/head_64.S
+++ b/arch/sh/kernel/head_64.S
@@ -11,8 +11,8 @@
 #include <asm/page.h>
 #include <asm/cache.h>
 #include <asm/tlb.h>
-#include <asm/cpu/registers.h>
-#include <asm/cpu/mmu_context.h>
+#include <cpu/registers.h>
+#include <cpu/mmu_context.h>
 #include <asm/thread_info.h>
 
 /*
diff --git a/arch/sh/kernel/irq.c b/arch/sh/kernel/irq.c
index a2a99e4..64b7690 100644
--- a/arch/sh/kernel/irq.c
+++ b/arch/sh/kernel/irq.c
@@ -15,7 +15,7 @@
 #include <asm/machvec.h>
 #include <asm/uaccess.h>
 #include <asm/thread_info.h>
-#include <asm/cpu/mmu_context.h>
+#include <cpu/mmu_context.h>
 
 atomic_t irq_err_count;
 
diff --git a/arch/sh/kernel/time_64.c b/arch/sh/kernel/time_64.c
index 022a55f..791edab 100644
--- a/arch/sh/kernel/time_64.c
+++ b/arch/sh/kernel/time_64.c
@@ -33,8 +33,8 @@
 #include <linux/irq.h>
 #include <linux/io.h>
 #include <linux/platform_device.h>
-#include <asm/cpu/registers.h>	 /* required by inline __asm__ stmt. */
-#include <asm/cpu/irq.h>
+#include <cpu/registers.h>	 /* required by inline __asm__ stmt. */
+#include <cpu/irq.h>
 #include <asm/addrspace.h>
 #include <asm/processor.h>
 #include <asm/uaccess.h>
diff --git a/arch/sh/lib64/panic.c b/arch/sh/lib64/panic.c
index ff559e2..da32ba7 100644
--- a/arch/sh/lib64/panic.c
+++ b/arch/sh/lib64/panic.c
@@ -8,7 +8,7 @@
 
 #include <linux/kernel.h>
 #include <asm/io.h>
-#include <asm/cpu/registers.h>
+#include <cpu/registers.h>
 
 /* THIS IS A PHYSICAL ADDRESS */
 #define HDSP2534_ADDR (0x04002100)
diff --git a/arch/sh/mm/fault_64.c b/arch/sh/mm/fault_64.c
index 399d537..bd63b96 100644
--- a/arch/sh/mm/fault_64.c
+++ b/arch/sh/mm/fault_64.c
@@ -39,7 +39,7 @@
 #include <asm/uaccess.h>
 #include <asm/pgalloc.h>
 #include <asm/mmu_context.h>
-#include <asm/cpu/registers.h>
+#include <cpu/registers.h>
 
 /* Callable from fault.c, so not static */
 inline void __do_tlb_refill(unsigned long address,
diff --git a/arch/sh/tools/Makefile b/arch/sh/tools/Makefile
index 567516b..b5d202b 100644
--- a/arch/sh/tools/Makefile
+++ b/arch/sh/tools/Makefile
@@ -10,7 +10,7 @@
 # Shamelessly cloned from ARM.
 #
 
-include/asm-sh/machtypes.h: $(src)/gen-mach-types $(src)/mach-types
+arch/sh/include/asm/machtypes.h: $(src)/gen-mach-types $(src)/mach-types
 	@echo '  Generating $@'
-	$(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi
+	$(Q)if [ ! -d arch/sh/include/asm ]; then mkdir -p arch/sh/include/asm; fi
 	$(Q)$(AWK) -f $^ > $@ || { rm -f $@; /bin/false; }
diff --git a/include/asm-sh/.gitignore b/include/asm-sh/.gitignore
deleted file mode 100644
index 9218ef8..0000000
--- a/include/asm-sh/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-cpu
-mach
-machtypes.h
diff --git a/include/asm-sh/cpu-sh2a/cacheflush.h b/include/asm-sh/cpu-sh2a/cacheflush.h
deleted file mode 100644
index fa3186c..0000000
--- a/include/asm-sh/cpu-sh2a/cacheflush.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm/cpu-sh2/cacheflush.h>
diff --git a/include/asm-sh/cpu-sh2a/dma.h b/include/asm-sh/cpu-sh2a/dma.h
deleted file mode 100644
index 0d5ad85..0000000
--- a/include/asm-sh/cpu-sh2a/dma.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm/cpu-sh2/dma.h>
diff --git a/include/asm-sh/cpu-sh2a/mmu_context.h b/include/asm-sh/cpu-sh2a/mmu_context.h
deleted file mode 100644
index cd2387f..0000000
--- a/include/asm-sh/cpu-sh2a/mmu_context.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm/cpu-sh2/mmu_context.h>
diff --git a/include/asm-sh/cpu-sh2a/timer.h b/include/asm-sh/cpu-sh2a/timer.h
deleted file mode 100644
index fee504a..0000000
--- a/include/asm-sh/cpu-sh2a/timer.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm/cpu-sh2/timer.h>
diff --git a/include/asm-sh/cpu-sh2a/ubc.h b/include/asm-sh/cpu-sh2a/ubc.h
deleted file mode 100644
index cf28062..0000000
--- a/include/asm-sh/cpu-sh2a/ubc.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm/cpu-sh2/ubc.h>
diff --git a/include/asm-sh/cpu-sh2a/watchdog.h b/include/asm-sh/cpu-sh2a/watchdog.h
deleted file mode 100644
index c1b3e24..0000000
--- a/include/asm-sh/cpu-sh2a/watchdog.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm/cpu-sh2/watchdog.h>
diff --git a/sound/sh/aica.c b/sound/sh/aica.c
index 9ca1133..54df8ba 100644
--- a/sound/sh/aica.c
+++ b/sound/sh/aica.c
@@ -42,7 +42,7 @@
 #include <sound/info.h>
 #include <asm/io.h>
 #include <asm/dma.h>
-#include <asm/dreamcast/sysasic.h>
+#include <mach/sysasic.h>
 #include "aica.h"
 
 MODULE_AUTHOR("Adrian McMenamin <adrian@mcmen.demon.co.uk>");