From ac79fd58a25dbd9848f2c2857da6a79494dabb9a Mon Sep 17 00:00:00 2001
From: Paul Mundt <lethal@linux-sh.org>
Date: Wed, 25 Jul 2007 16:26:10 +0900
Subject: [PATCH] sh: Restrict DSP support to specific CPUs.

Not all CPUs support the DSP, and this leads to problems when mixing
and matching CPU types and DSP opcodes. Fix this up by only allowing
CONFIG_SH_DSP to be enabled for the CPUs that explicitly have such a
block.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
---
 arch/sh/Kconfig    | 7 +++++--
 arch/sh/mm/Kconfig | 3 +++
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index 2aad2ff39a2f..0a631d0f75f1 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -134,8 +134,8 @@ config SH_FPU_EMU
 
 config SH_DSP
 	bool "DSP support"
-	default y if SH4AL_DSP || !CPU_SH4
-	default n
+	depends on CPU_HAS_DSP
+	default y
 	help
 	  Selecting this option will enable support for SH processors that
 	  have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).
@@ -199,6 +199,9 @@ config CPU_HAS_SR_RB
 config CPU_HAS_PTEA
 	bool
 
+config CPU_HAS_DSP
+	bool
+
 endmenu
 
 menu "Board support"
diff --git a/arch/sh/mm/Kconfig b/arch/sh/mm/Kconfig
index 03f7b988d5dd..ff67422c8dcb 100644
--- a/arch/sh/mm/Kconfig
+++ b/arch/sh/mm/Kconfig
@@ -27,6 +27,7 @@ config CPU_SH4A
 config CPU_SH4AL_DSP
 	bool
 	select CPU_SH4A
+	select CPU_HAS_DSP
 
 config CPU_SUBTYPE_ST40
 	bool
@@ -102,6 +103,7 @@ config CPU_SUBTYPE_SH7710
 	bool "Support SH7710 processor"
 	select CPU_SH3
 	select CPU_HAS_IPR_IRQ
+	select CPU_HAS_DSP
 	help
 	  Select SH7710 if you have a SH3-DSP SH7710 CPU.
 
@@ -109,6 +111,7 @@ config CPU_SUBTYPE_SH7712
 	bool "Support SH7712 processor"
 	select CPU_SH3
 	select CPU_HAS_IPR_IRQ
+	select CPU_HAS_DSP
 	help
 	  Select SH7712 if you have a SH3-DSP SH7712 CPU.