Kconfig.gki 8.5 KB

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