arch: remove CONFIG_GENERIC_FIND_{NEXT_BIT,BIT_LE,LAST_BIT}
[linux-2.6.git] / arch / blackfin / Kconfig
index 970df5b..d619b17 100644 (file)
@@ -1,10 +1,3 @@
-#
-# For a description of the syntax of this configuration file,
-# see Documentation/kbuild/kconfig-language.txt.
-#
-
-mainmenu "Blackfin Kernel Configuration"
-
 config SYMBOL_PREFIX
        string
        default "_"
@@ -24,15 +17,25 @@ config RWSEM_XCHGADD_ALGORITHM
 config BLACKFIN
        def_bool y
        select HAVE_ARCH_KGDB
+       select HAVE_ARCH_TRACEHOOK
+       select HAVE_DYNAMIC_FTRACE
+       select HAVE_FTRACE_MCOUNT_RECORD
        select HAVE_FUNCTION_GRAPH_TRACER
        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
@@ -44,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
 
@@ -257,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
@@ -296,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"
@@ -327,11 +313,6 @@ config BF53x
        depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
        default y
 
-config MEM_GENERIC_BOARD
-       bool
-       depends on GENERIC_BOARD
-       default y
-
 config MEM_MT48LC64M4A2FB_7E
        bool
        depends on (BFIN533_STAMP)
@@ -347,7 +328,7 @@ config MEM_MT48LC16M16A2TG_75
 
 config MEM_MT48LC32M8A2_75
        bool
-       depends on (BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
+       depends on (BFIN518F_EZBRD || BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
        default y
 
 config MEM_MT48LC8M32B2B5_7
@@ -357,12 +338,7 @@ config MEM_MT48LC8M32B2B5_7
 
 config MEM_MT48LC32M16A2TG_75
        bool
-       depends on (BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN532_IP0X || BLACKSTAMP)
-       default y
-
-config MEM_MT48LC32M8A2_75
-       bool
-       depends on (BFIN518F_EZBRD)
+       depends on (BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN532_IP0X || BLACKSTAMP || BFIN527_AD7160EVAL)
        default y
 
 config MEM_MT48H32M16LFCJ_75
@@ -432,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,
@@ -469,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)
@@ -618,9 +596,6 @@ comment "Kernel Timer/Scheduler"
 
 source kernel/Kconfig.hz
 
-config GENERIC_TIME
-       def_bool y
-
 config GENERIC_CLOCKEVENTS
        bool "Generic clock events"
        default y
@@ -715,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)
@@ -729,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.
@@ -737,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)
@@ -744,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)
@@ -751,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)
@@ -758,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)
@@ -765,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)
@@ -772,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)
@@ -779,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)
@@ -786,13 +769,47 @@ 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)
 
+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).
+
+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).
+
+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).
+
+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).
+
 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)
@@ -800,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)
@@ -808,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)
@@ -816,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)
@@ -824,14 +842,35 @@ 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 ICACHE_FLUSH_L1
+       bool "Locate icache flush funcs in L1 Inst Memory"
+       default y
+       help
+         If enabled, the Blackfin icache flushing functions are linked
+         into L1 instruction memory.
+
+         Note that this might be required to address anomalies, but
+         these functions are pretty small, so it shouldn't be too bad.
+         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).
@@ -841,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
@@ -853,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
@@ -895,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
@@ -1186,32 +1232,6 @@ config  PM_BFIN_SLEEP
          If unsure, select "Sleep Deeper".
 endchoice
 
-config PM_WAKEUP_BY_GPIO
-       bool "Allow Wakeup from Standby by GPIO"
-       depends on PM && !BF54x
-
-config PM_WAKEUP_GPIO_NUMBER
-       int "GPIO number"
-       range 0 47
-       depends on PM_WAKEUP_BY_GPIO
-       default 2
-
-choice
-       prompt "GPIO Polarity"
-       depends on PM_WAKEUP_BY_GPIO
-       default PM_WAKEUP_GPIO_POLAR_H
-config  PM_WAKEUP_GPIO_POLAR_H
-       bool "Active High"
-config  PM_WAKEUP_GPIO_POLAR_L
-       bool "Active Low"
-config  PM_WAKEUP_GPIO_POLAR_EDGE_F
-       bool "Falling EDGE"
-config  PM_WAKEUP_GPIO_POLAR_EDGE_R
-       bool "Rising EDGE"
-config  PM_WAKEUP_GPIO_POLAR_EDGE_B
-       bool "Both EDGE"
-endchoice
-
 comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
        depends on PM