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_CMA_HELPER 5 select DRM_KMS_CMA_HELPER 6 select DRM_GEM_SHMEM_HELPER 7 select DRM_MIPI_DSI 8 select DRM_TTM if (HAS_IOMEM && DRM) 9 select VIDEOMODE_HELPERS 10 select WANT_DEV_COREDUMP 11 select INTERVAL_TREE 12 help 13 Dummy config option used to enable hidden DRM configs. 14 These are normally selected implicitly when including a 15 DRM module, but for GKI, the modules are built out-of-tree. 16 17config GKI_HIDDEN_REGMAP_CONFIGS 18 bool "Hidden Regmap configs needed for GKI" 19 select REGMAP_IRQ 20 select REGMAP_MMIO 21 help 22 Dummy config option used to enable hidden regmap configs. 23 These are normally selected implicitly when a module 24 that relies on it is configured. 25 26config GKI_HIDDEN_CRYPTO_CONFIGS 27 bool "Hidden CRYPTO configs needed for GKI" 28 select CRYPTO_ENGINE 29 help 30 Dummy config option used to enable hidden CRYPTO configs. 31 These are normally selected implicitly when a module 32 that relies on it is configured. 33 34config GKI_HIDDEN_SND_CONFIGS 35 bool "Hidden SND configs needed for GKI" 36 select SND_VMASTER 37 select SND_PCM_ELD 38 select SND_JACK 39 select SND_JACK_INPUT_DEV 40 help 41 Dummy config option used to enable hidden SND configs. 42 These are normally selected implicitly when a module 43 that relies on it is configured. 44 45config GKI_HIDDEN_SND_SOC_CONFIGS 46 bool "Hidden SND_SOC configs needed for GKI" 47 select SND_SOC_GENERIC_DMAENGINE_PCM if (SND_SOC && SND) 48 select SND_PCM_IEC958 49 select SND_SOC_COMPRESS if (SND_SOC && SND) 50 select SND_SOC_TOPOLOGY if (SND_SOC && SND) 51 select DMA_VIRTUAL_CHANNELS 52 help 53 Dummy config option used to enable hidden SND_SOC configs. 54 These are normally selected implicitly when a module 55 that relies on it is configured. 56 57config GKI_HIDDEN_MMC_CONFIGS 58 bool "Hidden MMC configs needed for GKI" 59 select MMC_SDHCI_IO_ACCESSORS if (MMC_SDHCI) 60 help 61 Dummy config option used to enable hidden MMC configs. 62 These are normally selected implicitly when a module 63 that relies on it is configured. 64 65config GKI_HIDDEN_GPIO_CONFIGS 66 bool "Hidden GPIO configs needed for GKI" 67 select PINCTRL_SINGLE if (PINCTRL && OF && HAS_IOMEM) 68 select GPIO_PL061 if (HAS_IOMEM && ARM_AMBA && GPIOLIB) 69 help 70 Dummy config option used to enable hidden GPIO configs. 71 These are normally selected implicitly when a module 72 that relies on it is configured. 73 74config GKI_HIDDEN_QCOM_CONFIGS 75 bool "Hidden QCOM configs needed for GKI" 76 select QCOM_SMEM_STATE 77 select QCOM_GDSC if (ARCH_QCOM) 78 select IOMMU_IO_PGTABLE_LPAE if (ARCH_QCOM) 79 80 help 81 Dummy config option used to enable hidden QCOM configs. 82 These are normally selected implicitly when a module 83 that relies on it is configured. 84 85config GKI_HIDDEN_MEDIA_CONFIGS 86 bool "Hidden Media configs needed for GKI" 87 select VIDEOBUF2_CORE 88 select MEDIA_SUPPORT 89 select FRAME_VECTOR 90 select VIDEOBUF2_DMA_CONTIG 91 select CEC_CORE 92 select CEC_NOTIFIER 93 select CEC_PIN 94 help 95 Dummy config option used to enable hidden media configs. 96 These are normally selected implicitly when a module 97 that relies on it is configured. 98 99config GKI_HIDDEN_VIRTUAL_CONFIGS 100 bool "Hidden Virtual configs needed for GKI" 101 select HVC_DRIVER 102 help 103 Dummy config option used to enable hidden virtual device configs. 104 These are normally selected implicitly when a module 105 that relies on it is configured. 106 107# LEGACY_WEXT_ALLCONFIG Discussed upstream, soundly rejected as a unique 108# problem for GKI to solve. It should be noted that these extensions are 109# in-effect deprecated and generally unsupported and we should pressure 110# the SOC vendors to drop any modules that require these extensions. 111config GKI_LEGACY_WEXT_ALLCONFIG 112 bool "Hidden wireless extension configs needed for GKI" 113 select WIRELESS_EXT 114 select WEXT_CORE 115 select WEXT_PROC 116 select WEXT_SPY 117 select WEXT_PRIV 118 help 119 Placeholder config option used to enable all the hidden legacy 120 wireless extensions to the core wireless network functionality used 121 by add-in modules. If you are not building a kernel to be used for 122 a variety of out-of-kernel built wireless modules, say N here. 123 124config GKI_HIDDEN_USB_CONFIGS 125 bool "Hiddel USB configurations needed for GKI" 126 select USB_PHY 127 help 128 Dummy config option used to enable all USB related hidden configs. 129 These configurations are usually only selected by another config 130 option or a combination of them. 131 132 If you are not building a kernel to be used for a variety of 133 out-of-kernel build USB drivers, say N here. 134 135config GKI_HIDDEN_SOC_BUS_CONFIGS 136 bool "Hidden SoC bus configuration needed for GKI" 137 select SOC_BUS 138 help 139 Dummy config option used to enable SOC_BUS hidden Kconfig. 140 The configuration is required for SoCs to register themselves to the bus. 141 142 If you are not building a kernel to be used for a variety of SoCs and 143 out-of-tree drivers, say N here. 144 145config GKI_HIDDEN_RPMSG_CONFIGS 146 bool "Hidden RPMSG configuration needed for GKI" 147 select RPMSG 148 help 149 Dummy config option used to enable the hidden RPMSG config. 150 This configuration is usually only selected by another config 151 option or a combination of them. 152 153 If you are not building a kernel to be used for a variety of 154 out-of-kernel build RPMSG drivers, say N here. 155 156config GKI_HIDDEN_GPU_CONFIGS 157 bool "Hidden GPU configuration needed for GKI" 158 select TRACE_GPU_MEM 159 help 160 Dummy config option used to enable the hidden GPU config. 161 These are normally selected implicitly when a module 162 that relies on it is configured. 163 164config GKI_HIDDEN_IRQ_CONFIGS 165 bool "Hidden IRQ configuration needed for GKI" 166 select GENERIC_IRQ_CHIP 167 help 168 Dummy config option used to enable GENERIC_IRQ_CHIP hidden 169 config, required by various SoC platforms. This is usually 170 selected by ARCH_*. 171 172config GKI_HIDDEN_HYPERVISOR_CONFIGS 173 bool "Hidden hypervisor configuration needed for GKI" 174 select SYS_HYPERVISOR 175 help 176 Dummy config option used to enable the SYS_HYPERVISOR hidden 177 config, required by various SoC platforms. This is usually 178 selected by XEN or S390. 179 180# Atrocities needed for 181# a) building GKI modules in separate tree, or 182# b) building drivers that are not modularizable 183# 184# All of these should be reworked into an upstream solution 185# if possible. 186# 187config GKI_HACKS_TO_FIX 188 bool "GKI Dummy config options" 189 select GKI_HIDDEN_CRYPTO_CONFIGS 190 select GKI_HIDDEN_DRM_CONFIGS 191 select GKI_HIDDEN_REGMAP_CONFIGS 192 select GKI_HIDDEN_SND_CONFIGS 193 select GKI_HIDDEN_SND_SOC_CONFIGS 194 select GKI_HIDDEN_MMC_CONFIGS 195 select GKI_HIDDEN_GPIO_CONFIGS 196 select GKI_HIDDEN_QCOM_CONFIGS 197 select GKI_LEGACY_WEXT_ALLCONFIG 198 select GKI_HIDDEN_MEDIA_CONFIGS 199 select GKI_HIDDEN_VIRTUAL_CONFIGS 200 select GKI_HIDDEN_USB_CONFIGS 201 select GKI_HIDDEN_SOC_BUS_CONFIGS 202 select GKI_HIDDEN_RPMSG_CONFIGS 203 select GKI_HIDDEN_GPU_CONFIGS 204 select GKI_HIDDEN_IRQ_CONFIGS 205 select GKI_HIDDEN_HYPERVISOR_CONFIGS 206 help 207 Dummy config option used to enable core functionality used by 208 modules that may not be selectable in this config. 209 210 Unless you are building a GKI kernel to be used with modules 211 built from a different config, say N here. 212 213config GKI_OPT_FEATURES 214 bool "Optional GKI features" 215 help 216 Config option that should be enabled in GKI kernels to allow optional 217 GKI features be enabled or disabled without ABI breakage. 218 219 If you are not building a GKI kernel, say N here. 220