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