xref: /OK3568_Linux_fs/kernel/init/Kconfig.gki (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyunconfig GKI_HIDDEN_DRM_CONFIGS
2*4882a593Smuzhiyun	bool "Hidden DRM configs needed for GKI"
3*4882a593Smuzhiyun	select DRM_KMS_HELPER if (HAS_IOMEM && DRM)
4*4882a593Smuzhiyun	select DRM_GEM_SHMEM_HELPER if (DRM)
5*4882a593Smuzhiyun	select DRM_GEM_CMA_HELPER
6*4882a593Smuzhiyun	select DRM_KMS_CMA_HELPER
7*4882a593Smuzhiyun	select DRM_MIPI_DSI
8*4882a593Smuzhiyun	select DRM_TTM if (HAS_IOMEM && DRM)
9*4882a593Smuzhiyun	select VIDEOMODE_HELPERS
10*4882a593Smuzhiyun	select WANT_DEV_COREDUMP
11*4882a593Smuzhiyun	select INTERVAL_TREE
12*4882a593Smuzhiyun	help
13*4882a593Smuzhiyun	  Dummy config option used to enable hidden DRM configs.
14*4882a593Smuzhiyun	  These are normally selected implicitly when including a
15*4882a593Smuzhiyun	  DRM module, but for GKI, the modules are built out-of-tree.
16*4882a593Smuzhiyun
17*4882a593Smuzhiyunconfig GKI_HIDDEN_REGMAP_CONFIGS
18*4882a593Smuzhiyun	bool "Hidden Regmap configs needed for GKI"
19*4882a593Smuzhiyun	select REGMAP_IRQ
20*4882a593Smuzhiyun	select REGMAP_MMIO
21*4882a593Smuzhiyun	help
22*4882a593Smuzhiyun	  Dummy config option used to enable hidden regmap configs.
23*4882a593Smuzhiyun	  These are normally selected implicitly when a module
24*4882a593Smuzhiyun	  that relies on it is configured.
25*4882a593Smuzhiyun
26*4882a593Smuzhiyunconfig GKI_HIDDEN_CRYPTO_CONFIGS
27*4882a593Smuzhiyun	bool "Hidden CRYPTO configs needed for GKI"
28*4882a593Smuzhiyun	select CRYPTO_ENGINE
29*4882a593Smuzhiyun	help
30*4882a593Smuzhiyun	  Dummy config option used to enable hidden CRYPTO configs.
31*4882a593Smuzhiyun	  These are normally selected implicitly when a module
32*4882a593Smuzhiyun	  that relies on it is configured.
33*4882a593Smuzhiyun
34*4882a593Smuzhiyunconfig GKI_HIDDEN_SND_CONFIGS
35*4882a593Smuzhiyun	bool "Hidden SND configs needed for GKI"
36*4882a593Smuzhiyun	select SND_VMASTER
37*4882a593Smuzhiyun	select SND_PCM_ELD
38*4882a593Smuzhiyun	select SND_JACK
39*4882a593Smuzhiyun	select SND_JACK_INPUT_DEV
40*4882a593Smuzhiyun	select SND_INTEL_NHLT if (ACPI)
41*4882a593Smuzhiyun	help
42*4882a593Smuzhiyun	  Dummy config option used to enable hidden SND configs.
43*4882a593Smuzhiyun	  These are normally selected implicitly when a module
44*4882a593Smuzhiyun	  that relies on it is configured.
45*4882a593Smuzhiyun
46*4882a593Smuzhiyunconfig GKI_HIDDEN_SND_SOC_CONFIGS
47*4882a593Smuzhiyun	bool "Hidden SND_SOC configs needed for GKI"
48*4882a593Smuzhiyun	select SND_SOC_GENERIC_DMAENGINE_PCM if (SND_SOC && SND)
49*4882a593Smuzhiyun	select SND_PCM_IEC958
50*4882a593Smuzhiyun	select SND_SOC_COMPRESS if (SND_SOC && SND)
51*4882a593Smuzhiyun	select SND_SOC_TOPOLOGY if (SND_SOC && SND)
52*4882a593Smuzhiyun	select DMADEVICES
53*4882a593Smuzhiyun	select DMA_VIRTUAL_CHANNELS
54*4882a593Smuzhiyun	help
55*4882a593Smuzhiyun	  Dummy config option used to enable hidden SND_SOC configs.
56*4882a593Smuzhiyun	  These are normally selected implicitly when a module
57*4882a593Smuzhiyun	  that relies on it is configured.
58*4882a593Smuzhiyun
59*4882a593Smuzhiyunconfig GKI_HIDDEN_MMC_CONFIGS
60*4882a593Smuzhiyun	bool "Hidden MMC configs needed for GKI"
61*4882a593Smuzhiyun	select MMC_SDHCI_IO_ACCESSORS if (MMC_SDHCI)
62*4882a593Smuzhiyun	help
63*4882a593Smuzhiyun	  Dummy config option used to enable hidden MMC configs.
64*4882a593Smuzhiyun	  These are normally selected implicitly when a module
65*4882a593Smuzhiyun	  that relies on it is configured.
66*4882a593Smuzhiyun
67*4882a593Smuzhiyunconfig GKI_HIDDEN_GPIO_CONFIGS
68*4882a593Smuzhiyun	bool "Hidden GPIO configs needed for GKI"
69*4882a593Smuzhiyun	select PINCTRL_SINGLE if (PINCTRL && OF && HAS_IOMEM)
70*4882a593Smuzhiyun	select GPIO_PL061 if (HAS_IOMEM && ARM_AMBA && GPIOLIB)
71*4882a593Smuzhiyun	help
72*4882a593Smuzhiyun	  Dummy config option used to enable hidden GPIO configs.
73*4882a593Smuzhiyun	  These are normally selected implicitly when a module
74*4882a593Smuzhiyun	  that relies on it is configured.
75*4882a593Smuzhiyun
76*4882a593Smuzhiyunconfig GKI_HIDDEN_QCOM_CONFIGS
77*4882a593Smuzhiyun	bool "Hidden QCOM configs needed for GKI"
78*4882a593Smuzhiyun	select QCOM_SMEM_STATE
79*4882a593Smuzhiyun	select QCOM_GDSC if (ARCH_QCOM)
80*4882a593Smuzhiyun	select IOMMU_IO_PGTABLE_LPAE if (ARCH_QCOM)
81*4882a593Smuzhiyun
82*4882a593Smuzhiyun	help
83*4882a593Smuzhiyun	  Dummy config option used to enable hidden QCOM configs.
84*4882a593Smuzhiyun	  These are normally selected implicitly when a module
85*4882a593Smuzhiyun	  that relies on it is configured.
86*4882a593Smuzhiyun
87*4882a593Smuzhiyunconfig GKI_HIDDEN_MEDIA_CONFIGS
88*4882a593Smuzhiyun	bool "Hidden Media configs needed for GKI"
89*4882a593Smuzhiyun	select VIDEOBUF2_CORE
90*4882a593Smuzhiyun	select V4L2_MEM2MEM_DEV
91*4882a593Smuzhiyun	select MEDIA_CONTROLLER
92*4882a593Smuzhiyun	select MEDIA_CONTROLLER_REQUEST_API
93*4882a593Smuzhiyun	select MEDIA_SUPPORT
94*4882a593Smuzhiyun	select FRAME_VECTOR
95*4882a593Smuzhiyun	select CEC_CORE
96*4882a593Smuzhiyun	select CEC_NOTIFIER
97*4882a593Smuzhiyun	select CEC_PIN
98*4882a593Smuzhiyun	select VIDEOBUF2_DMA_CONTIG
99*4882a593Smuzhiyun	help
100*4882a593Smuzhiyun	  Dummy config option used to enable hidden media configs.
101*4882a593Smuzhiyun	  These are normally selected implicitly when a module
102*4882a593Smuzhiyun	  that relies on it is configured.
103*4882a593Smuzhiyun
104*4882a593Smuzhiyunconfig GKI_HIDDEN_VIRTUAL_CONFIGS
105*4882a593Smuzhiyun	bool "Hidden Virtual configs needed for GKI"
106*4882a593Smuzhiyun	select HVC_DRIVER
107*4882a593Smuzhiyun	help
108*4882a593Smuzhiyun	  Dummy config option used to enable hidden virtual device configs.
109*4882a593Smuzhiyun	  These are normally selected implicitly when a module
110*4882a593Smuzhiyun	  that relies on it is configured.
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun# LEGACY_WEXT_ALLCONFIG Discussed upstream, soundly rejected as a unique
113*4882a593Smuzhiyun# problem for GKI to solve.  It should be noted that these extensions are
114*4882a593Smuzhiyun# in-effect deprecated and generally unsupported and we should pressure
115*4882a593Smuzhiyun# the SOC vendors to drop any modules that require these extensions.
116*4882a593Smuzhiyunconfig GKI_LEGACY_WEXT_ALLCONFIG
117*4882a593Smuzhiyun	bool "Hidden wireless extension configs needed for GKI"
118*4882a593Smuzhiyun	select WIRELESS_EXT
119*4882a593Smuzhiyun	select WEXT_CORE
120*4882a593Smuzhiyun	select WEXT_PROC
121*4882a593Smuzhiyun	select WEXT_SPY
122*4882a593Smuzhiyun	select WEXT_PRIV
123*4882a593Smuzhiyun	help
124*4882a593Smuzhiyun	  Dummy config option used to enable all the hidden legacy wireless
125*4882a593Smuzhiyun	  extensions to the core wireless network functionality used by
126*4882a593Smuzhiyun	  add-in modules.
127*4882a593Smuzhiyun
128*4882a593Smuzhiyun	  If you are not building a kernel to be used for a variety of
129*4882a593Smuzhiyun	  out-of-kernel built wireless modules, say N here.
130*4882a593Smuzhiyun
131*4882a593Smuzhiyunconfig GKI_HIDDEN_USB_CONFIGS
132*4882a593Smuzhiyun	bool "Hiddel USB configurations needed for GKI"
133*4882a593Smuzhiyun	select USB_PHY
134*4882a593Smuzhiyun	help
135*4882a593Smuzhiyun	  Dummy config option used to enable all USB related hidden configs.
136*4882a593Smuzhiyun	  These configurations are usually only selected by another config
137*4882a593Smuzhiyun	  option or a combination of them.
138*4882a593Smuzhiyun
139*4882a593Smuzhiyun	  If you are not building a kernel to be used for a variety of
140*4882a593Smuzhiyun	  out-of-kernel build USB drivers, say N here.
141*4882a593Smuzhiyun
142*4882a593Smuzhiyunconfig GKI_HIDDEN_SOC_BUS_CONFIGS
143*4882a593Smuzhiyun	bool "Hidden SoC bus configuration needed for GKI"
144*4882a593Smuzhiyun	select SOC_BUS
145*4882a593Smuzhiyun	  help
146*4882a593Smuzhiyun	    Dummy config option used to enable SOC_BUS hidden Kconfig.
147*4882a593Smuzhiyun	    The configuration is required for SoCs to register themselves to the bus.
148*4882a593Smuzhiyun
149*4882a593Smuzhiyun	    If you are not building a kernel to be used for a variety of SoCs and
150*4882a593Smuzhiyun	    out-of-tree drivers, say N here.
151*4882a593Smuzhiyun
152*4882a593Smuzhiyunconfig GKI_HIDDEN_RPMSG_CONFIGS
153*4882a593Smuzhiyun	bool "Hidden RPMSG configuration needed for GKI"
154*4882a593Smuzhiyun	select RPMSG
155*4882a593Smuzhiyun	help
156*4882a593Smuzhiyun	  Dummy config option used to enable the hidden RPMSG config.
157*4882a593Smuzhiyun	  This configuration is usually only selected by another config
158*4882a593Smuzhiyun	  option or a combination of them.
159*4882a593Smuzhiyun
160*4882a593Smuzhiyun	  If you are not building a kernel to be used for a variety of
161*4882a593Smuzhiyun	  out-of-kernel build RPMSG drivers, say N here.
162*4882a593Smuzhiyun
163*4882a593Smuzhiyunconfig GKI_HIDDEN_GPU_CONFIGS
164*4882a593Smuzhiyun	bool "Hidden GPU configuration needed for GKI"
165*4882a593Smuzhiyun	select TRACE_GPU_MEM
166*4882a593Smuzhiyun	select MMU_NOTIFIER
167*4882a593Smuzhiyun	select HMM_MIRROR
168*4882a593Smuzhiyun	help
169*4882a593Smuzhiyun	  Dummy config option used to enable the hidden GPU config.
170*4882a593Smuzhiyun	  These are normally selected implicitly when a module
171*4882a593Smuzhiyun	  that relies on it is configured.
172*4882a593Smuzhiyun
173*4882a593Smuzhiyunconfig GKI_HIDDEN_IRQ_CONFIGS
174*4882a593Smuzhiyun	bool "Hidden IRQ configuration needed for GKI"
175*4882a593Smuzhiyun	select GENERIC_IRQ_CHIP
176*4882a593Smuzhiyun	select IRQ_DOMAIN_HIERARCHY
177*4882a593Smuzhiyun	select IRQ_FASTEOI_HIERARCHY_HANDLERS
178*4882a593Smuzhiyun	help
179*4882a593Smuzhiyun	  Dummy config option used to enable GENERIC_IRQ_CHIP hidden
180*4882a593Smuzhiyun	  config, required by various SoC platforms. This is usually
181*4882a593Smuzhiyun	  selected by ARCH_*.
182*4882a593Smuzhiyun
183*4882a593Smuzhiyunconfig GKI_HIDDEN_HYPERVISOR_CONFIGS
184*4882a593Smuzhiyun	bool "Hidden hypervisor configuration needed for GKI"
185*4882a593Smuzhiyun	select SYS_HYPERVISOR
186*4882a593Smuzhiyun	help
187*4882a593Smuzhiyun	  Dummy config option used to enable the SYS_HYPERVISOR hidden
188*4882a593Smuzhiyun	  config, required by various SoC platforms. This is usually
189*4882a593Smuzhiyun	  selected by XEN or S390.
190*4882a593Smuzhiyun
191*4882a593Smuzhiyunconfig GKI_HIDDEN_NET_CONFIGS
192*4882a593Smuzhiyun	bool "Hidden networking configuration needed for GKI"
193*4882a593Smuzhiyun	select PAGE_POOL
194*4882a593Smuzhiyun	select NET_PTP_CLASSIFY
195*4882a593Smuzhiyun	help
196*4882a593Smuzhiyun	  Dummy config option used to enable the networking hidden
197*4882a593Smuzhiyun	  config, required by various SoC platforms.
198*4882a593Smuzhiyun
199*4882a593Smuzhiyunconfig GKI_HIDDEN_PHY_CONFIGS
200*4882a593Smuzhiyun	bool "Hidden PHY configuration needed for GKI"
201*4882a593Smuzhiyun	select GENERIC_PHY_MIPI_DPHY
202*4882a593Smuzhiyun	help
203*4882a593Smuzhiyun	  Dummy config option used to enable the hidden PHY configs,
204*4882a593Smuzhiyun	  required by various SoC platforms.
205*4882a593Smuzhiyun
206*4882a593Smuzhiyunconfig GKI_HIDDEN_MM_CONFIGS
207*4882a593Smuzhiyun	bool "Hidden MM configuration needed for GKI"
208*4882a593Smuzhiyun	select PAGE_REPORTING
209*4882a593Smuzhiyun	select BALLOON_COMPACTION
210*4882a593Smuzhiyun	select MEMORY_BALLOON
211*4882a593Smuzhiyun	help
212*4882a593Smuzhiyun	  Dummy config option used to enable hidden MM configs,
213*4882a593Smuzhiyun	  currently required for VIRTIO_BALLOON
214*4882a593Smuzhiyun
215*4882a593Smuzhiyunconfig GKI_HIDDEN_DMA_CONFIGS
216*4882a593Smuzhiyun	bool "Hidden DMA configuration needed for GKI"
217*4882a593Smuzhiyun	select ASYNC_TX_ENABLE_CHANNEL_SWITCH
218*4882a593Smuzhiyun	help
219*4882a593Smuzhiyun	  Dummy config option used to enable the hidden DMA configs,
220*4882a593Smuzhiyun	  required by various SoC platforms.
221*4882a593Smuzhiyun
222*4882a593Smuzhiyunconfig GKI_HIDDEN_ETHERNET_CONFIGS
223*4882a593Smuzhiyun	bool "Hidden Ethernet configuration needed for GKI"
224*4882a593Smuzhiyun	select PHYLINK
225*4882a593Smuzhiyun	help
226*4882a593Smuzhiyun	  Dummy config option used to enable the hidden Ethernet PHYLINK
227*4882a593Smuzhiyun	  configs, required by various ethernet devices.
228*4882a593Smuzhiyun
229*4882a593Smuzhiyun# Atrocities needed for
230*4882a593Smuzhiyun# a) building GKI modules in separate tree, or
231*4882a593Smuzhiyun# b) building drivers that are not modularizable
232*4882a593Smuzhiyun#
233*4882a593Smuzhiyun# All of these should be reworked into an upstream solution
234*4882a593Smuzhiyun# if possible.
235*4882a593Smuzhiyun#
236*4882a593Smuzhiyunconfig GKI_HACKS_TO_FIX
237*4882a593Smuzhiyun	bool "GKI Dummy config options"
238*4882a593Smuzhiyun	select GKI_HIDDEN_CRYPTO_CONFIGS
239*4882a593Smuzhiyun	select GKI_HIDDEN_DRM_CONFIGS
240*4882a593Smuzhiyun	select GKI_HIDDEN_REGMAP_CONFIGS
241*4882a593Smuzhiyun	select GKI_HIDDEN_SND_CONFIGS
242*4882a593Smuzhiyun	select GKI_HIDDEN_SND_SOC_CONFIGS
243*4882a593Smuzhiyun	select GKI_HIDDEN_MMC_CONFIGS
244*4882a593Smuzhiyun	select GKI_HIDDEN_GPIO_CONFIGS
245*4882a593Smuzhiyun	select GKI_HIDDEN_QCOM_CONFIGS
246*4882a593Smuzhiyun	select GKI_LEGACY_WEXT_ALLCONFIG
247*4882a593Smuzhiyun	select GKI_HIDDEN_MEDIA_CONFIGS
248*4882a593Smuzhiyun	select GKI_HIDDEN_VIRTUAL_CONFIGS
249*4882a593Smuzhiyun	select GKI_HIDDEN_USB_CONFIGS
250*4882a593Smuzhiyun	select GKI_HIDDEN_SOC_BUS_CONFIGS
251*4882a593Smuzhiyun	select GKI_HIDDEN_RPMSG_CONFIGS
252*4882a593Smuzhiyun	select GKI_HIDDEN_GPU_CONFIGS
253*4882a593Smuzhiyun	select GKI_HIDDEN_IRQ_CONFIGS
254*4882a593Smuzhiyun	select GKI_HIDDEN_HYPERVISOR_CONFIGS
255*4882a593Smuzhiyun	select GKI_HIDDEN_NET_CONFIGS
256*4882a593Smuzhiyun	select GKI_HIDDEN_PHY_CONFIGS
257*4882a593Smuzhiyun	select GKI_HIDDEN_MM_CONFIGS
258*4882a593Smuzhiyun	select GKI_HIDDEN_DMA_CONFIGS
259*4882a593Smuzhiyun	select GKI_HIDDEN_ETHERNET_CONFIGS
260*4882a593Smuzhiyun	help
261*4882a593Smuzhiyun	  Dummy config option used to enable core functionality used by
262*4882a593Smuzhiyun	  modules that may not be selectable in this config.
263*4882a593Smuzhiyun
264*4882a593Smuzhiyun	  Unless you are building a GKI kernel to be used with modules
265*4882a593Smuzhiyun	  built from a different config, say N here.
266