summaryrefslogtreecommitdiff
path: root/backport/compat/Kconfig
blob: 28aef6cb0e57a81f97695c1f4210c6cd36006501 (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
170
171
172
173
174
175
176
177
#
# 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.