Kconfig.gki 9.1 KB

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