![Linus Torvalds](/assets/img/avatar_default.png)
GENERIC_GPIO now synonymous with GPIOLIB. There are no longer any valid cases for enableing GENERIC_GPIO without GPIOLIB, even though it is possible to do so which has been causing confusion and breakage. This branch does the work to completely eliminate GENERIC_GPIO. However, it is not trivial to just create a branch to remove it. Over the course of the v3.9 cycle more code referencing GENERIC_GPIO has been added to linux-next that conflicts with this branch. The following must be done to resolve the conflicts when merging this branch into mainline: * "git grep CONFIG_GENERIC_GPIO" should return 0 hits. Matches should be replaced with CONFIG_GPIOLIB * "git grep '\bGENERIC_GPIO\b'" should return 1 hit in the Chinese documentation. * Selectors of GENERIC_GPIO should be turned into selectors of GPIOLIB * definitions of the option in architecture Kconfig code should be deleted. Stephen has 3 merge fixup patches[1] that do the above. They are currently applicable on mainline as of May 2nd. [1] http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg428056.html -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAABAgAGBQJRifUnAAoJEEFnBt12D9kBs2YP/0U6+ia+xYvkVaJc28PDVIzn OReZNcJOYU8D5voxz0voaRD0EdcPwjbMu9Kp9aXMHlk4VxevF+8jCc/us0bIjtO1 VcB5VmSCIhMhxdnBlum11Mk7Vr5MCweyl9NBsypnPt8cl4obMBZHf2yzoodFktNb wtyYlOb6FALtc6iDbOO6dG3w9F7FAOLvskUFzdv89m8mupTsBu9jw9NqFDbJHOex rxq0Sdd+kWF/nkJVcV5Y6jIdletRlhpipefMJ9diexreHvwqh+c4kJEYZaXgB5+m ha95cPbReK1d+RqzM3A8d4irzSVSmq4k7ijI6QkFOr48+AH7XsgKv5so885LKzMN IIXg2Phm9i0H8+ecEvhcc4oIYBHJiEKK54Y0qUD9dqbFoDGPTCSqMHdSSMbpAY+J bIIXlVzj1En3PPNUJLPt8q8Qz6WxCT9mDST3QSGYnD4o90HT+1R9j92RxGL6McOq rUOyJDwmzFvpBvKK4raGdOU435M+ps2NPKKNIRaIGQPPY9rM1kN4YqvhXukEsC9L 3a3+3cQLh7iKxBHncxeQsJfethP1CPkJnzvF9r+ZZLf2rcPH4pbQIE2uO0XnX/nd 5/DKi0nGgAJ//GMMzdo3RiOA5zGFjIZ/KMvfhQldpP6qFJRhqdGi6FPlAcwr1z1n YnCByPwwlvfC4LTXFOGL =xodc -----END PGP SIGNATURE----- Merge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux Pull removal of GENERIC_GPIO from Grant Likely: "GENERIC_GPIO now synonymous with GPIOLIB. There are no longer any valid cases for enableing GENERIC_GPIO without GPIOLIB, even though it is possible to do so which has been causing confusion and breakage. This branch does the work to completely eliminate GENERIC_GPIO." * tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux: gpio: update gpio Chinese documentation Remove GENERIC_GPIO config option Convert selectors of GENERIC_GPIO to GPIOLIB blackfin: force use of gpiolib m68k: coldfire: use gpiolib mips: pnx833x: remove requirement for GENERIC_GPIO openrisc: default GENERIC_GPIO to false avr32: default GENERIC_GPIO to false xtensa: remove explicit selection of GENERIC_GPIO sh: replace CONFIG_GENERIC_GPIO by CONFIG_GPIOLIB powerpc: remove redundant GENERIC_GPIO selection unicore32: default GENERIC_GPIO to false unicore32: remove unneeded select GENERIC_GPIO arm: plat-orion: use GPIO driver on CONFIG_GPIOLIB arm: remove redundant GENERIC_GPIO selection mips: alchemy: require gpiolib mips: txx9: change GENERIC_GPIO to GPIOLIB mips: loongson: use GPIO driver on CONFIG_GPIOLIB mips: remove redundant GENERIC_GPIO select
289 lines
7.1 KiB
Plaintext
289 lines
7.1 KiB
Plaintext
config METAG
|
|
def_bool y
|
|
select EMBEDDED
|
|
select GENERIC_ATOMIC64
|
|
select GENERIC_CLOCKEVENTS
|
|
select GENERIC_IRQ_SHOW
|
|
select GENERIC_SMP_IDLE_THREAD
|
|
select HAVE_64BIT_ALIGNED_ACCESS
|
|
select HAVE_ARCH_TRACEHOOK
|
|
select HAVE_C_RECORDMCOUNT
|
|
select HAVE_DEBUG_KMEMLEAK
|
|
select HAVE_DYNAMIC_FTRACE
|
|
select HAVE_FTRACE_MCOUNT_RECORD
|
|
select HAVE_FUNCTION_TRACER
|
|
select HAVE_FUNCTION_TRACE_MCOUNT_TEST
|
|
select HAVE_GENERIC_HARDIRQS
|
|
select HAVE_KERNEL_BZIP2
|
|
select HAVE_KERNEL_GZIP
|
|
select HAVE_KERNEL_LZO
|
|
select HAVE_KERNEL_XZ
|
|
select HAVE_MEMBLOCK
|
|
select HAVE_MEMBLOCK_NODE_MAP
|
|
select HAVE_MOD_ARCH_SPECIFIC
|
|
select HAVE_OPROFILE
|
|
select HAVE_PERF_EVENTS
|
|
select HAVE_SYSCALL_TRACEPOINTS
|
|
select HAVE_UNDERSCORE_SYMBOL_PREFIX
|
|
select IRQ_DOMAIN
|
|
select MODULES_USE_ELF_RELA
|
|
select OF
|
|
select OF_EARLY_FLATTREE
|
|
select SPARSE_IRQ
|
|
|
|
config STACKTRACE_SUPPORT
|
|
def_bool y
|
|
|
|
config LOCKDEP_SUPPORT
|
|
def_bool y
|
|
|
|
config HAVE_LATENCYTOP_SUPPORT
|
|
def_bool y
|
|
|
|
config RWSEM_GENERIC_SPINLOCK
|
|
def_bool y
|
|
|
|
config RWSEM_XCHGADD_ALGORITHM
|
|
bool
|
|
|
|
config GENERIC_HWEIGHT
|
|
def_bool y
|
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
def_bool y
|
|
|
|
config NO_IOPORT
|
|
def_bool y
|
|
|
|
source "init/Kconfig"
|
|
|
|
source "kernel/Kconfig.freezer"
|
|
|
|
menu "Processor type and features"
|
|
|
|
config MMU
|
|
def_bool y
|
|
|
|
config STACK_GROWSUP
|
|
def_bool y
|
|
|
|
config HOTPLUG_CPU
|
|
bool "Enable CPU hotplug support"
|
|
depends on SMP
|
|
help
|
|
Say Y here to allow turning CPUs off and on. CPUs can be
|
|
controlled through /sys/devices/system/cpu.
|
|
|
|
Say N if you want to disable CPU hotplug.
|
|
|
|
config HIGHMEM
|
|
bool "High Memory Support"
|
|
help
|
|
The address space of Meta processors is only 4 Gigabytes large
|
|
and it has to accommodate user address space, kernel address
|
|
space as well as some memory mapped IO. That means that, if you
|
|
have a large amount of physical memory and/or IO, not all of the
|
|
memory can be "permanently mapped" by the kernel. The physical
|
|
memory that is not permanently mapped is called "high memory".
|
|
|
|
Depending on the selected kernel/user memory split, minimum
|
|
vmalloc space and actual amount of RAM, you may not need this
|
|
option which should result in a slightly faster kernel.
|
|
|
|
If unsure, say n.
|
|
|
|
source "arch/metag/mm/Kconfig"
|
|
|
|
source "arch/metag/Kconfig.soc"
|
|
|
|
config METAG_META12
|
|
bool
|
|
help
|
|
Select this from the SoC config symbol to indicate that it contains a
|
|
Meta 1.2 core.
|
|
|
|
config METAG_META21
|
|
bool
|
|
help
|
|
Select this from the SoC config symbol to indicate that it contains a
|
|
Meta 2.1 core.
|
|
|
|
config SMP
|
|
bool "Symmetric multi-processing support"
|
|
depends on METAG_META21 && METAG_META21_MMU
|
|
select USE_GENERIC_SMP_HELPERS
|
|
help
|
|
This enables support for systems with more than one thread running
|
|
Linux. If you have a system with only one thread running Linux,
|
|
say N. Otherwise, say Y.
|
|
|
|
config NR_CPUS
|
|
int "Maximum number of CPUs (2-4)" if SMP
|
|
range 2 4 if SMP
|
|
default "1" if !SMP
|
|
default "4" if SMP
|
|
|
|
config METAG_SMP_WRITE_REORDERING
|
|
bool
|
|
help
|
|
This attempts to prevent cache-memory incoherence due to external
|
|
reordering of writes from different hardware threads when SMP is
|
|
enabled. It adds fences (system event 0) to smp_mb and smp_rmb in an
|
|
attempt to catch some of the cases, and also before writes to shared
|
|
memory in LOCK1 protected atomics and spinlocks.
|
|
This will not completely prevent cache incoherency on affected cores.
|
|
|
|
config METAG_LNKGET_AROUND_CACHE
|
|
bool
|
|
depends on METAG_META21
|
|
help
|
|
This indicates that the LNKGET/LNKSET instructions go around the
|
|
cache, which requires some extra cache flushes when the memory needs
|
|
to be accessed by normal GET/SET instructions too.
|
|
|
|
choice
|
|
prompt "Atomicity primitive"
|
|
default METAG_ATOMICITY_LNKGET
|
|
help
|
|
This option selects the mechanism for performing atomic operations.
|
|
|
|
config METAG_ATOMICITY_IRQSOFF
|
|
depends on !SMP
|
|
bool "irqsoff"
|
|
help
|
|
This option disables interrupts to achieve atomicity. This mechanism
|
|
is not SMP-safe.
|
|
|
|
config METAG_ATOMICITY_LNKGET
|
|
depends on METAG_META21
|
|
bool "lnkget/lnkset"
|
|
help
|
|
This option uses the LNKGET and LNKSET instructions to achieve
|
|
atomicity. LNKGET/LNKSET are load-link/store-conditional instructions.
|
|
Choose this option if your system requires low latency.
|
|
|
|
config METAG_ATOMICITY_LOCK1
|
|
depends on SMP
|
|
bool "lock1"
|
|
help
|
|
This option uses the LOCK1 instruction for atomicity. This is mainly
|
|
provided as a debugging aid if the lnkget/lnkset atomicity primitive
|
|
isn't working properly.
|
|
|
|
endchoice
|
|
|
|
config METAG_FPU
|
|
bool "FPU Support"
|
|
depends on METAG_META21
|
|
default y
|
|
help
|
|
This option allows processes to use FPU hardware available with this
|
|
CPU. If this option is not enabled FPU registers will not be saved
|
|
and restored on context-switch.
|
|
|
|
If you plan on running programs which are compiled to use hard floats
|
|
say Y here.
|
|
|
|
config METAG_DSP
|
|
bool "DSP Support"
|
|
help
|
|
This option allows processes to use DSP hardware available
|
|
with this CPU. If this option is not enabled DSP registers
|
|
will not be saved and restored on context-switch.
|
|
|
|
If you plan on running DSP programs say Y here.
|
|
|
|
config METAG_PERFCOUNTER_IRQS
|
|
bool "PerfCounters interrupt support"
|
|
depends on METAG_META21
|
|
help
|
|
This option enables using interrupts to collect information from
|
|
Performance Counters. This option is supported in new META21
|
|
(starting from HTP265).
|
|
|
|
When disabled, Performance Counters information will be collected
|
|
based on Timer Interrupt.
|
|
|
|
config HW_PERF_EVENTS
|
|
def_bool METAG_PERFCOUNTER_IRQS && PERF_EVENTS
|
|
|
|
config METAG_DA
|
|
bool "DA support"
|
|
help
|
|
Say Y if you plan to use a DA debug adapter with Linux. The presence
|
|
of the DA will be detected automatically at boot, so it is safe to say
|
|
Y to this option even when booting without a DA.
|
|
|
|
This enables support for services provided by DA JTAG debug adapters,
|
|
such as:
|
|
- communication over DA channels (such as the console driver).
|
|
- use of the DA filesystem.
|
|
|
|
menu "Boot options"
|
|
|
|
config METAG_BUILTIN_DTB
|
|
bool "Embed DTB in kernel image"
|
|
default y
|
|
help
|
|
Embeds a device tree binary in the kernel image.
|
|
|
|
config METAG_BUILTIN_DTB_NAME
|
|
string "Built in DTB"
|
|
depends on METAG_BUILTIN_DTB
|
|
help
|
|
Set the name of the DTB to embed (leave blank to pick one
|
|
automatically based on kernel configuration).
|
|
|
|
config CMDLINE_BOOL
|
|
bool "Default bootloader kernel arguments"
|
|
|
|
config CMDLINE
|
|
string "Kernel command line"
|
|
depends on CMDLINE_BOOL
|
|
help
|
|
On some architectures there is currently no way for the boot loader
|
|
to pass arguments to the kernel. For these architectures, you should
|
|
supply some command-line options at build time by entering them
|
|
here.
|
|
|
|
config CMDLINE_FORCE
|
|
bool "Force default kernel command string"
|
|
depends on CMDLINE_BOOL
|
|
help
|
|
Set this to have arguments from the default kernel command string
|
|
override those passed by the boot loader.
|
|
|
|
endmenu
|
|
|
|
source "kernel/Kconfig.preempt"
|
|
|
|
source kernel/Kconfig.hz
|
|
|
|
endmenu
|
|
|
|
menu "Power management options"
|
|
|
|
source kernel/power/Kconfig
|
|
|
|
endmenu
|
|
|
|
menu "Executable file formats"
|
|
|
|
source "fs/Kconfig.binfmt"
|
|
|
|
endmenu
|
|
|
|
source "net/Kconfig"
|
|
|
|
source "drivers/Kconfig"
|
|
|
|
source "fs/Kconfig"
|
|
|
|
source "arch/metag/Kconfig.debug"
|
|
|
|
source "security/Kconfig"
|
|
|
|
source "crypto/Kconfig"
|
|
|
|
source "lib/Kconfig"
|