blob: 28aef6cb0e57a81f97695c1f4210c6cd36006501 [file] [log] [blame]
#
# backport Kconfig
#
# Some options are user-selectable ("BACKPORT_USERSEL_*")
#
# Most options, however, follow a few different schemes:
#
# A) An option that is selected by drivers ("select FOO") will be
# changed to "select BACKPORT_FOO" (if the option BACKPORT_FOO
# exists). The option BACKPORT_FOO then controls setting of the
# BACKPORT_BUILD_FOO option, which is a module, like this:
#
# config BACKPORT_BUILD_FOO
# tristate
# # or bool
#
# # not possible on kernel < X.Y, build will fail if any
# # drivers are allowed to build on kernels < X.Y
# depends on BACKPORT_KERNEL_X_Y
#
# # don't build the backport code if FOO is in the kernel
# # already, but only if the kernel version is also >= X.Z;
# # this is an example of backporting where the version of
# # the FOO subsystem that we need is only available from
# # kernel version X.Z
# depends on !FOO || BACKPORT_KERNEL_X_Z
#
# # build if driver needs it (it selects BACKPORT_FOO)
# default m if BACKPORT_FOO
#
# # or for build-testing (BACKPORT_USERSEL_BUILD_ALL is enabled)
# default m if BACKPORT_USERSEL_BUILD_ALL
#
# config BACKPORT_FOO
# bool
#
# This only works as-is if the kernel code is usable on any version,
# otherwise the "&& !FOO" part needs to be different.
#
#
# B) An option for code always present on some kernels (e.g. KFIFO).
# This simply depends on/sets the default based on the version:
#
# config BACKPORT_BUILD_KFIFO
# def_bool y
# depends on BACKPORT_KERNEL_2_6_36
#
#
# C) similarly, a kconfig symbol for an option, e.g.
# BACKPORT_OPTION_BT_SOCK_CREATE_NEEDS_KERN (see below)
#
#
# Variations are obviously possible.
#
config BACKPORT_BUILD_FW_LOADER
tristate
# RHEL6, starting from 6.0, backports the FW loader already
depends on !BACKPORT_RHEL_KERNEL_6_0
depends on !FW_LOADER || BACKPORT_KERNEL_2_6_33
default m if BACKPORT_FW_LOADER
default m if BACKPORT_USERSEL_BUILD_ALL
config BACKPORT_FW_LOADER
bool
config BACKPORT_USERSEL_NET_SCH_CODEL
tristate "Controlled Delay AQM (CODEL)"
depends on m
depends on !BACKPORT_KERNEL_2_6_25
default m if NET_SCH_CODEL=n
default m if BACKPORT_USERSEL_BUILD_ALL
#module-name sch_codel
#c-file net/sched/sch_codel.c
config BACKPORT_USERSEL_NET_SCH_FQ_CODEL
tristate "Fair Queue Controlled Delay AQM (FQ_CODEL)"
depends on m
depends on !BACKPORT_KERNEL_2_6_25
default m if NET_SCH_FQ_CODEL=n
default m if BACKPORT_USERSEL_BUILD_ALL
#module-name sch_fq_codel
#c-file net/sched/sch_fq_codel.c
#c-file net/core/flow_dissector.c
config BACKPORT_BUILD_KFIFO
def_bool y
# RHEL6, starting from 6.1, backports kfifo already
depends on !BACKPORT_RHEL_KERNEL_6_1
depends on BACKPORT_KERNEL_2_6_36
config BACKPORT_BUILD_CORDIC
tristate
depends on !CORDIC
default m if BACKPORT_CORDIC
default m if BACKPORT_USERSEL_BUILD_ALL
#module-name cordic
#c-file lib/cordic.c
config BACKPORT_CORDIC
bool
config BACKPORT_BUILD_GENERIC_ATOMIC64
bool
default y if !64BIT && !GENERIC_ATOMIC64
config BACKPORT_OPTION_BT_SOCK_CREATE_NEEDS_KERN
bool
# in RHEL6 (starting from 6.0), the function needs the argument
default y if !BACKPORT_KERNEL_2_6_33 || BACKPORT_RHEL_KERNEL_6_0
config BACKPORT_BUILD_AVERAGE
bool
depends on !AVERAGE
default y if BACKPORT_USERSEL_BUILD_ALL
default y if BACKPORT_AVERAGE
#h-file linux/average.h
#c-file lib/average.c
config BACKPORT_AVERAGE
bool
config BACKPORT_OPTION_USB_URB_THREAD_FIX
bool
default y if BACKPORT_KERNEL_2_6_36
config BACKPORT_MII
bool
config BACKPORT_BUILD_DMA_SHARED_BUFFER
bool
depends on ANON_INODES
depends on !BACKPORT_KERNEL_3_0
depends on !DMA_SHARED_BUFFER || BACKPORT_KERNEL_3_5
default y if BACKPORT_DMA_SHARED_BUFFER
default y if BACKPORT_USERSEL_BUILD_ALL
#h-file linux/dma-buf.h
#c-file drivers/base/dma-buf.c
config BACKPORT_DMA_SHARED_BUFFER
bool
config BACKPORT_BUILD_DMA_SHARED_HELPERS
bool
depends on HAS_DMA
# Build on other kernels kernels < 3.9 if HAVE_GENERIC_DMA_COHERENT is
# not set. Kernels >= 3.8 have this if HAS_DMA is set.
depends on (!HAVE_GENERIC_DMA_COHERENT || BACKPORT_KERNEL_3_9)
# Always build if on 3.3 - 3.5
default y if (BACKPORT_KERNEL_3_4 || BACKPORT_KERNEL_3_5 || BACKPORT_KERNEL_3_6)
# build for testing
default y if BACKPORT_USERSEL_BUILD_ALL
config BACKPORT_BUILD_LEDS
bool
depends on !NEW_LEDS || LEDS_CLASS=n || !LEDS_TRIGGERS
default y if BACKPORT_NEW_LEDS
default y if BACKPORT_LEDS_CLASS
default y if BACKPORT_LEDS_TRIGGERS
config BACKPORT_NEW_LEDS
bool
config BACKPORT_LEDS_CLASS
bool
config BACKPORT_LEDS_TRIGGERS
bool
config BACKPORT_USERSEL_BUILD_ALL
bool "Build all compat code"
help
This option selects all the compat code options
that would otherwise only be selected by drivers.
It's only really useful for compat testing, so
you probably shouldn't enable it.