arch: remove CONFIG_GENERIC_FIND_{NEXT_BIT,BIT_LE,LAST_BIT}
[linux-2.6.git] / arch / blackfin / Kconfig
index 45f5186..d619b17 100644 (file)
@@ -24,12 +24,18 @@ config BLACKFIN
        select HAVE_FUNCTION_TRACER
        select HAVE_FUNCTION_TRACE_MCOUNT_TEST
        select HAVE_IDE
+       select HAVE_IRQ_WORK
        select HAVE_KERNEL_GZIP if RAMKERNEL
        select HAVE_KERNEL_BZIP2 if RAMKERNEL
        select HAVE_KERNEL_LZMA if RAMKERNEL
        select HAVE_KERNEL_LZO if RAMKERNEL
        select HAVE_OPROFILE
+       select HAVE_PERF_EVENTS
        select ARCH_WANT_OPTIONAL_GPIOLIB
+       select HAVE_GENERIC_HARDIRQS
+       select GENERIC_ATOMIC64
+       select GENERIC_IRQ_PROBE
+       select IRQ_PER_CPU if SMP
 
 config GENERIC_CSUM
        def_bool y
@@ -41,18 +47,6 @@ config GENERIC_BUG
 config ZONE_DMA
        def_bool y
 
-config GENERIC_FIND_NEXT_BIT
-       def_bool y
-
-config GENERIC_HARDIRQS
-       def_bool y
-
-config GENERIC_IRQ_PROBE
-       def_bool y
-
-config GENERIC_HARDIRQS_NO__DO_IRQ
-       def_bool y
-
 config GENERIC_GPIO
        def_bool y
 
@@ -254,11 +248,6 @@ config HOTPLUG_CPU
        depends on SMP && HOTPLUG
        default y
 
-config IRQ_PER_CPU
-       bool
-       depends on SMP
-       default y
-
 config HAVE_LEGACY_PER_CPU_AREA
        def_bool y
        depends on SMP
@@ -293,7 +282,7 @@ config BF_REV_0_1
 
 config BF_REV_0_2
        bool "0.2"
-       depends on (BF52x || BF537 || BF536 || BF534 || (BF54x && !BF54xM))
+       depends on (BF51x || BF52x || BF537 || BF536 || BF534 || (BF54x && !BF54xM))
 
 config BF_REV_0_3
        bool "0.3"
@@ -349,7 +338,7 @@ config MEM_MT48LC8M32B2B5_7
 
 config MEM_MT48LC32M16A2TG_75
        bool
-       depends on (BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN532_IP0X || BLACKSTAMP)
+       depends on (BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN532_IP0X || BLACKSTAMP || BFIN527_AD7160EVAL)
        default y
 
 config MEM_MT48H32M16LFCJ_75
@@ -419,6 +408,7 @@ config CLKIN_HZ
        default "25000000" # most people use this
        default "27000000" if BFIN533_EZKIT
        default "30000000" if BFIN561_EZKIT
+       default "24000000" if BFIN527_AD7160EVAL
        help
          The frequency of CLKIN crystal oscillator on the board in Hz.
          Warning: This value should match the crystal on the board. Otherwise,
@@ -456,6 +446,7 @@ config VCO_MULT
        default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
        default "20" if BFIN561_EZKIT
        default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
+       default "25" if BFIN527_AD7160EVAL
        help
          This controls the frequency of the on-chip PLL. This can be between 1 and 64.
          PLL Frequency = (Crystal Frequency) * (this setting)
@@ -699,13 +690,13 @@ endmenu
 
 
 menu "Blackfin Kernel Optimizations"
-       depends on !SMP
 
 comment "Memory Optimizations"
 
 config I_ENTRY_L1
        bool "Locate interrupt entry code in L1 Memory"
        default y
+       depends on !SMP
        help
          If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
          into L1 instruction memory. (less latency)
@@ -713,6 +704,7 @@ config I_ENTRY_L1
 config EXCPT_IRQ_SYSC_L1
        bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
        default y
+       depends on !SMP
        help
          If enabled, the entire ASM lowlevel exception and interrupt entry code
          (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
@@ -721,6 +713,7 @@ config EXCPT_IRQ_SYSC_L1
 config DO_IRQ_L1
        bool "Locate frequently called do_irq dispatcher function in L1 Memory"
        default y
+       depends on !SMP
        help
          If enabled, the frequently called do_irq dispatcher function is linked
          into L1 instruction memory. (less latency)
@@ -728,6 +721,7 @@ config DO_IRQ_L1
 config CORE_TIMER_IRQ_L1
        bool "Locate frequently called timer_interrupt() function in L1 Memory"
        default y
+       depends on !SMP
        help
          If enabled, the frequently called timer_interrupt() function is linked
          into L1 instruction memory. (less latency)
@@ -735,6 +729,7 @@ config CORE_TIMER_IRQ_L1
 config IDLE_L1
        bool "Locate frequently idle function in L1 Memory"
        default y
+       depends on !SMP
        help
          If enabled, the frequently called idle function is linked
          into L1 instruction memory. (less latency)
@@ -742,6 +737,7 @@ config IDLE_L1
 config SCHEDULE_L1
        bool "Locate kernel schedule function in L1 Memory"
        default y
+       depends on !SMP
        help
          If enabled, the frequently called kernel schedule is linked
          into L1 instruction memory. (less latency)
@@ -749,6 +745,7 @@ config SCHEDULE_L1
 config ARITHMETIC_OPS_L1
        bool "Locate kernel owned arithmetic functions in L1 Memory"
        default y
+       depends on !SMP
        help
          If enabled, arithmetic functions are linked
          into L1 instruction memory. (less latency)
@@ -756,6 +753,7 @@ config ARITHMETIC_OPS_L1
 config ACCESS_OK_L1
        bool "Locate access_ok function in L1 Memory"
        default y
+       depends on !SMP
        help
          If enabled, the access_ok function is linked
          into L1 instruction memory. (less latency)
@@ -763,6 +761,7 @@ config ACCESS_OK_L1
 config MEMSET_L1
        bool "Locate memset function in L1 Memory"
        default y
+       depends on !SMP
        help
          If enabled, the memset function is linked
          into L1 instruction memory. (less latency)
@@ -770,6 +769,7 @@ config MEMSET_L1
 config MEMCPY_L1
        bool "Locate memcpy function in L1 Memory"
        default y
+       depends on !SMP
        help
          If enabled, the memcpy function is linked
          into L1 instruction memory. (less latency)
@@ -777,6 +777,7 @@ config MEMCPY_L1
 config STRCMP_L1
        bool "locate strcmp function in L1 Memory"
        default y
+       depends on !SMP
        help
          If enabled, the strcmp function is linked
          into L1 instruction memory (less latency).
@@ -784,6 +785,7 @@ config STRCMP_L1
 config STRNCMP_L1
        bool "locate strncmp function in L1 Memory"
        default y
+       depends on !SMP
        help
          If enabled, the strncmp function is linked
          into L1 instruction memory (less latency).
@@ -791,6 +793,7 @@ config STRNCMP_L1
 config STRCPY_L1
        bool "locate strcpy function in L1 Memory"
        default y
+       depends on !SMP
        help
          If enabled, the strcpy function is linked
          into L1 instruction memory (less latency).
@@ -798,6 +801,7 @@ config STRCPY_L1
 config STRNCPY_L1
        bool "locate strncpy function in L1 Memory"
        default y
+       depends on !SMP
        help
          If enabled, the strncpy function is linked
          into L1 instruction memory (less latency).
@@ -805,6 +809,7 @@ config STRNCPY_L1
 config SYS_BFIN_SPINLOCK_L1
        bool "Locate sys_bfin_spinlock function in L1 Memory"
        default y
+       depends on !SMP
        help
          If enabled, sys_bfin_spinlock function is linked
          into L1 instruction memory. (less latency)
@@ -812,6 +817,7 @@ config SYS_BFIN_SPINLOCK_L1
 config IP_CHECKSUM_L1
        bool "Locate IP Checksum function in L1 Memory"
        default n
+       depends on !SMP
        help
          If enabled, the IP Checksum function is linked
          into L1 instruction memory. (less latency)
@@ -820,7 +826,7 @@ config CACHELINE_ALIGNED_L1
        bool "Locate cacheline_aligned data to L1 Data Memory"
        default y if !BF54x
        default n if BF54x
-       depends on !BF531
+       depends on !SMP && !BF531
        help
          If enabled, cacheline_aligned data is linked
          into L1 data memory. (less latency)
@@ -828,7 +834,7 @@ config CACHELINE_ALIGNED_L1
 config SYSCALL_TAB_L1
        bool "Locate Syscall Table L1 Data Memory"
        default n
-       depends on !BF531
+       depends on !SMP && !BF531
        help
          If enabled, the Syscall LUT is linked
          into L1 data memory. (less latency)
@@ -836,16 +842,16 @@ config SYSCALL_TAB_L1
 config CPLB_SWITCH_TAB_L1
        bool "Locate CPLB Switch Tables L1 Data Memory"
        default n
-       depends on !BF531
+       depends on !SMP && !BF531
        help
          If enabled, the CPLB Switch Tables are linked
          into L1 data memory. (less latency)
 
-config CACHE_FLUSH_L1
-       bool "Locate cache flush funcs in L1 Inst Memory"
+config ICACHE_FLUSH_L1
+       bool "Locate icache flush funcs in L1 Inst Memory"
        default y
        help
-         If enabled, the Blackfin cache flushing functions are linked
+         If enabled, the Blackfin icache flushing functions are linked
          into L1 instruction memory.
 
          Note that this might be required to address anomalies, but
@@ -853,9 +859,18 @@ config CACHE_FLUSH_L1
          If you are using a processor affected by an anomaly, the build
          system will double check for you and prevent it.
 
+config DCACHE_FLUSH_L1
+       bool "Locate dcache flush funcs in L1 Inst Memory"
+       default y
+       depends on !SMP
+       help
+         If enabled, the Blackfin dcache flushing functions are linked
+         into L1 instruction memory.
+
 config APP_STACK_L1
        bool "Support locating application stack in L1 Scratch Memory"
        default y
+       depends on !SMP
        help
          If enabled the application stack can be located in L1
          scratch memory (less latency).
@@ -865,7 +880,7 @@ config APP_STACK_L1
 config EXCEPTION_L1_SCRATCH
        bool "Locate exception stack in L1 Scratch Memory"
        default n
-       depends on !APP_STACK_L1
+       depends on !SMP && !APP_STACK_L1
        help
          Whenever an exception occurs, use the L1 Scratch memory for
          stack storage.  You cannot place the stacks of FLAT binaries
@@ -877,6 +892,7 @@ comment "Speed Optimizations"
 config BFIN_INS_LOWOVERHEAD
        bool "ins[bwl] low overhead, higher interrupt latency"
        default y
+       depends on !SMP
        help
          Reads on the Blackfin are speculative. In Blackfin terms, this means
          they can be interrupted at any time (even after they have been issued
@@ -919,6 +935,12 @@ config ROMKERNEL
 
 endchoice
 
+# Common code uses "ROMKERNEL" or "XIP_KERNEL", so define both
+config XIP_KERNEL
+       bool
+       default y
+       depends on ROMKERNEL
+
 source "mm/Kconfig"
 
 config BFIN_GPTIMERS