summaryrefslogtreecommitdiff
path: root/compat/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'compat/Kconfig')
-rw-r--r--compat/Kconfig174
1 files changed, 174 insertions, 0 deletions
diff --git a/compat/Kconfig b/compat/Kconfig
new file mode 100644
index 0000000..7bcf03d
--- /dev/null
+++ b/compat/Kconfig
@@ -0,0 +1,174 @@
+#
+# backport Kconfig
+#
+# Some options are user-selectable ("BPAUTO_USERSEL_*")
+#
+# Most options, however, follow a few different schemes:
+#
+# A) An option that is selected by drivers ("select FOO") will be
+# changed to "select BPAUTO_FOO" (if the option BPAUTO_FOO
+# exists). The option BPAUTO_FOO then controls setting of the
+# BPAUTO_BUILD_FOO option, which is a module, like this:
+#
+# config BPAUTO_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 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 || KERNEL_X_Z
+#
+# # build if driver needs it (it selects BPAUTO_FOO)
+# default m if BPAUTO_FOO
+#
+# # or for build-testing (BPAUTO_USERSEL_BUILD_ALL is enabled)
+# default m if BPAUTO_USERSEL_BUILD_ALL
+#
+# config BPAUTO_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 BPAUTO_BUILD_KFIFO
+# def_bool y
+# depends on KERNEL_2_6_36
+#
+#
+# C) similarly, a kconfig symbol for an option, e.g.
+# BPAUTO_OPTION_SOME_FIX (no examples provided) check git log
+#
+#
+# Variations are obviously possible.
+#
+
+config BP_MODULES
+ option modules
+ bool
+ default MODULES
+
+ help
+ This symbol is necessary for the newer kconf tool, it looks
+ for the "option modules" to control the 'm' state.
+
+config BPAUTO_BUILD_CORDIC
+ tristate
+ depends on m
+ depends on !CORDIC
+ depends on KERNEL_3_1
+ default m if BPAUTO_CORDIC
+ default m if BPAUTO_USERSEL_BUILD_ALL
+ #module-name cordic
+ #c-file lib/cordic.c
+
+config BPAUTO_CORDIC
+ bool
+
+config BPAUTO_MII
+ bool
+
+config BPAUTO_BUILD_LEDS
+ bool
+ depends on !NEW_LEDS || LEDS_CLASS=n || !LEDS_TRIGGERS
+ default y if BPAUTO_NEW_LEDS
+ default y if BPAUTO_LEDS_CLASS
+ default y if BPAUTO_LEDS_TRIGGERS
+
+config BPAUTO_NEW_LEDS
+ bool
+
+config BPAUTO_LEDS_CLASS
+ bool
+
+config BPAUTO_LEDS_TRIGGERS
+ bool
+
+config BPAUTO_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.
+
+config BPAUTO_CRYPTO_CCM
+ depends on CRYPTO_AEAD
+ depends on CRYPTO_CTR
+ bool
+
+config BPAUTO_BUILD_CRYPTO_CCM
+ bool
+ default n if CRYPTO_CCM
+ default y if BPAUTO_CRYPTO_CCM
+ #c-file crypto/ccm.c
+
+config BPAUTO_CRYPTO_SKCIPHER
+ tristate
+ depends on m
+ depends on KERNEL_4_3
+ default y if BACKPORTED_MAC802154
+ default y if BACKPORTED_LIB80211_CRYPT_WEP
+ default y if BACKPORTED_LIB80211_CRYPT_TKIP
+ default y if BACKPORTED_BT
+ #c-file crypto/skcipher.c
+ #module-name skcipher
+
+config BPAUTO_WANT_DEV_COREDUMP
+ bool
+
+config BPAUTO_BUILD_WANT_DEV_COREDUMP
+ bool
+ default n if DEV_COREDUMP
+ default n if DISABLE_DEV_COREDUMP
+ default y if BPAUTO_WANT_DEV_COREDUMP
+ #h-file linux/devcoredump.h
+ #c-file drivers/base/devcoredump.c
+
+config BPAUTO_RHASHTABLE
+ bool
+ # current API of rhashtable was introduced in version 4.9
+ # (the one including rhltable)
+ depends on KERNEL_4_9
+ # not very nice - but better than always having it
+ default y if BACKPORTED_MAC80211
+ #h-file linux/rhashtable.h
+ #c-file lib/rhashtable.c
+
+config BPAUTO_BUILD_HDMI
+ depends on n
+ bool
+ # the hdmi driver got some new apis like hdmi_infoframe_unpack() in
+ # kernel 4.0 which are used by some drivers
+ depends on KERNEL_4_0
+ #h-file linux/hdmi.h
+ #c-file drivers/video/hdmi.c
+
+config BPAUTO_HDMI
+ bool
+ select BPAUTO_BUILD_HDMI if KERNEL_4_0
+ # these drivers are using the new features of the hdmi driver.
+ default y if BACKPORTED_VIDEO_ADV7511
+ default y if BACKPORTED_VIDEO_ADV7604
+ default y if BACKPORTED_VIDEO_ADV7842
+
+config BPAUTO_FRAME_VECTOR
+ bool
+
+config BPAUTO_BUILD_FRAME_VECTOR
+ depends on n
+ bool
+ default n if FRAME_VECTOR
+ default y if BPAUTO_FRAME_VECTOR
+ #c-file mm/frame_vector.c