Browse Source

Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (28 commits)
  mm/hugetlb.c must #include <asm/io.h>
  video: Fix up hp6xx driver build regressions.
  sh: defconfig updates.
  sh: Kill off stray mach-rsk7203 reference.
  serial: sh-sci: Fix up SH7760/SH7780/SH7785 early printk regression.
  sh: Move out individual boards without mach groups.
  sh: Make sure AT_SYSINFO_EHDR is exposed to userspace in asm/auxvec.h.
  sh: Allow SH-3 and SH-5 to use common headers.
  sh: Provide common CPU headers, prune the SH-2 and SH-2A directories.
  sh/maple: clean maple bus code
  sh: More header path fixups for mach dir refactoring.
  sh: Move out the solution engine headers to arch/sh/include/mach-se/
  sh: I2C fix for AP325RXA and Migo-R
  sh: Shuffle the board directories in to mach groups.
  sh: dma-sh: Fix up dreamcast dma.h mach path.
  sh: Switch KBUILD_DEFCONFIG to shx3_defconfig.
  sh: Add ARCH_DEFCONFIG entries for sh and sh64.
  sh: Fix compile error of Solution Engine
  sh: Proper __put_user_asm() size mismatch fix.
  sh: Stub in a dummy ENTRY_OFFSET for uImage offset calculation.
  ...
Linus Torvalds 17 years ago
parent
commit
00e9028a95
100 changed files with 388 additions and 376 deletions
  1. 1 1
      MAINTAINERS
  2. 7 245
      arch/sh/Kconfig
  3. 45 94
      arch/sh/Makefile
  4. 258 0
      arch/sh/boards/Kconfig
  5. 8 0
      arch/sh/boards/Makefile
  6. 4 0
      arch/sh/boards/board-ap325rxa.c
  7. 0 0
      arch/sh/boards/board-magicpanelr2.c
  8. 10 0
      arch/sh/boards/board-rsk7203.c
  9. 0 0
      arch/sh/boards/board-sh7785lcr.c
  10. 0 0
      arch/sh/boards/board-shmin.c
  11. 0 0
      arch/sh/boards/mach-cayman/Makefile
  12. 1 1
      arch/sh/boards/mach-cayman/irq.c
  13. 0 0
      arch/sh/boards/mach-cayman/led.c
  14. 1 1
      arch/sh/boards/mach-cayman/setup.c
  15. 0 0
      arch/sh/boards/mach-dreamcast/Makefile
  16. 1 1
      arch/sh/boards/mach-dreamcast/irq.c
  17. 0 0
      arch/sh/boards/mach-dreamcast/rtc.c
  18. 1 1
      arch/sh/boards/mach-dreamcast/setup.c
  19. 0 0
      arch/sh/boards/mach-edosk7705/Makefile
  20. 0 0
      arch/sh/boards/mach-edosk7705/io.c
  21. 0 0
      arch/sh/boards/mach-edosk7705/setup.c
  22. 0 0
      arch/sh/boards/mach-highlander/Kconfig
  23. 0 0
      arch/sh/boards/mach-highlander/Makefile
  24. 0 0
      arch/sh/boards/mach-highlander/irq-r7780mp.c
  25. 0 0
      arch/sh/boards/mach-highlander/irq-r7780rp.c
  26. 0 0
      arch/sh/boards/mach-highlander/irq-r7785rp.c
  27. 1 1
      arch/sh/boards/mach-highlander/psw.c
  28. 0 0
      arch/sh/boards/mach-highlander/setup.c
  29. 0 0
      arch/sh/boards/mach-hp6xx/Makefile
  30. 0 0
      arch/sh/boards/mach-hp6xx/hp6xx_apm.c
  31. 1 1
      arch/sh/boards/mach-hp6xx/pm.c
  32. 1 1
      arch/sh/boards/mach-hp6xx/pm_wakeup.S
  33. 1 1
      arch/sh/boards/mach-hp6xx/setup.c
  34. 0 0
      arch/sh/boards/mach-landisk/Makefile
  35. 2 2
      arch/sh/boards/mach-landisk/gio.c
  36. 1 1
      arch/sh/boards/mach-landisk/irq.c
  37. 1 1
      arch/sh/boards/mach-landisk/psw.c
  38. 1 1
      arch/sh/boards/mach-landisk/setup.c
  39. 0 0
      arch/sh/boards/mach-lboxre2/Makefile
  40. 0 0
      arch/sh/boards/mach-lboxre2/irq.c
  41. 0 0
      arch/sh/boards/mach-lboxre2/setup.c
  42. 0 0
      arch/sh/boards/mach-microdev/Makefile
  43. 0 0
      arch/sh/boards/mach-microdev/io.c
  44. 0 0
      arch/sh/boards/mach-microdev/irq.c
  45. 0 0
      arch/sh/boards/mach-microdev/led.c
  46. 0 0
      arch/sh/boards/mach-microdev/setup.c
  47. 0 0
      arch/sh/boards/mach-migor/Kconfig
  48. 0 0
      arch/sh/boards/mach-migor/Makefile
  49. 0 0
      arch/sh/boards/mach-migor/lcd_qvga.c
  50. 4 0
      arch/sh/boards/mach-migor/setup.c
  51. 0 0
      arch/sh/boards/mach-r2d/Kconfig
  52. 0 0
      arch/sh/boards/mach-r2d/Makefile
  53. 0 0
      arch/sh/boards/mach-r2d/irq.c
  54. 0 0
      arch/sh/boards/mach-r2d/setup.c
  55. 0 0
      arch/sh/boards/mach-sdk7780/Kconfig
  56. 0 0
      arch/sh/boards/mach-sdk7780/Makefile
  57. 0 0
      arch/sh/boards/mach-sdk7780/irq.c
  58. 0 0
      arch/sh/boards/mach-sdk7780/setup.c
  59. 0 0
      arch/sh/boards/mach-se/7206/Makefile
  60. 1 1
      arch/sh/boards/mach-se/7206/io.c
  61. 1 1
      arch/sh/boards/mach-se/7206/irq.c
  62. 1 1
      arch/sh/boards/mach-se/7206/setup.c
  63. 0 0
      arch/sh/boards/mach-se/7343/Makefile
  64. 1 1
      arch/sh/boards/mach-se/7343/io.c
  65. 3 3
      arch/sh/boards/mach-se/7343/irq.c
  66. 1 1
      arch/sh/boards/mach-se/7343/setup.c
  67. 0 0
      arch/sh/boards/mach-se/770x/Makefile
  68. 1 1
      arch/sh/boards/mach-se/770x/io.c
  69. 1 1
      arch/sh/boards/mach-se/770x/irq.c
  70. 7 1
      arch/sh/boards/mach-se/770x/setup.c
  71. 0 0
      arch/sh/boards/mach-se/7721/Makefile
  72. 1 1
      arch/sh/boards/mach-se/7721/irq.c
  73. 1 1
      arch/sh/boards/mach-se/7721/setup.c
  74. 0 0
      arch/sh/boards/mach-se/7722/Makefile
  75. 1 1
      arch/sh/boards/mach-se/7722/irq.c
  76. 1 1
      arch/sh/boards/mach-se/7722/setup.c
  77. 0 0
      arch/sh/boards/mach-se/7751/Makefile
  78. 1 1
      arch/sh/boards/mach-se/7751/io.c
  79. 1 1
      arch/sh/boards/mach-se/7751/irq.c
  80. 0 0
      arch/sh/boards/mach-se/7751/pci.c
  81. 1 1
      arch/sh/boards/mach-se/7751/setup.c
  82. 0 0
      arch/sh/boards/mach-se/7780/Makefile
  83. 1 1
      arch/sh/boards/mach-se/7780/irq.c
  84. 1 1
      arch/sh/boards/mach-se/7780/setup.c
  85. 9 0
      arch/sh/boards/mach-se/Makefile
  86. 0 0
      arch/sh/boards/mach-se/board-se7619.c
  87. 0 0
      arch/sh/boards/mach-sh03/Makefile
  88. 0 0
      arch/sh/boards/mach-sh03/rtc.c
  89. 2 2
      arch/sh/boards/mach-sh03/setup.c
  90. 0 0
      arch/sh/boards/mach-sh7763rdp/Makefile
  91. 0 0
      arch/sh/boards/mach-sh7763rdp/irq.c
  92. 0 0
      arch/sh/boards/mach-sh7763rdp/setup.c
  93. 0 0
      arch/sh/boards/mach-snapgear/Makefile
  94. 0 0
      arch/sh/boards/mach-snapgear/io.c
  95. 1 1
      arch/sh/boards/mach-snapgear/setup.c
  96. 0 0
      arch/sh/boards/mach-systemh/Makefile
  97. 0 0
      arch/sh/boards/mach-systemh/io.c
  98. 0 0
      arch/sh/boards/mach-systemh/irq.c
  99. 0 0
      arch/sh/boards/mach-systemh/setup.c
  100. 0 0
      arch/sh/boards/mach-titan/Makefile

+ 1 - 1
MAINTAINERS

@@ -3968,7 +3968,7 @@ M:	lethal@linux-sh.org
 L:	linux-sh@vger.kernel.org
 W:	http://www.linux-sh.org
 T:	git kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.git
-S:	Maintained
+S:	Supported
 
 SUN3/3X
 P:	Sam Creasey

+ 7 - 245
arch/sh/Kconfig

@@ -24,6 +24,11 @@ config SUPERH32
 config SUPERH64
 	def_bool y if CPU_SH5
 
+config ARCH_DEFCONFIG
+	string
+	default "arch/sh/configs/shx3_defconfig" if SUPERH32
+	default "arch/sh/configs/cayman_defconfig" if SUPERH64
+
 config RWSEM_GENERIC_SPINLOCK
 	def_bool y
 
@@ -348,253 +353,10 @@ config CPU_SUBTYPE_SH5_103
 endchoice
 
 source "arch/sh/mm/Kconfig"
+ 
 source "arch/sh/Kconfig.cpu"
 
-menu "Board support"
-
-config SOLUTION_ENGINE
-	bool
-
-config SH_SOLUTION_ENGINE
-	bool "SolutionEngine"
-	select SOLUTION_ENGINE
-	select CPU_HAS_IPR_IRQ
-	depends on CPU_SUBTYPE_SH7705 || CPU_SUBTYPE_SH7709 || CPU_SUBTYPE_SH7710 || \
-	  CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7750S || \
-	  CPU_SUBTYPE_SH7750R 
-	help
-	  Select SolutionEngine if configuring for a Hitachi SH7705, SH7709,
-	  SH7710, SH7712, SH7750, SH7750S or SH7750R evaluation board.
-
-config SH_7206_SOLUTION_ENGINE
-	bool "SolutionEngine7206"
-	select SOLUTION_ENGINE
-	depends on CPU_SUBTYPE_SH7206
-	help
-	  Select 7206 SolutionEngine if configuring for a Hitachi SH7206
-	  evaluation board.
-
-config SH_7619_SOLUTION_ENGINE
-	bool "SolutionEngine7619"
-	select SOLUTION_ENGINE
-	depends on CPU_SUBTYPE_SH7619
-	help
-	  Select 7619 SolutionEngine if configuring for a Hitachi SH7619
-	  evaluation board.
-	
-config SH_7721_SOLUTION_ENGINE
-	bool "SolutionEngine7721"
-	select SOLUTION_ENGINE
-	depends on CPU_SUBTYPE_SH7721
-	help
-	  Select 7721 SolutionEngine if configuring for a Hitachi SH7721
-	  evaluation board.
-
-config SH_7722_SOLUTION_ENGINE
-	bool "SolutionEngine7722"
-	select SOLUTION_ENGINE
-	depends on CPU_SUBTYPE_SH7722
-	help
-	  Select 7722 SolutionEngine if configuring for a Hitachi SH772
-	  evaluation board.
-
-config SH_7751_SOLUTION_ENGINE
-	bool "SolutionEngine7751"
-	select SOLUTION_ENGINE
-	select CPU_HAS_IPR_IRQ
-	depends on CPU_SUBTYPE_SH7751
-	help
-	  Select 7751 SolutionEngine if configuring for a Hitachi SH7751
-	  evaluation board.
-	  
-config SH_7780_SOLUTION_ENGINE
-	bool "SolutionEngine7780"
-	select SOLUTION_ENGINE
-	select SYS_SUPPORTS_PCI
-	depends on CPU_SUBTYPE_SH7780
-	help
-	  Select 7780 SolutionEngine if configuring for a Renesas SH7780
-	  evaluation board.
-
-config SH_7343_SOLUTION_ENGINE
-	bool "SolutionEngine7343"
-	select SOLUTION_ENGINE
-	depends on CPU_SUBTYPE_SH7343
-	help
-	  Select 7343 SolutionEngine if configuring for a Hitachi
-	  SH7343 (SH-Mobile 3AS) evaluation board.
-
-config SH_7751_SYSTEMH
-	bool "SystemH7751R"
-	depends on CPU_SUBTYPE_SH7751R
-	help
-	  Select SystemH if you are configuring for a Renesas SystemH
-	  7751R evaluation board.
-
-config SH_HP6XX
-	bool "HP6XX"
-	select SYS_SUPPORTS_APM_EMULATION
-	select HD6446X_SERIES
-	depends on CPU_SUBTYPE_SH7709
-	help
-	  Select HP6XX if configuring for a HP jornada HP6xx.
-	  More information (hardware only) at
-	  <http://www.hp.com/jornada/>.
-
-config SH_DREAMCAST
-	bool "Dreamcast"
-	select SYS_SUPPORTS_PCI
-	depends on CPU_SUBTYPE_SH7091
-	help
-	  Select Dreamcast if configuring for a SEGA Dreamcast.
-	  More information at <http://www.linux-sh.org>
-
-config SH_SH03
-	bool "Interface CTP/PCI-SH03"
-	depends on CPU_SUBTYPE_SH7751
-	select CPU_HAS_IPR_IRQ
-	select SYS_SUPPORTS_PCI
-	help
-	  CTP/PCI-SH03 is a CPU module computer that is produced
-	  by Interface Corporation.
-	  More information at <http://www.interface.co.jp>
-
-config SH_SECUREEDGE5410
-	bool "SecureEdge5410"
-	depends on CPU_SUBTYPE_SH7751R
-	select CPU_HAS_IPR_IRQ
-	select SYS_SUPPORTS_PCI
-	help
-	  Select SecureEdge5410 if configuring for a SnapGear SH board.
-	  This includes both the OEM SecureEdge products as well as the
-	  SME product line.
-
-config SH_RTS7751R2D
-	bool "RTS7751R2D"
-	depends on CPU_SUBTYPE_SH7751R
-	select SYS_SUPPORTS_PCI
-	select IO_TRAPPED
-	help
-	  Select RTS7751R2D if configuring for a Renesas Technology
-	  Sales SH-Graphics board.
-
-config SH_RSK7203
-	bool "RSK7203"
-	depends on CPU_SUBTYPE_SH7203
-
-config SH_SDK7780
-	bool "SDK7780R3"
-	depends on CPU_SUBTYPE_SH7780
-	select SYS_SUPPORTS_PCI
-	help
-	  Select SDK7780 if configuring for a Renesas SH7780 SDK7780R3
-	  evaluation board.
-
-config SH_HIGHLANDER
-	bool "Highlander"
-	depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
-	select SYS_SUPPORTS_PCI
-	select IO_TRAPPED
-
-config SH_SH7785LCR
-	bool "SH7785LCR"
-	depends on CPU_SUBTYPE_SH7785
-	select SYS_SUPPORTS_PCI
-	select IO_TRAPPED
-
-config SH_SH7785LCR_29BIT_PHYSMAPS
-	bool "SH7785LCR 29bit physmaps"
-	depends on SH_SH7785LCR
-	default y
-	help
-	  This board has 2 physical memory maps. It can be changed with
-	  DIP switch(S2-5). If you set the DIP switch for S2-5 = ON,
-	  you can access all on-board device in 29bit address mode.
-
-config SH_MIGOR
-	bool "Migo-R"
-	depends on CPU_SUBTYPE_SH7722
-	help
-	  Select Migo-R if configuring for the SH7722 Migo-R platform
-          by Renesas System Solutions Asia Pte. Ltd.
-
-config SH_AP325RXA
-	bool "AP-325RXA"
-	depends on CPU_SUBTYPE_SH7723
-	help
-	  Renesas "AP-325RXA" support.
-	  Compatible with ALGO SYSTEM CO.,LTD. "AP-320A"
-
-config SH_SH7763RDP
-	bool "SH7763RDP"
-	depends on CPU_SUBTYPE_SH7763
-	help
-	  Select SH7763RDP if configuring for a Renesas SH7763
-	  evaluation board.
-
-config SH_EDOSK7705
-	bool "EDOSK7705"
-	depends on CPU_SUBTYPE_SH7705
-
-config SH_SH4202_MICRODEV
-	bool "SH4-202 MicroDev"
-	depends on CPU_SUBTYPE_SH4_202
-	help
-	  Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
-	  with an SH4-202 CPU.
-
-config SH_LANDISK
-	bool "LANDISK"
-	depends on CPU_SUBTYPE_SH7751R
-	select SYS_SUPPORTS_PCI
-	help
-	  I-O DATA DEVICE, INC. "LANDISK Series" support.
-
-config SH_TITAN
-	bool "TITAN"
-	depends on CPU_SUBTYPE_SH7751R
-	select CPU_HAS_IPR_IRQ
-	select SYS_SUPPORTS_PCI
-	help
-	  Select Titan if you are configuring for a Nimble Microsystems
-	  NetEngine NP51R.
-
-config SH_SHMIN
-	bool "SHMIN"
-	depends on CPU_SUBTYPE_SH7706
-	select CPU_HAS_IPR_IRQ
-	help
-	  Select SHMIN if configuring for the SHMIN board.
-
-config SH_LBOX_RE2
-	bool "L-BOX RE2"
-	depends on CPU_SUBTYPE_SH7751R
-	select SYS_SUPPORTS_PCI
-	help
-	  Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
-
-config SH_X3PROTO
-	bool "SH-X3 Prototype board"
-	depends on CPU_SUBTYPE_SHX3
-
-config SH_MAGIC_PANEL_R2
-	bool "Magic Panel R2"
-	depends on CPU_SUBTYPE_SH7720
-	help
-	  Select Magic Panel R2 if configuring for Magic Panel R2.
-
-config SH_CAYMAN
-	bool "Hitachi Cayman"
-	depends on CPU_SUBTYPE_SH5_101 || CPU_SUBTYPE_SH5_103
-	select SYS_SUPPORTS_PCI
-
-endmenu
-
-source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
-source "arch/sh/boards/renesas/r7780rp/Kconfig"
-source "arch/sh/boards/renesas/sdk7780/Kconfig"
-source "arch/sh/boards/renesas/migor/Kconfig"
-source "arch/sh/boards/magicpanelr2/Kconfig"
+source "arch/sh/boards/Kconfig"
 
 menu "Timer and clock configuration"
 

+ 45 - 94
arch/sh/Makefile

@@ -68,7 +68,7 @@ OBJCOPYFLAGS	:= -O binary -R .note -R .note.gnu.build-id -R .comment \
 defaultimage-$(CONFIG_SUPERH32)	:= zImage
 
 # Set some sensible Kbuild defaults
-KBUILD_DEFCONFIG	:= r7780mp_defconfig
+KBUILD_DEFCONFIG	:= shx3_defconfig
 KBUILD_IMAGE		:= $(defaultimage-y)
 
 #
@@ -91,51 +91,34 @@ LDFLAGS_vmlinux		+= --defsym 'jiffies=jiffies_64+4'
 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
 head-$(CONFIG_SUPERH64)	+= arch/sh/kernel/head_64.o
 
 LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
 
-core-y				+= arch/sh/kernel/ arch/sh/mm/
+core-y				+= arch/sh/kernel/ arch/sh/mm/ arch/sh/boards/
 core-$(CONFIG_SH_FPU_EMU)	+= arch/sh/math-emu/
 
-# Boards
-machdir-$(CONFIG_SH_SOLUTION_ENGINE)		+= se/770x
-machdir-$(CONFIG_SH_7722_SOLUTION_ENGINE)	+= se/7722
-machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE)	+= se/7751
-machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE)	+= se/7780
-machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE)	+= se/7343
-machdir-$(CONFIG_SH_7721_SOLUTION_ENGINE)	+= se/7721
-machdir-$(CONFIG_SH_HP6XX)			+= hp6xx
-machdir-$(CONFIG_SH_DREAMCAST)			+= dreamcast
-machdir-$(CONFIG_SH_SH03)			+= sh03
-machdir-$(CONFIG_SH_SECUREEDGE5410)		+= snapgear
-machdir-$(CONFIG_SH_RTS7751R2D)			+= renesas/rts7751r2d
-machdir-$(CONFIG_SH_7751_SYSTEMH)		+= renesas/systemh
-machdir-$(CONFIG_SH_EDOSK7705)			+= renesas/edosk7705
-machdir-$(CONFIG_SH_HIGHLANDER)			+= renesas/r7780rp
-machdir-$(CONFIG_SH_MIGOR)			+= renesas/migor
-machdir-$(CONFIG_SH_SDK7780)			+= renesas/sdk7780
-machdir-$(CONFIG_SH_X3PROTO)			+= renesas/x3proto
-machdir-$(CONFIG_SH_RSK7203)			+= renesas/rsk7203
-machdir-$(CONFIG_SH_AP325RXA)			+= renesas/ap325rxa
-machdir-$(CONFIG_SH_SH7763RDP)			+= renesas/sh7763rdp
-machdir-$(CONFIG_SH_SH7785LCR)			+= renesas/sh7785lcr
-machdir-$(CONFIG_SH_SH4202_MICRODEV)		+= superh/microdev
-machdir-$(CONFIG_SH_LANDISK)			+= landisk
-machdir-$(CONFIG_SH_TITAN)			+= titan
-machdir-$(CONFIG_SH_SHMIN)			+= shmin
-machdir-$(CONFIG_SH_7206_SOLUTION_ENGINE)	+= se/7206
-machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE)	+= se/7619
-machdir-$(CONFIG_SH_LBOX_RE2)			+= lboxre2
-machdir-$(CONFIG_SH_MAGIC_PANEL_R2)		+= magicpanelr2
-machdir-$(CONFIG_SH_CAYMAN)			+= cayman
-
-incdir-y	:= $(notdir $(machdir-y))
+# Mach groups
+machdir-$(CONFIG_SOLUTION_ENGINE)		+= mach-se
+machdir-$(CONFIG_SH_HP6XX)			+= mach-hp6xx
+machdir-$(CONFIG_SH_DREAMCAST)			+= mach-dreamcast
+machdir-$(CONFIG_SH_SH03)			+= mach-sh03
+machdir-$(CONFIG_SH_SECUREEDGE5410)		+= mach-snapgear
+machdir-$(CONFIG_SH_RTS7751R2D)			+= mach-r2d
+machdir-$(CONFIG_SH_7751_SYSTEMH)		+= mach-systemh
+machdir-$(CONFIG_SH_EDOSK7705)			+= mach-edosk7705
+machdir-$(CONFIG_SH_HIGHLANDER)			+= mach-highlander
+machdir-$(CONFIG_SH_MIGOR)			+= mach-migor
+machdir-$(CONFIG_SH_SDK7780)			+= mach-sdk7780
+machdir-$(CONFIG_SH_X3PROTO)			+= mach-x3proto
+machdir-$(CONFIG_SH_SH7763RDP)			+= mach-sh7763rdp
+machdir-$(CONFIG_SH_SH4202_MICRODEV)		+= mach-microdev
+machdir-$(CONFIG_SH_LANDISK)			+= mach-landisk
+machdir-$(CONFIG_SH_TITAN)			+= mach-titan
+machdir-$(CONFIG_SH_LBOX_RE2)			+= mach-lboxre2
+machdir-$(CONFIG_SH_CAYMAN)			+= mach-cayman
 
 ifneq ($(machdir-y),)
 core-y	+= $(addprefix arch/sh/boards/, \
@@ -145,11 +128,22 @@ endif
 # Companion chips
 core-$(CONFIG_HD6446X_SERIES)	+= arch/sh/cchips/hd6446x/
 
-cpuincdir-$(CONFIG_CPU_SH2)	:= cpu-sh2
-cpuincdir-$(CONFIG_CPU_SH2A)	:= cpu-sh2a
-cpuincdir-$(CONFIG_CPU_SH3)	:= cpu-sh3
-cpuincdir-$(CONFIG_CPU_SH4)	:= cpu-sh4
-cpuincdir-$(CONFIG_CPU_SH5)	:= cpu-sh5
+#
+# CPU header paths
+#
+# These are ordered by optimization level. A CPU family that is a subset
+# of another (ie, SH-2A / SH-2), is picked up first, with increasing
+# levels of genericness if nothing more suitable is situated in the
+# hierarchy.
+#
+# As an example, in order of preference, SH-2A > SH-2 > common definitions.
+#
+cpuincdir-$(CONFIG_CPU_SH2A)	+= cpu-sh2a
+cpuincdir-$(CONFIG_CPU_SH2)	+= cpu-sh2
+cpuincdir-$(CONFIG_CPU_SH3)	+= cpu-sh3
+cpuincdir-$(CONFIG_CPU_SH4)	+= cpu-sh4
+cpuincdir-$(CONFIG_CPU_SH5)	+= cpu-sh5
+cpuincdir-y			+= cpu-common	# Must be last
 
 libs-$(CONFIG_SUPERH32)		:= arch/sh/lib/	$(libs-y)
 libs-$(CONFIG_SUPERH64)		:= arch/sh/lib64/ $(libs-y)
@@ -160,57 +154,17 @@ drivers-$(CONFIG_OPROFILE)	+= arch/sh/oprofile/
 
 boot := arch/sh/boot
 
-ifneq ($(KBUILD_SRC),)
-incdir-prefix	:= $(srctree)/include/asm-sh/
-else
-incdir-prefix	:=
-endif
-
-#	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 $@
+cflags-y	+= $(foreach d, $(cpuincdir-y), -Iarch/sh/include/$(d)) \
+		   $(foreach d, $(machdir-y), -Iarch/sh/include/$(d))
 
-#	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 +173,7 @@ zImage uImage uImage.srec vmlinux.srec: vmlinux
 
 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 +215,4 @@ arch/sh/lib64/syscalltab.h: arch/sh/kernel/syscalls_64.S
 	$(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

+ 258 - 0
arch/sh/boards/Kconfig

@@ -0,0 +1,258 @@
+menu "Board support"
+
+config SOLUTION_ENGINE
+	bool
+
+config SH_SOLUTION_ENGINE
+	bool "SolutionEngine"
+	select SOLUTION_ENGINE
+	select CPU_HAS_IPR_IRQ
+	depends on CPU_SUBTYPE_SH7705 || CPU_SUBTYPE_SH7709 || CPU_SUBTYPE_SH7710 || \
+	  CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7750S || \
+	  CPU_SUBTYPE_SH7750R 
+	help
+	  Select SolutionEngine if configuring for a Hitachi SH7705, SH7709,
+	  SH7710, SH7712, SH7750, SH7750S or SH7750R evaluation board.
+
+config SH_7206_SOLUTION_ENGINE
+	bool "SolutionEngine7206"
+	select SOLUTION_ENGINE
+	depends on CPU_SUBTYPE_SH7206
+	help
+	  Select 7206 SolutionEngine if configuring for a Hitachi SH7206
+	  evaluation board.
+
+config SH_7619_SOLUTION_ENGINE
+	bool "SolutionEngine7619"
+	select SOLUTION_ENGINE
+	depends on CPU_SUBTYPE_SH7619
+	help
+	  Select 7619 SolutionEngine if configuring for a Hitachi SH7619
+	  evaluation board.
+	
+config SH_7721_SOLUTION_ENGINE
+	bool "SolutionEngine7721"
+	select SOLUTION_ENGINE
+	depends on CPU_SUBTYPE_SH7721
+	help
+	  Select 7721 SolutionEngine if configuring for a Hitachi SH7721
+	  evaluation board.
+
+config SH_7722_SOLUTION_ENGINE
+	bool "SolutionEngine7722"
+	select SOLUTION_ENGINE
+	depends on CPU_SUBTYPE_SH7722
+	help
+	  Select 7722 SolutionEngine if configuring for a Hitachi SH772
+	  evaluation board.
+
+config SH_7751_SOLUTION_ENGINE
+	bool "SolutionEngine7751"
+	select SOLUTION_ENGINE
+	select CPU_HAS_IPR_IRQ
+	depends on CPU_SUBTYPE_SH7751
+	help
+	  Select 7751 SolutionEngine if configuring for a Hitachi SH7751
+	  evaluation board.
+	  
+config SH_7780_SOLUTION_ENGINE
+	bool "SolutionEngine7780"
+	select SOLUTION_ENGINE
+	select SYS_SUPPORTS_PCI
+	depends on CPU_SUBTYPE_SH7780
+	help
+	  Select 7780 SolutionEngine if configuring for a Renesas SH7780
+	  evaluation board.
+
+config SH_7343_SOLUTION_ENGINE
+	bool "SolutionEngine7343"
+	select SOLUTION_ENGINE
+	depends on CPU_SUBTYPE_SH7343
+	help
+	  Select 7343 SolutionEngine if configuring for a Hitachi
+	  SH7343 (SH-Mobile 3AS) evaluation board.
+
+config SH_7751_SYSTEMH
+	bool "SystemH7751R"
+	depends on CPU_SUBTYPE_SH7751R
+	help
+	  Select SystemH if you are configuring for a Renesas SystemH
+	  7751R evaluation board.
+
+config SH_HP6XX
+	bool "HP6XX"
+	select SYS_SUPPORTS_APM_EMULATION
+	select HD6446X_SERIES
+	depends on CPU_SUBTYPE_SH7709
+	help
+	  Select HP6XX if configuring for a HP jornada HP6xx.
+	  More information (hardware only) at
+	  <http://www.hp.com/jornada/>.
+
+config SH_DREAMCAST
+	bool "Dreamcast"
+	select SYS_SUPPORTS_PCI
+	depends on CPU_SUBTYPE_SH7091
+	help
+	  Select Dreamcast if configuring for a SEGA Dreamcast.
+	  More information at <http://www.linux-sh.org>
+
+config SH_SH03
+	bool "Interface CTP/PCI-SH03"
+	depends on CPU_SUBTYPE_SH7751
+	select CPU_HAS_IPR_IRQ
+	select SYS_SUPPORTS_PCI
+	help
+	  CTP/PCI-SH03 is a CPU module computer that is produced
+	  by Interface Corporation.
+	  More information at <http://www.interface.co.jp>
+
+config SH_SECUREEDGE5410
+	bool "SecureEdge5410"
+	depends on CPU_SUBTYPE_SH7751R
+	select CPU_HAS_IPR_IRQ
+	select SYS_SUPPORTS_PCI
+	help
+	  Select SecureEdge5410 if configuring for a SnapGear SH board.
+	  This includes both the OEM SecureEdge products as well as the
+	  SME product line.
+
+config SH_RTS7751R2D
+	bool "RTS7751R2D"
+	depends on CPU_SUBTYPE_SH7751R
+	select SYS_SUPPORTS_PCI
+	select IO_TRAPPED
+	help
+	  Select RTS7751R2D if configuring for a Renesas Technology
+	  Sales SH-Graphics board.
+
+config SH_RSK7203
+	bool "RSK7203"
+	depends on CPU_SUBTYPE_SH7203
+
+config SH_SDK7780
+	bool "SDK7780R3"
+	depends on CPU_SUBTYPE_SH7780
+	select SYS_SUPPORTS_PCI
+	help
+	  Select SDK7780 if configuring for a Renesas SH7780 SDK7780R3
+	  evaluation board.
+
+config SH_HIGHLANDER
+	bool "Highlander"
+	depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
+	select SYS_SUPPORTS_PCI
+	select IO_TRAPPED
+
+config SH_SH7785LCR
+	bool "SH7785LCR"
+	depends on CPU_SUBTYPE_SH7785
+	select SYS_SUPPORTS_PCI
+	select IO_TRAPPED
+
+config SH_SH7785LCR_29BIT_PHYSMAPS
+	bool "SH7785LCR 29bit physmaps"
+	depends on SH_SH7785LCR
+	default y
+	help
+	  This board has 2 physical memory maps. It can be changed with
+	  DIP switch(S2-5). If you set the DIP switch for S2-5 = ON,
+	  you can access all on-board device in 29bit address mode.
+
+config SH_MIGOR
+	bool "Migo-R"
+	depends on CPU_SUBTYPE_SH7722
+	help
+	  Select Migo-R if configuring for the SH7722 Migo-R platform
+          by Renesas System Solutions Asia Pte. Ltd.
+
+config SH_AP325RXA
+	bool "AP-325RXA"
+	depends on CPU_SUBTYPE_SH7723
+	help
+	  Renesas "AP-325RXA" support.
+	  Compatible with ALGO SYSTEM CO.,LTD. "AP-320A"
+
+config SH_SH7763RDP
+	bool "SH7763RDP"
+	depends on CPU_SUBTYPE_SH7763
+	help
+	  Select SH7763RDP if configuring for a Renesas SH7763
+	  evaluation board.
+
+config SH_EDOSK7705
+	bool "EDOSK7705"
+	depends on CPU_SUBTYPE_SH7705
+
+config SH_SH4202_MICRODEV
+	bool "SH4-202 MicroDev"
+	depends on CPU_SUBTYPE_SH4_202
+	help
+	  Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
+	  with an SH4-202 CPU.
+
+config SH_LANDISK
+	bool "LANDISK"
+	depends on CPU_SUBTYPE_SH7751R
+	select SYS_SUPPORTS_PCI
+	help
+	  I-O DATA DEVICE, INC. "LANDISK Series" support.
+
+config SH_TITAN
+	bool "TITAN"
+	depends on CPU_SUBTYPE_SH7751R
+	select CPU_HAS_IPR_IRQ
+	select SYS_SUPPORTS_PCI
+	help
+	  Select Titan if you are configuring for a Nimble Microsystems
+	  NetEngine NP51R.
+
+config SH_SHMIN
+	bool "SHMIN"
+	depends on CPU_SUBTYPE_SH7706
+	select CPU_HAS_IPR_IRQ
+	help
+	  Select SHMIN if configuring for the SHMIN board.
+
+config SH_LBOX_RE2
+	bool "L-BOX RE2"
+	depends on CPU_SUBTYPE_SH7751R
+	select SYS_SUPPORTS_PCI
+	help
+	  Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
+
+config SH_X3PROTO
+	bool "SH-X3 Prototype board"
+	depends on CPU_SUBTYPE_SHX3
+
+config SH_MAGIC_PANEL_R2
+	bool "Magic Panel R2"
+	depends on CPU_SUBTYPE_SH7720
+	help
+	  Select Magic Panel R2 if configuring for Magic Panel R2.
+
+config SH_CAYMAN
+	bool "Hitachi Cayman"
+	depends on CPU_SUBTYPE_SH5_101 || CPU_SUBTYPE_SH5_103
+	select SYS_SUPPORTS_PCI
+
+endmenu
+
+source "arch/sh/boards/mach-r2d/Kconfig"
+source "arch/sh/boards/mach-highlander/Kconfig"
+source "arch/sh/boards/mach-sdk7780/Kconfig"
+source "arch/sh/boards/mach-migor/Kconfig"
+
+if SH_MAGIC_PANEL_R2
+
+menu "Magic Panel R2 options"
+
+config SH_MAGIC_PANEL_R2_VERSION
+	int SH_MAGIC_PANEL_R2_VERSION
+	default "3"
+	help
+	  Set the version of the Magic Panel R2
+
+endmenu
+
+endif

+ 8 - 0
arch/sh/boards/Makefile

@@ -0,0 +1,8 @@
+#
+# Specific board support, not covered by a mach group.
+#
+obj-$(CONFIG_SH_AP325RXA)	+= board-ap325rxa.o
+obj-$(CONFIG_SH_MAGIC_PANEL_R2)	+= board-magicpanelr2.o
+obj-$(CONFIG_SH_RSK7203)	+= board-rsk7203.o
+obj-$(CONFIG_SH_SH7785LCR)	+= board-sh7785lcr.o
+obj-$(CONFIG_SH_SHMIN)		+= board-shmin..o

+ 4 - 0
arch/sh/boards/renesas/ap325rxa/setup.c → arch/sh/boards/board-ap325rxa.c

@@ -165,6 +165,7 @@ static struct platform_device lcdc_device = {
 	},
 };
 
+#ifdef CONFIG_I2C
 static unsigned char camera_ncm03j_magic[] =
 {
 	0x87, 0x00, 0x88, 0x08, 0x89, 0x01, 0x8A, 0xE8,
@@ -234,6 +235,7 @@ static struct platform_device camera_device = {
 		.platform_data	= &camera_info,
 	},
 };
+#endif /* CONFIG_I2C */
 
 static struct sh_mobile_ceu_info sh_mobile_ceu_info = {
 	.flags = SOCAM_PCLK_SAMPLE_RISING | SOCAM_HSYNC_ACTIVE_HIGH |
@@ -270,7 +272,9 @@ static struct platform_device *ap325rxa_devices[] __initdata = {
 	&ap325rxa_nor_flash_device,
 	&lcdc_device,
 	&ceu_device,
+#ifdef CONFIG_I2C
 	&camera_device,
+#endif
 };
 
 static struct i2c_board_info __initdata ap325rxa_i2c_devices[] = {

+ 0 - 0
arch/sh/boards/magicpanelr2/setup.c → arch/sh/boards/board-magicpanelr2.c


+ 10 - 0
arch/sh/boards/renesas/rsk7203/setup.c → arch/sh/boards/board-rsk7203.c

@@ -10,13 +10,20 @@
 #include <linux/init.h>
 #include <linux/types.h>
 #include <linux/platform_device.h>
+#include <linux/interrupt.h>
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/partitions.h>
 #include <linux/mtd/physmap.h>
 #include <linux/mtd/map.h>
+#include <linux/smc911x.h>
 #include <asm/machvec.h>
 #include <asm/io.h>
 
+static struct smc911x_platdata smc911x_info = {
+	.flags		= SMC911X_USE_16BIT,
+	.irq_flags	= IRQF_TRIGGER_LOW,
+};
+
 static struct resource smc911x_resources[] = {
 	[0] = {
 		.start		= 0x24000000,
@@ -35,6 +42,9 @@ static struct platform_device smc911x_device = {
 	.id		= -1,
 	.num_resources	= ARRAY_SIZE(smc911x_resources),
 	.resource	= smc911x_resources,
+	.dev		= {
+		.platform_data = &smc911x_info,
+	},
 };
 
 static const char *probes[] = { "cmdlinepart", NULL };

+ 0 - 0
arch/sh/boards/renesas/sh7785lcr/setup.c → arch/sh/boards/board-sh7785lcr.c


+ 0 - 0
arch/sh/boards/shmin/setup.c → arch/sh/boards/board-shmin.c


+ 0 - 0
arch/sh/boards/cayman/Makefile → arch/sh/boards/mach-cayman/Makefile


+ 1 - 1
arch/sh/boards/cayman/irq.c → arch/sh/boards/mach-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 */

+ 0 - 0
arch/sh/boards/cayman/led.c → arch/sh/boards/mach-cayman/led.c


+ 1 - 1
arch/sh/boards/cayman/setup.c → arch/sh/boards/mach-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.

+ 0 - 0
arch/sh/boards/dreamcast/Makefile → arch/sh/boards/mach-dreamcast/Makefile


+ 1 - 1
arch/sh/boards/dreamcast/irq.c → arch/sh/boards/mach-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 -
 

+ 0 - 0
arch/sh/boards/dreamcast/rtc.c → arch/sh/boards/mach-dreamcast/rtc.c


+ 1 - 1
arch/sh/boards/dreamcast/setup.c → arch/sh/boards/mach-dreamcast/setup.c

@@ -26,7 +26,7 @@
 #include <asm/irq.h>
 #include <asm/rtc.h>
 #include <asm/machvec.h>
-#include <asm/mach/sysasic.h>
+#include <mach/sysasic.h>
 
 extern struct hw_interrupt_type systemasic_int;
 extern void aica_time_init(void);

+ 0 - 0
arch/sh/boards/renesas/edosk7705/Makefile → arch/sh/boards/mach-edosk7705/Makefile


+ 0 - 0
arch/sh/boards/renesas/edosk7705/io.c → arch/sh/boards/mach-edosk7705/io.c


+ 0 - 0
arch/sh/boards/renesas/edosk7705/setup.c → arch/sh/boards/mach-edosk7705/setup.c


+ 0 - 0
arch/sh/boards/renesas/r7780rp/Kconfig → arch/sh/boards/mach-highlander/Kconfig


+ 0 - 0
arch/sh/boards/renesas/r7780rp/Makefile → arch/sh/boards/mach-highlander/Makefile


+ 0 - 0
arch/sh/boards/renesas/r7780rp/irq-r7780mp.c → arch/sh/boards/mach-highlander/irq-r7780mp.c


+ 0 - 0
arch/sh/boards/renesas/r7780rp/irq-r7780rp.c → arch/sh/boards/mach-highlander/irq-r7780rp.c


+ 0 - 0
arch/sh/boards/renesas/r7780rp/irq-r7785rp.c → arch/sh/boards/mach-highlander/irq-r7785rp.c


+ 1 - 1
arch/sh/boards/renesas/r7780rp/psw.c → arch/sh/boards/mach-highlander/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 <asm/r7780rp.h>
 #include <asm/push-switch.h>
 
 static irqreturn_t psw_irq_handler(int irq, void *arg)

+ 0 - 0
arch/sh/boards/renesas/r7780rp/setup.c → arch/sh/boards/mach-highlander/setup.c


+ 0 - 0
arch/sh/boards/hp6xx/Makefile → arch/sh/boards/mach-hp6xx/Makefile


+ 0 - 0
arch/sh/boards/hp6xx/hp6xx_apm.c → arch/sh/boards/mach-hp6xx/hp6xx_apm.c


+ 1 - 1
arch/sh/boards/hp6xx/pm.c → arch/sh/boards/mach-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

+ 1 - 1
arch/sh/boards/hp6xx/pm_wakeup.S → arch/sh/boards/mach-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

+ 1 - 1
arch/sh/boards/hp6xx/setup.c → arch/sh/boards/mach-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

+ 0 - 0
arch/sh/boards/landisk/Makefile → arch/sh/boards/mach-landisk/Makefile


+ 2 - 2
arch/sh/boards/landisk/gio.c → arch/sh/boards/mach-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-landisk/mach/gio.h>
+#include <mach-landisk/mach/iodata_landisk.h>
 
 #define DEVCOUNT                4
 #define GIO_MINOR	        2	/* GIO minor no. */

+ 1 - 1
arch/sh/boards/landisk/irq.c → arch/sh/boards/mach-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-landisk/mach/iodata_landisk.h>
 
 static void disable_landisk_irq(unsigned int irq)
 {

+ 1 - 1
arch/sh/boards/landisk/psw.c → arch/sh/boards/mach-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-landisk/mach/iodata_landisk.h>
 #include <asm/push-switch.h>
 
 static irqreturn_t psw_irq_handler(int irq, void *arg)

+ 1 - 1
arch/sh/boards/landisk/setup.c → arch/sh/boards/mach-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-landisk/mach/iodata_landisk.h>
 #include <asm/io.h>
 
 void init_landisk_IRQ(void);

+ 0 - 0
arch/sh/boards/lboxre2/Makefile → arch/sh/boards/mach-lboxre2/Makefile


+ 0 - 0
arch/sh/boards/lboxre2/irq.c → arch/sh/boards/mach-lboxre2/irq.c


+ 0 - 0
arch/sh/boards/lboxre2/setup.c → arch/sh/boards/mach-lboxre2/setup.c


+ 0 - 0
arch/sh/boards/superh/microdev/Makefile → arch/sh/boards/mach-microdev/Makefile


+ 0 - 0
arch/sh/boards/superh/microdev/io.c → arch/sh/boards/mach-microdev/io.c


+ 0 - 0
arch/sh/boards/superh/microdev/irq.c → arch/sh/boards/mach-microdev/irq.c


+ 0 - 0
arch/sh/boards/superh/microdev/led.c → arch/sh/boards/mach-microdev/led.c


+ 0 - 0
arch/sh/boards/superh/microdev/setup.c → arch/sh/boards/mach-microdev/setup.c


+ 0 - 0
arch/sh/boards/renesas/migor/Kconfig → arch/sh/boards/mach-migor/Kconfig


+ 0 - 0
arch/sh/boards/renesas/migor/Makefile → arch/sh/boards/mach-migor/Makefile


+ 0 - 0
arch/sh/boards/renesas/migor/lcd_qvga.c → arch/sh/boards/mach-migor/lcd_qvga.c


+ 4 - 0
arch/sh/boards/renesas/migor/setup.c → arch/sh/boards/mach-migor/setup.c

@@ -304,6 +304,7 @@ static void camera_power_off(void)
 	ctrl_outb(ctrl_inb(PORT_PTDR) & ~0x08, PORT_PTDR);
 }
 
+#ifdef CONFIG_I2C
 static unsigned char camera_ov772x_magic[] =
 {
 	0x09, 0x01, 0x0c, 0x10, 0x0d, 0x41, 0x0e, 0x01,
@@ -391,6 +392,7 @@ static struct platform_device migor_camera_device = {
 		.platform_data	= &ov772x_info,
 	},
 };
+#endif /* CONFIG_I2C */
 
 static struct sh_mobile_ceu_info sh_mobile_ceu_info = {
 	.flags = SOCAM_MASTER | SOCAM_DATAWIDTH_8 | SOCAM_PCLK_SAMPLE_RISING \
@@ -429,7 +431,9 @@ static struct platform_device *migor_devices[] __initdata = {
 	&sh_keysc_device,
 	&migor_lcdc_device,
 	&migor_ceu_device,
+#ifdef CONFIG_I2C
 	&migor_camera_device,
+#endif
 	&migor_nor_flash_device,
 	&migor_nand_flash_device,
 };

+ 0 - 0
arch/sh/boards/renesas/rts7751r2d/Kconfig → arch/sh/boards/mach-r2d/Kconfig


+ 0 - 0
arch/sh/boards/renesas/rts7751r2d/Makefile → arch/sh/boards/mach-r2d/Makefile


+ 0 - 0
arch/sh/boards/renesas/rts7751r2d/irq.c → arch/sh/boards/mach-r2d/irq.c


+ 0 - 0
arch/sh/boards/renesas/rts7751r2d/setup.c → arch/sh/boards/mach-r2d/setup.c


+ 0 - 0
arch/sh/boards/renesas/sdk7780/Kconfig → arch/sh/boards/mach-sdk7780/Kconfig


+ 0 - 0
arch/sh/boards/renesas/sdk7780/Makefile → arch/sh/boards/mach-sdk7780/Makefile


+ 0 - 0
arch/sh/boards/renesas/sdk7780/irq.c → arch/sh/boards/mach-sdk7780/irq.c


+ 0 - 0
arch/sh/boards/renesas/sdk7780/setup.c → arch/sh/boards/mach-sdk7780/setup.c


+ 0 - 0
arch/sh/boards/se/7206/Makefile → arch/sh/boards/mach-se/7206/Makefile


+ 1 - 1
arch/sh/boards/se/7206/io.c → arch/sh/boards/mach-se/7206/io.c

@@ -11,7 +11,7 @@
 #include <linux/kernel.h>
 #include <linux/types.h>
 #include <asm/io.h>
-#include <asm/se7206.h>
+#include <mach-se/mach/se7206.h>
 
 
 static inline void delay(void)

+ 1 - 1
arch/sh/boards/se/7206/irq.c → arch/sh/boards/mach-se/7206/irq.c

@@ -10,7 +10,7 @@
 #include <linux/irq.h>
 #include <linux/io.h>
 #include <linux/interrupt.h>
-#include <asm/se7206.h>
+#include <mach-se/mach/se7206.h>
 
 #define INTSTS0 0x31800000
 #define INTSTS1 0x31800002

+ 1 - 1
arch/sh/boards/se/7206/setup.c → arch/sh/boards/mach-se/7206/setup.c

@@ -10,7 +10,7 @@
 #include <linux/init.h>
 #include <linux/platform_device.h>
 #include <linux/smc91x.h>
-#include <asm/se7206.h>
+#include <mach-se/mach/se7206.h>
 #include <asm/io.h>
 #include <asm/machvec.h>
 #include <asm/heartbeat.h>

+ 0 - 0
arch/sh/boards/se/7343/Makefile → arch/sh/boards/mach-se/7343/Makefile


+ 1 - 1
arch/sh/boards/se/7343/io.c → arch/sh/boards/mach-se/7343/io.c

@@ -6,7 +6,7 @@
  */
 #include <linux/kernel.h>
 #include <asm/io.h>
-#include <asm/mach/se7343.h>
+#include <mach-se/mach/se7343.h>
 
 #define badio(fn, a) panic("bad i/o operation %s for %08lx.", #fn, a)
 

+ 3 - 3
arch/sh/boards/se/7343/irq.c → arch/sh/boards/mach-se/7343/irq.c

@@ -13,9 +13,9 @@
 #include <linux/init.h>
 #include <linux/irq.h>
 #include <linux/interrupt.h>
-#include <asm/irq.h>
-#include <asm/io.h>
-#include <asm/se7343.h>
+#include <linux/irq.h>
+#include <linux/io.h>
+#include <mach-se/mach/se7343.h>
 
 static void disable_se7343_irq(unsigned int irq)
 {

+ 1 - 1
arch/sh/boards/se/7343/setup.c → arch/sh/boards/mach-se/7343/setup.c

@@ -2,7 +2,7 @@
 #include <linux/platform_device.h>
 #include <linux/mtd/physmap.h>
 #include <asm/machvec.h>
-#include <asm/mach/se7343.h>
+#include <mach-se/mach/se7343.h>
 #include <asm/heartbeat.h>
 #include <asm/irq.h>
 #include <asm/io.h>

+ 0 - 0
arch/sh/boards/se/770x/Makefile → arch/sh/boards/mach-se/770x/Makefile


+ 1 - 1
arch/sh/boards/se/770x/io.c → arch/sh/boards/mach-se/770x/io.c

@@ -6,7 +6,7 @@
 #include <linux/kernel.h>
 #include <linux/types.h>
 #include <asm/io.h>
-#include <asm/se.h>
+#include <mach-se/mach/se.h>
 
 /* MS7750 requires special versions of in*, out* routines, since
    PC-like io ports are located at upper half byte of 16-bit word which

+ 1 - 1
arch/sh/boards/se/770x/irq.c → arch/sh/boards/mach-se/770x/irq.c

@@ -13,7 +13,7 @@
 #include <linux/irq.h>
 #include <asm/irq.h>
 #include <asm/io.h>
-#include <asm/se.h>
+#include <mach-se/mach/se.h>
 
 static struct ipr_data ipr_irq_table[] = {
 	/*

+ 7 - 1
arch/sh/boards/se/770x/setup.c → arch/sh/boards/mach-se/770x/setup.c

@@ -9,7 +9,7 @@
 #include <linux/init.h>
 #include <linux/platform_device.h>
 #include <asm/machvec.h>
-#include <asm/se.h>
+#include <mach-se/mach/se.h>
 #include <asm/io.h>
 #include <asm/smc37c93x.h>
 #include <asm/heartbeat.h>
@@ -113,6 +113,8 @@ static struct platform_device heartbeat_device = {
 	.resource	= heartbeat_resources,
 };
 
+#if defined(CONFIG_CPU_SUBTYPE_SH7710) ||\
+	defined(CONFIG_CPU_SUBTYPE_SH7712)
 /* SH771X Ethernet driver */
 static struct resource sh_eth0_resources[] = {
 	[0] = {
@@ -159,12 +161,16 @@ static struct platform_device sh_eth1_device = {
 	.num_resources = ARRAY_SIZE(sh_eth1_resources),
 	.resource = sh_eth1_resources,
 };
+#endif
 
 static struct platform_device *se_devices[] __initdata = {
 	&heartbeat_device,
 	&cf_ide_device,
+#if defined(CONFIG_CPU_SUBTYPE_SH7710) ||\
+	defined(CONFIG_CPU_SUBTYPE_SH7712)
 	&sh_eth0_device,
 	&sh_eth1_device,
+#endif
 };
 
 static int __init se_devices_setup(void)

+ 0 - 0
arch/sh/boards/se/7721/Makefile → arch/sh/boards/mach-se/7721/Makefile


+ 1 - 1
arch/sh/boards/se/7721/irq.c → arch/sh/boards/mach-se/7721/irq.c

@@ -11,7 +11,7 @@
 #include <linux/irq.h>
 #include <linux/interrupt.h>
 #include <linux/io.h>
-#include <asm/se7721.h>
+#include <mach-se/mach/se7721.h>
 
 enum {
 	UNUSED = 0,

+ 1 - 1
arch/sh/boards/se/7721/setup.c → arch/sh/boards/mach-se/7721/setup.c

@@ -13,7 +13,7 @@
 #include <linux/init.h>
 #include <linux/platform_device.h>
 #include <asm/machvec.h>
-#include <asm/se7721.h>
+#include <mach-se/mach/se7721.h>
 #include <asm/io.h>
 #include <asm/heartbeat.h>
 

+ 0 - 0
arch/sh/boards/se/7722/Makefile → arch/sh/boards/mach-se/7722/Makefile


+ 1 - 1
arch/sh/boards/se/7722/irq.c → arch/sh/boards/mach-se/7722/irq.c

@@ -14,7 +14,7 @@
 #include <linux/interrupt.h>
 #include <asm/irq.h>
 #include <asm/io.h>
-#include <asm/se7722.h>
+#include <mach-se/mach/se7722.h>
 
 static void disable_se7722_irq(unsigned int irq)
 {

+ 1 - 1
arch/sh/boards/se/7722/setup.c → arch/sh/boards/mach-se/7722/setup.c

@@ -17,7 +17,7 @@
 #include <linux/smc91x.h>
 #include <asm/machvec.h>
 #include <asm/clock.h>
-#include <asm/se7722.h>
+#include <mach-se/mach/se7722.h>
 #include <asm/io.h>
 #include <asm/heartbeat.h>
 #include <asm/sh_keysc.h>

+ 0 - 0
arch/sh/boards/se/7751/Makefile → arch/sh/boards/mach-se/7751/Makefile


+ 1 - 1
arch/sh/boards/se/7751/io.c → arch/sh/boards/mach-se/7751/io.c

@@ -12,7 +12,7 @@
 #include <linux/types.h>
 #include <linux/pci.h>
 #include <asm/io.h>
-#include <asm/se7751.h>
+#include <mach-se/mach/se7751.h>
 #include <asm/addrspace.h>
 
 static inline volatile u16 *port2adr(unsigned int port)

+ 1 - 1
arch/sh/boards/se/7751/irq.c → arch/sh/boards/mach-se/7751/irq.c

@@ -12,7 +12,7 @@
 #include <linux/init.h>
 #include <linux/irq.h>
 #include <asm/irq.h>
-#include <asm/se7751.h>
+#include <mach-se/mach/se7751.h>
 
 static struct ipr_data ipr_irq_table[] = {
 	{ 13, 3, 3, 2 },

+ 0 - 0
arch/sh/boards/se/7751/pci.c → arch/sh/boards/mach-se/7751/pci.c


+ 1 - 1
arch/sh/boards/se/7751/setup.c → arch/sh/boards/mach-se/7751/setup.c

@@ -11,7 +11,7 @@
 #include <linux/init.h>
 #include <linux/platform_device.h>
 #include <asm/machvec.h>
-#include <asm/se7751.h>
+#include <mach-se/mach/se7751.h>
 #include <asm/io.h>
 #include <asm/heartbeat.h>
 

+ 0 - 0
arch/sh/boards/se/7780/Makefile → arch/sh/boards/mach-se/7780/Makefile


+ 1 - 1
arch/sh/boards/se/7780/irq.c → arch/sh/boards/mach-se/7780/irq.c

@@ -14,7 +14,7 @@
 #include <linux/interrupt.h>
 #include <asm/irq.h>
 #include <asm/io.h>
-#include <asm/se7780.h>
+#include <mach-se/mach/se7780.h>
 
 /*
  * Initialize IRQ setting

+ 1 - 1
arch/sh/boards/se/7780/setup.c → arch/sh/boards/mach-se/7780/setup.c

@@ -12,7 +12,7 @@
 #include <linux/init.h>
 #include <linux/platform_device.h>
 #include <asm/machvec.h>
-#include <asm/se7780.h>
+#include <mach-se/mach/se7780.h>
 #include <asm/io.h>
 #include <asm/heartbeat.h>
 

+ 9 - 0
arch/sh/boards/mach-se/Makefile

@@ -0,0 +1,9 @@
+obj-$(CONFIG_SH_7619_SOLUTION_ENGINE)	+= board-se7619.o
+
+obj-$(CONFIG_SH_SOLUTION_ENGINE)	+= 770x/
+obj-$(CONFIG_SH_7206_SOLUTION_ENGINE)	+= 7206/
+obj-$(CONFIG_SH_7722_SOLUTION_ENGINE)	+= 7722/
+obj-$(CONFIG_SH_7751_SOLUTION_ENGINE)	+= 7751/
+obj-$(CONFIG_SH_7780_SOLUTION_ENGINE)	+= 7780/
+obj-$(CONFIG_SH_7343_SOLUTION_ENGINE)	+= 7343/
+obj-$(CONFIG_SH_7721_SOLUTION_ENGINE)	+= 7721/

+ 0 - 0
arch/sh/boards/se/7619/setup.c → arch/sh/boards/mach-se/board-se7619.c


+ 0 - 0
arch/sh/boards/sh03/Makefile → arch/sh/boards/mach-sh03/Makefile


+ 0 - 0
arch/sh/boards/sh03/rtc.c → arch/sh/boards/mach-sh03/rtc.c


+ 2 - 2
arch/sh/boards/sh03/setup.c → arch/sh/boards/mach-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-sh03/mach/io.h>
+#include <mach-sh03/mach/sh03.h>
 #include <asm/addrspace.h>
 
 static void __init init_sh03_IRQ(void)

+ 0 - 0
arch/sh/boards/renesas/sh7763rdp/Makefile → arch/sh/boards/mach-sh7763rdp/Makefile


+ 0 - 0
arch/sh/boards/renesas/sh7763rdp/irq.c → arch/sh/boards/mach-sh7763rdp/irq.c


+ 0 - 0
arch/sh/boards/renesas/sh7763rdp/setup.c → arch/sh/boards/mach-sh7763rdp/setup.c


+ 0 - 0
arch/sh/boards/snapgear/Makefile → arch/sh/boards/mach-snapgear/Makefile


+ 0 - 0
arch/sh/boards/snapgear/io.c → arch/sh/boards/mach-snapgear/io.c


+ 1 - 1
arch/sh/boards/snapgear/setup.c → arch/sh/boards/mach-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

+ 0 - 0
arch/sh/boards/renesas/systemh/Makefile → arch/sh/boards/mach-systemh/Makefile


+ 0 - 0
arch/sh/boards/renesas/systemh/io.c → arch/sh/boards/mach-systemh/io.c


+ 0 - 0
arch/sh/boards/renesas/systemh/irq.c → arch/sh/boards/mach-systemh/irq.c


+ 0 - 0
arch/sh/boards/renesas/systemh/setup.c → arch/sh/boards/mach-systemh/setup.c


+ 0 - 0
arch/sh/boards/titan/Makefile → arch/sh/boards/mach-titan/Makefile


Some files were not shown because too many files changed in this diff