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