]> git.karo-electronics.de Git - linux-beck.git/commitdiff
m68k/Kconfig: Separate classic m68k and coldfire early
authorGeert Uytterhoeven <geert@linux-m68k.org>
Mon, 26 Dec 2011 19:32:02 +0000 (20:32 +0100)
committerGreg Ungerer <gerg@uclinux.org>
Fri, 30 Dec 2011 00:20:49 +0000 (10:20 +1000)
While you can build multiplatform kernels for machines with classic
m68k processors, you cannot mix support for classic m68k and coldfire
processors. To avoid such hybrid kernels, introduce CONFIG_M68KCLASSIC
as an antipole for CONFIG_COLDFIRE, and make all specific processor
support depend on one of them.
All classic m68k machine support also needs to depend on this.

The defaults (CONFIG_M68KCLASSIC if MMU, CONFIG_COLDFIRE if !MMU) are
chosen such to make most of the existing configs build and work.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
arch/m68k/Kconfig.cpu
arch/m68k/Kconfig.machine

index 5ae1d63ef5e95fc3f66d2c5c4db5263b13bc5034..f10a5d0f07746061bb7e8758d8c7da7d1affb01b 100644 (file)
@@ -1,5 +1,37 @@
 comment "Processor Type"
 
+choice
+       prompt "CPU family support"
+       default M68KCLASSIC if MMU
+       default COLDFIRE if !MMU
+       help
+         The Freescale (was Motorola) M68K family of processors implements
+         the full 68000 processor instruction set.
+         The Freescale ColdFire family of processors is a modern derivitive
+         of the 68000 processor family. They are mainly targeted at embedded
+         applications, and are all System-On-Chip (SOC) devices, as opposed
+         to stand alone CPUs. They implement a subset of the original 68000
+         processor instruction set.
+         If you anticipate running this kernel on a computer with a classic
+         MC68xxx processor, select M68KCLASSIC.
+         If you anticipate running this kernel on a computer with a ColdFire
+         processor, select COLDFIRE.
+
+config M68KCLASSIC
+       bool "Classic M68K CPU family support"
+
+config COLDFIRE
+       bool "Coldfire CPU family support"
+       select GENERIC_GPIO
+       select ARCH_REQUIRE_GPIOLIB
+       select CPU_HAS_NO_BITFIELDS
+       select CPU_HAS_NO_MULDIV64
+       select GENERIC_CSUM
+
+endchoice
+
+if M68KCLASSIC
+
 config M68000
        bool
        select CPU_HAS_NO_BITFIELDS
@@ -20,20 +52,6 @@ config MCPU32
          based on the 68020 processor. For the most part it is used in
          System-On-Chip parts, and does not contain a paging MMU.
 
-config COLDFIRE
-       bool
-       select GENERIC_GPIO
-       select ARCH_REQUIRE_GPIOLIB
-       select CPU_HAS_NO_BITFIELDS
-       select CPU_HAS_NO_MULDIV64
-       select GENERIC_CSUM
-       help
-         The Freescale ColdFire family of processors is a modern derivitive
-         of the 68000 processor family. They are mainly targeted at embedded
-         applications, and are all System-On-Chip (SOC) devices, as opposed
-         to stand alone CPUs. They implement a subset of the original 68000
-         processor instruction set.
-
 config M68020
        bool "68020 support"
        depends on MMU
@@ -103,10 +121,13 @@ config M68360
        help
          Motorola 68360 processor support.
 
+endif # M68KCLASSIC
+
+if COLDFIRE
+
 config M5206
        bool "MCF5206"
        depends on !MMU
-       select COLDFIRE
        select COLDFIRE_SW_A7
        select HAVE_MBAR
        help
@@ -115,7 +136,6 @@ config M5206
 config M5206e
        bool "MCF5206e"
        depends on !MMU
-       select COLDFIRE
        select COLDFIRE_SW_A7
        select HAVE_MBAR
        help
@@ -124,7 +144,6 @@ config M5206e
 config M520x
        bool "MCF520x"
        depends on !MMU
-       select COLDFIRE
        select GENERIC_CLOCKEVENTS
        select HAVE_CACHE_SPLIT
        help
@@ -133,7 +152,6 @@ config M520x
 config M523x
        bool "MCF523x"
        depends on !MMU
-       select COLDFIRE
        select GENERIC_CLOCKEVENTS
        select HAVE_CACHE_SPLIT
        select HAVE_IPSBAR
@@ -143,7 +161,6 @@ config M523x
 config M5249
        bool "MCF5249"
        depends on !MMU
-       select COLDFIRE
        select COLDFIRE_SW_A7
        select HAVE_MBAR
        help
@@ -155,7 +172,6 @@ config M527x
 config M5271
        bool "MCF5271"
        depends on !MMU
-       select COLDFIRE
        select M527x
        select HAVE_CACHE_SPLIT
        select HAVE_IPSBAR
@@ -166,7 +182,6 @@ config M5271
 config M5272
        bool "MCF5272"
        depends on !MMU
-       select COLDFIRE
        select COLDFIRE_SW_A7
        select HAVE_MBAR
        help
@@ -175,7 +190,6 @@ config M5272
 config M5275
        bool "MCF5275"
        depends on !MMU
-       select COLDFIRE
        select M527x
        select HAVE_CACHE_SPLIT
        select HAVE_IPSBAR
@@ -186,7 +200,6 @@ config M5275
 config M528x
        bool "MCF528x"
        depends on !MMU
-       select COLDFIRE
        select GENERIC_CLOCKEVENTS
        select HAVE_CACHE_SPLIT
        select HAVE_IPSBAR
@@ -196,7 +209,6 @@ config M528x
 config M5307
        bool "MCF5307"
        depends on !MMU
-       select COLDFIRE
        select COLDFIRE_SW_A7
        select HAVE_CACHE_CB
        select HAVE_MBAR
@@ -206,7 +218,6 @@ config M5307
 config M532x
        bool "MCF532x"
        depends on !MMU
-       select COLDFIRE
        select HAVE_CACHE_CB
        help
          Freescale (Motorola) ColdFire 532x processor support.
@@ -214,7 +225,6 @@ config M532x
 config M5407
        bool "MCF5407"
        depends on !MMU
-       select COLDFIRE
        select COLDFIRE_SW_A7
        select HAVE_CACHE_CB
        select HAVE_MBAR
@@ -227,7 +237,6 @@ config M54xx
 config M547x
        bool "MCF547x"
        depends on !MMU
-       select COLDFIRE
        select M54xx
        select HAVE_CACHE_CB
        select HAVE_MBAR
@@ -237,13 +246,14 @@ config M547x
 config M548x
        bool "MCF548x"
        depends on !MMU
-       select COLDFIRE
        select M54xx
        select HAVE_CACHE_CB
        select HAVE_MBAR
        help
          Freescale ColdFire 5480/5481/5482/5483/5484/5485 processor support.
 
+endif # COLDFIRE
+
 
 comment "Processor Specific Options"
 
index ef4a26aff780c9b039e4cf59daa067f564cfc507..7cdf6b010381f8ae31332012c18d93345232514a 100644 (file)
@@ -1,5 +1,7 @@
 comment "Machine Types"
 
+if M68KCLASSIC
+
 config AMIGA
        bool "Amiga support"
        depends on MMU
@@ -130,6 +132,8 @@ config SUN3
 
          If you don't want to compile a kernel exclusively for a Sun 3, say N.
 
+endif # M68KCLASSIC
+
 config PILOT
        bool