From 52789143a2090a77cbdda76c573a1b75cd460a9a Mon Sep 17 00:00:00 2001
From: Francois Retief <fgretief@spaceteq.co.za>
Date: Sun, 1 Nov 2015 15:40:00 +0200
Subject: [PATCH] sparc: Move SYS_SPARC_NWINDOWS to Kconfig

Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
---
 arch/sparc/Kconfig               | 9 +++++++++
 arch/sparc/cpu/leon3/start.S     | 5 +++++
 include/configs/gr_cpci_ax2000.h | 3 ---
 include/configs/gr_ep2s60.h      | 3 ---
 include/configs/gr_xc3s_1500.h   | 3 ---
 include/configs/grsim.h          | 3 ---
 include/configs/grsim_leon2.h    | 3 ---
 7 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 04dc08f41f..1d1347b167 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -12,6 +12,15 @@ config LEON3
 	bool
 	select LEON
 
+config SYS_SPARC_NWINDOWS
+	int "Number of SPARC register windows"
+	range 2 32
+	default "8"
+	help
+	  Specify the number of SPARC register windows implemented by this
+	  processor. A SPARC implementation can have from 2 to 32 windows.
+	  If unsure, choose 8.
+
 choice
 	prompt "Board select"
 	optional
diff --git a/arch/sparc/cpu/leon3/start.S b/arch/sparc/cpu/leon3/start.S
index 203114970b..156601027a 100644
--- a/arch/sparc/cpu/leon3/start.S
+++ b/arch/sparc/cpu/leon3/start.S
@@ -20,6 +20,11 @@
 #define CONFIG_AMBAPP_IOAREA AMBA_DEFAULT_IOAREA
 #endif
 
+/* Default number of SPARC register windows */
+#ifndef CONFIG_SYS_SPARC_NWINDOWS
+#define CONFIG_SYS_SPARC_NWINDOWS 8
+#endif
+
 /* Entry for traps which jump to a programmer-specified trap handler.  */
 #define TRAPR(H)  \
 	wr	%g0, 0xfe0, %psr; \
diff --git a/include/configs/gr_cpci_ax2000.h b/include/configs/gr_cpci_ax2000.h
index 5bbf1aaae8..67538d05a7 100644
--- a/include/configs/gr_cpci_ax2000.h
+++ b/include/configs/gr_cpci_ax2000.h
@@ -42,9 +42,6 @@
 /* CPU / AMBA BUS configuration */
 #define CONFIG_SYS_CLK_FREQ	20000000	/* 20MHz */
 
-/* Number of SPARC register windows */
-#define CONFIG_SYS_SPARC_NWINDOWS 8
-
 /*
  * Serial console configuration
  */
diff --git a/include/configs/gr_ep2s60.h b/include/configs/gr_ep2s60.h
index b55ca77a87..387596d6b3 100644
--- a/include/configs/gr_ep2s60.h
+++ b/include/configs/gr_ep2s60.h
@@ -26,9 +26,6 @@
 /* CPU / AMBA BUS configuration */
 #define CONFIG_SYS_CLK_FREQ	96000000	/* 96MHz */
 
-/* Number of SPARC register windows */
-#define CONFIG_SYS_SPARC_NWINDOWS 8
-
 /* Define this is the GR-2S60-MEZZ mezzanine is available and you
  * want to use the USB and GRETH functionality of the board
  */
diff --git a/include/configs/gr_xc3s_1500.h b/include/configs/gr_xc3s_1500.h
index d086b694c2..5fb800bf21 100644
--- a/include/configs/gr_xc3s_1500.h
+++ b/include/configs/gr_xc3s_1500.h
@@ -23,9 +23,6 @@
 /* CPU / AMBA BUS configuration */
 #define CONFIG_SYS_CLK_FREQ	40000000	/* 40MHz */
 
-/* Number of SPARC register windows */
-#define CONFIG_SYS_SPARC_NWINDOWS 8
-
 /*
  * Serial console configuration
  */
diff --git a/include/configs/grsim.h b/include/configs/grsim.h
index e1f7dc3bf6..932f330e1e 100644
--- a/include/configs/grsim.h
+++ b/include/configs/grsim.h
@@ -34,9 +34,6 @@
 /* CPU / AMBA BUS configuration */
 #define CONFIG_SYS_CLK_FREQ	40000000	/* 40MHz */
 
-/* Number of SPARC register windows */
-#define CONFIG_SYS_SPARC_NWINDOWS 8
-
 /*
  * Serial console configuration
  */
diff --git a/include/configs/grsim_leon2.h b/include/configs/grsim_leon2.h
index 83fd7fae50..83022e8542 100644
--- a/include/configs/grsim_leon2.h
+++ b/include/configs/grsim_leon2.h
@@ -29,9 +29,6 @@
 /* CPU / AMBA BUS configuration */
 #define CONFIG_SYS_CLK_FREQ	40000000	/* 40MHz */
 
-/* Number of SPARC register windows */
-#define CONFIG_SYS_SPARC_NWINDOWS 8
-
 /*
  * Serial console configuration
  */
-- 
2.39.5