summaryrefslogtreecommitdiff
path: root/backport/compat/Kconfig
blob: 7c88729c3ec23717f8ab246427a35b75b525b125 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
#
# 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 !CORDIC
	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_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 || KERNEL_3_9)
	# Always build if on 3.3 - 3.5
	default y if (KERNEL_3_4 || KERNEL_3_5 || KERNEL_3_6)
	# build for testing
	default y if BPAUTO_USERSEL_BUILD_ALL

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_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.1
	depends on KERNEL_4_1
	# not very nice - but better than always having it
	default y if MAC80211
	#h-file linux/rhashtable.h
	#c-file lib/rhashtable.c

config BPAUTO_BUILD_HDMI
	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 VIDEO_ADV7511
	default y if VIDEO_ADV7604
	default y if VIDEO_ADV7842

config BPAUTO_FRAME_VECTOR
	bool

config BPAUTO_BUILD_FRAME_VECTOR
	bool
	default n if FRAME_VECTOR
	default y if BPAUTO_FRAME_VECTOR
	#c-file mm/frame_vector.c