other.mk 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065
  1. #
  2. # Copyright (C) 2006-2015 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. OTHER_MENU:=Other modules
  8. WATCHDOG_DIR:=watchdog
  9. define KernelPackage/6lowpan
  10. SUBMENU:=$(OTHER_MENU)
  11. TITLE:=6LoWPAN shared code
  12. KCONFIG:= \
  13. CONFIG_6LOWPAN \
  14. CONFIG_6LOWPAN_NHC=n
  15. FILES:=$(LINUX_DIR)/net/6lowpan/6lowpan.ko
  16. AUTOLOAD:=$(call AutoProbe,6lowpan)
  17. endef
  18. define KernelPackage/6lowpan/description
  19. Shared 6lowpan code for IEEE 802.15.4 and Bluetooth.
  20. endef
  21. $(eval $(call KernelPackage,6lowpan))
  22. define KernelPackage/dma-buf
  23. SUBMENU:=$(OTHER_MENU)
  24. TITLE:=DMA shared buffer support
  25. HIDDEN:=1
  26. KCONFIG:=CONFIG_DMA_SHARED_BUFFER
  27. ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
  28. ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
  29. FILES:=$(LINUX_DIR)/drivers/dma-buf/dma-shared-buffer.ko
  30. endif
  31. endif
  32. AUTOLOAD:=$(call AutoLoad,20,dma-shared-buffer)
  33. endef
  34. $(eval $(call KernelPackage,dma-buf))
  35. define KernelPackage/eeprom-93cx6
  36. SUBMENU:=$(OTHER_MENU)
  37. TITLE:=EEPROM 93CX6 support
  38. KCONFIG:=CONFIG_EEPROM_93CX6
  39. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
  40. AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
  41. endef
  42. define KernelPackage/eeprom-93cx6/description
  43. Kernel module for EEPROM 93CX6 support
  44. endef
  45. $(eval $(call KernelPackage,eeprom-93cx6))
  46. define KernelPackage/eeprom-at24
  47. SUBMENU:=$(OTHER_MENU)
  48. TITLE:=EEPROM AT24 support
  49. KCONFIG:=CONFIG_EEPROM_AT24
  50. DEPENDS:=+kmod-i2c-core +kmod-regmap-i2c
  51. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
  52. AUTOLOAD:=$(call AutoProbe,at24)
  53. endef
  54. define KernelPackage/eeprom-at24/description
  55. Kernel module for most I2C EEPROMs
  56. endef
  57. $(eval $(call KernelPackage,eeprom-at24))
  58. define KernelPackage/eeprom-at25
  59. SUBMENU:=$(OTHER_MENU)
  60. TITLE:=EEPROM AT25 support
  61. KCONFIG:=CONFIG_EEPROM_AT25
  62. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
  63. AUTOLOAD:=$(call AutoProbe,at25)
  64. endef
  65. define KernelPackage/eeprom-at25/description
  66. Kernel module for most SPI EEPROMs
  67. endef
  68. $(eval $(call KernelPackage,eeprom-at25))
  69. define KernelPackage/google-firmware
  70. SUBMENU:=$(OTHER_MENU)
  71. TITLE:=Google firmware drivers (Coreboot, VPD, Memconsole)
  72. KCONFIG:= \
  73. CONFIG_GOOGLE_FIRMWARE=y \
  74. CONFIG_GOOGLE_COREBOOT_TABLE \
  75. CONFIG_GOOGLE_MEMCONSOLE \
  76. CONFIG_GOOGLE_MEMCONSOLE_COREBOOT \
  77. CONFIG_GOOGLE_VPD
  78. FILES:= \
  79. $(LINUX_DIR)/drivers/firmware/google/coreboot_table.ko \
  80. $(LINUX_DIR)/drivers/firmware/google/memconsole.ko \
  81. $(LINUX_DIR)/drivers/firmware/google/memconsole-coreboot.ko \
  82. $(LINUX_DIR)/drivers/firmware/google/vpd-sysfs.ko
  83. AUTOLOAD:=$(call AutoProbe,coreboot_table memconsole-coreboot vpd-sysfs)
  84. endef
  85. define KernelPackage/google-firmware/description
  86. Kernel modules for Google firmware drivers. Useful for examining firmware and
  87. boot details on devices using a Google bootloader based on Coreboot. Provides
  88. files like /sys/firmware/log and /sys/firmware/vpd.
  89. endef
  90. $(eval $(call KernelPackage,google-firmware))
  91. define KernelPackage/lkdtm
  92. SUBMENU:=$(OTHER_MENU)
  93. TITLE:=Linux Kernel Dump Test Tool Module
  94. KCONFIG:=CONFIG_LKDTM
  95. FILES:=$(LINUX_DIR)/drivers/misc/lkdtm/lkdtm.ko
  96. AUTOLOAD:=$(call AutoProbe,lkdtm)
  97. endef
  98. define KernelPackage/lkdtm/description
  99. This module enables testing of the different dumping mechanisms by inducing
  100. system failures at predefined crash points.
  101. endef
  102. $(eval $(call KernelPackage,lkdtm))
  103. define KernelPackage/mlx_wdt
  104. SUBMENU:=$(OTHER_MENU)
  105. TITLE:=Mellanox Watchdog
  106. DEPENDS:=@TARGET_x86 +kmod-regmap-core
  107. KCONFIG:= \
  108. CONFIG_MELLANOX_PLATFORM=y \
  109. CONFIG_MLX_WDT
  110. FILES:=$(LINUX_DIR)/drivers/watchdog/mlx_wdt.ko
  111. AUTOLOAD:=$(call AutoProbe,mlx_wdt)
  112. endef
  113. define KernelPackage/mlx_wdt/description
  114. This is the driver for the hardware watchdog on Mellanox systems.
  115. This driver can be used together with the watchdog daemon.
  116. It can also watch your kernel to make sure it doesn't freeze,
  117. and if it does, it reboots your system after a certain amount of
  118. time.
  119. endef
  120. $(eval $(call KernelPackage,mlx_wdt))
  121. define KernelPackage/mlxreg
  122. SUBMENU:=$(OTHER_MENU)
  123. TITLE:=Mellanox platform register access
  124. DEPENDS:=@TARGET_x86 +kmod-i2c-mux-mlxcpld
  125. KCONFIG:= \
  126. CONFIG_MELLANOX_PLATFORM=y \
  127. CONFIG_MLX_PLATFORM \
  128. CONFIG_MLXREG_HOTPLUG \
  129. CONFIG_MLXREG_IO \
  130. CONFIG_SENSORS_MLXREG_FAN \
  131. CONFIG_LEDS_MLXREG
  132. FILES:= \
  133. $(LINUX_DIR)/drivers/platform/x86/mlx-platform.ko \
  134. $(LINUX_DIR)/drivers/platform/mellanox/mlxreg-hotplug.ko \
  135. $(LINUX_DIR)/drivers/platform/mellanox/mlxreg-io.ko \
  136. $(LINUX_DIR)/drivers/hwmon/mlxreg-fan.ko \
  137. $(LINUX_DIR)/drivers/leds/leds-mlxreg.ko
  138. AUTOLOAD:=$(call AutoProbe,mlx-platform mlxreg-hotplug mlxreg-io mlxreg-fan leds-mlxreg)
  139. endef
  140. define KernelPackage/mlxreg/description
  141. Allows access to Mellanox programmable device register
  142. space through sysfs interface. The sets of registers for sysfs access
  143. are defined per system type bases and include the registers related
  144. to system resets operation, system reset causes monitoring and some
  145. kinds of mux selection.
  146. endef
  147. $(eval $(call KernelPackage,mlxreg))
  148. define KernelPackage/mlxreg-lc
  149. SUBMENU:=$(OTHER_MENU)
  150. TITLE:=Mellanox line card platform support
  151. DEPENDS:=kmod-mlxreg +kmod-regmap-i2c
  152. KCONFIG:=CONFIG_MLXREG_LC
  153. FILES:=$(LINUX_DIR)/drivers/platform/mellanox/mlxreg-lc.ko
  154. AUTOLOAD:=$(call AutoProbe,mlxreg-lc)
  155. endef
  156. define KernelPackage/mlxreg-lc/description
  157. Provides support for the Mellanox MSN4800-XX line cards,
  158. which are the part of MSN4800 Ethernet modular switch systems.
  159. endef
  160. $(eval $(call KernelPackage,mlxreg-lc))
  161. define KernelPackage/mlxreg-sn2201
  162. SUBMENU:=$(OTHER_MENU)
  163. TITLE:=Nvidia SN2201 platform support
  164. DEPENDS:=kmod-mlxreg +kmod-regmap-i2c
  165. KCONFIG:=CONFIG_NVSW_SN2201
  166. FILES:=$(LINUX_DIR)/drivers/platform/mellanox/nvsw-sn2201.ko
  167. AUTOLOAD:=$(call AutoProbe,nvsw-sn2201)
  168. endef
  169. define KernelPackage/mlxreg-sn2201/description
  170. Provides support for the Nvidia SN2201 platform.
  171. endef
  172. $(eval $(call KernelPackage,mlxreg-sn2201))
  173. define KernelPackage/pinctrl-mcp23s08
  174. SUBMENU:=$(OTHER_MENU)
  175. TITLE:=Microchip MCP23xxx I/O expander
  176. HIDDEN:=1
  177. DEPENDS:=@GPIO_SUPPORT +kmod-regmap-core
  178. KCONFIG:=CONFIG_PINCTRL_MCP23S08
  179. FILES:=$(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08.ko
  180. AUTOLOAD:=$(call AutoLoad,40,pinctrl-mcp23s08)
  181. endef
  182. define KernelPackage/pinctrl-mcp23s08/description
  183. Kernel module for Microchip MCP23xxx I/O expander
  184. endef
  185. $(eval $(call KernelPackage,pinctrl-mcp23s08))
  186. define KernelPackage/pinctrl-mcp23s08-i2c
  187. SUBMENU:=$(OTHER_MENU)
  188. TITLE:=Microchip MCP23xxx I/O expander (I2C)
  189. DEPENDS:=@GPIO_SUPPORT \
  190. +kmod-pinctrl-mcp23s08 \
  191. +kmod-i2c-core \
  192. +kmod-regmap-i2c
  193. KCONFIG:=CONFIG_PINCTRL_MCP23S08_I2C
  194. FILES:=$(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08_i2c.ko
  195. AUTOLOAD:=$(call AutoLoad,40,pinctrl-mcp23s08-i2c)
  196. endef
  197. define KernelPackage/pinctrl-mcp23s08-i2c/description
  198. Kernel module for Microchip MCP23xxx I/O expander via I2C
  199. endef
  200. $(eval $(call KernelPackage,pinctrl-mcp23s08-i2c))
  201. define KernelPackage/pinctrl-mcp23s08-spi
  202. SUBMENU:=$(OTHER_MENU)
  203. TITLE:=Microchip MCP23xxx I/O expander (SPI)
  204. DEPENDS:=@GPIO_SUPPORT +kmod-pinctrl-mcp23s08
  205. KCONFIG:=CONFIG_PINCTRL_MCP23S08_SPI
  206. FILES:=$(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08_spi.ko
  207. AUTOLOAD:=$(call AutoLoad,40,pinctrl-mcp23s08-spi)
  208. endef
  209. define KernelPackage/pinctrl-mcp23s08-spi/description
  210. Kernel module for Microchip MCP23xxx I/O expander via SPI
  211. endef
  212. $(eval $(call KernelPackage,pinctrl-mcp23s08-spi))
  213. define KernelPackage/ppdev
  214. SUBMENU:=$(OTHER_MENU)
  215. TITLE:=Parallel port support
  216. KCONFIG:= \
  217. CONFIG_PARPORT \
  218. CONFIG_PPDEV
  219. FILES:= \
  220. $(LINUX_DIR)/drivers/parport/parport.ko \
  221. $(LINUX_DIR)/drivers/char/ppdev.ko
  222. AUTOLOAD:=$(call AutoLoad,50,parport ppdev)
  223. endef
  224. $(eval $(call KernelPackage,ppdev))
  225. define KernelPackage/parport-pc
  226. SUBMENU:=$(OTHER_MENU)
  227. TITLE:=Parallel port interface (PC-style) support
  228. DEPENDS:=+kmod-ppdev
  229. KCONFIG:= \
  230. CONFIG_KS0108=n \
  231. CONFIG_PARPORT_PC \
  232. CONFIG_PARPORT_1284=y \
  233. CONFIG_PARPORT_PC_FIFO=y \
  234. CONFIG_PARPORT_PC_PCMCIA=n \
  235. CONFIG_PARPORT_PC_SUPERIO=y \
  236. CONFIG_PARPORT_SERIAL=n \
  237. CONFIG_PARIDE=n \
  238. CONFIG_SCSI_IMM=n \
  239. CONFIG_SCSI_PPA=n
  240. FILES:= \
  241. $(LINUX_DIR)/drivers/parport/parport_pc.ko
  242. AUTOLOAD:=$(call AutoLoad,51,parport_pc)
  243. endef
  244. $(eval $(call KernelPackage,parport-pc))
  245. define KernelPackage/lp
  246. SUBMENU:=$(OTHER_MENU)
  247. TITLE:=Parallel port line printer device support
  248. DEPENDS:=+kmod-ppdev
  249. KCONFIG:= \
  250. CONFIG_PRINTER
  251. FILES:= \
  252. $(LINUX_DIR)/drivers/char/lp.ko
  253. AUTOLOAD:=$(call AutoLoad,52,lp)
  254. endef
  255. $(eval $(call KernelPackage,lp))
  256. define KernelPackage/mmc
  257. SUBMENU:=$(OTHER_MENU)
  258. TITLE:=MMC/SD Card Support
  259. DEPENDS:=@!TARGET_uml
  260. KCONFIG:= \
  261. CONFIG_MMC \
  262. CONFIG_MMC_BLOCK \
  263. CONFIG_MMC_DEBUG=n \
  264. CONFIG_MMC_UNSAFE_RESUME=n \
  265. CONFIG_MMC_TIFM_SD=n \
  266. CONFIG_MMC_WBSD=n \
  267. CONFIG_SDIO_UART=n
  268. FILES:= \
  269. $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
  270. $(LINUX_DIR)/drivers/mmc/core/mmc_block.ko
  271. AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
  272. endef
  273. define KernelPackage/mmc/description
  274. Kernel support for MMC/SD cards
  275. endef
  276. $(eval $(call KernelPackage,mmc))
  277. define KernelPackage/sdhci
  278. SUBMENU:=$(OTHER_MENU)
  279. TITLE:=Secure Digital Host Controller Interface support
  280. DEPENDS:=+kmod-mmc
  281. KCONFIG:= \
  282. CONFIG_MMC_SDHCI \
  283. CONFIG_MMC_SDHCI_PLTFM \
  284. CONFIG_MMC_SDHCI_PCI=n
  285. FILES:= \
  286. $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
  287. $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
  288. AUTOLOAD:=$(call AutoProbe,sdhci-pltfm,1)
  289. endef
  290. define KernelPackage/sdhci/description
  291. Kernel support for SDHCI Hosts
  292. endef
  293. $(eval $(call KernelPackage,sdhci))
  294. define KernelPackage/rfkill
  295. SUBMENU:=$(OTHER_MENU)
  296. TITLE:=RF switch subsystem support
  297. DEPENDS:=@USE_RFKILL +kmod-input-core
  298. KCONFIG:= \
  299. CONFIG_RFKILL_FULL \
  300. CONFIG_RFKILL_INPUT=y \
  301. CONFIG_RFKILL_LEDS=y
  302. FILES:= \
  303. $(LINUX_DIR)/net/rfkill/rfkill.ko
  304. AUTOLOAD:=$(call AutoLoad,20,rfkill)
  305. endef
  306. define KernelPackage/rfkill/description
  307. Say Y here if you want to have control over RF switches
  308. found on many WiFi and Bluetooth cards
  309. endef
  310. $(eval $(call KernelPackage,rfkill))
  311. define KernelPackage/softdog
  312. SUBMENU:=$(OTHER_MENU)
  313. TITLE:=Software watchdog driver
  314. KCONFIG:=CONFIG_SOFT_WATCHDOG \
  315. CONFIG_SOFT_WATCHDOG_PRETIMEOUT=n
  316. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
  317. AUTOLOAD:=$(call AutoLoad,50,softdog,1)
  318. endef
  319. define KernelPackage/softdog/description
  320. Software watchdog driver
  321. endef
  322. $(eval $(call KernelPackage,softdog))
  323. define KernelPackage/ssb
  324. SUBMENU:=$(OTHER_MENU)
  325. TITLE:=Silicon Sonics Backplane glue code
  326. DEPENDS:=@PCI_SUPPORT @!TARGET_bcm47xx @!TARGET_bcm63xx
  327. KCONFIG:=\
  328. CONFIG_SSB \
  329. CONFIG_SSB_B43_PCI_BRIDGE=y \
  330. CONFIG_SSB_DRIVER_MIPS=n \
  331. CONFIG_SSB_DRIVER_PCICORE=y \
  332. CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
  333. CONFIG_SSB_FALLBACK_SPROM=y \
  334. CONFIG_SSB_PCIHOST=y \
  335. CONFIG_SSB_PCIHOST_POSSIBLE=y \
  336. CONFIG_SSB_POSSIBLE=y \
  337. CONFIG_SSB_SPROM=y \
  338. CONFIG_SSB_SILENT=y
  339. FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
  340. AUTOLOAD:=$(call AutoLoad,18,ssb,1)
  341. endef
  342. define KernelPackage/ssb/description
  343. Silicon Sonics Backplane glue code.
  344. endef
  345. $(eval $(call KernelPackage,ssb))
  346. define KernelPackage/bcma
  347. SUBMENU:=$(OTHER_MENU)
  348. TITLE:=BCMA support
  349. DEPENDS:=@PCI_SUPPORT @!TARGET_bcm47xx @!TARGET_bcm53xx
  350. KCONFIG:=\
  351. CONFIG_BCMA \
  352. CONFIG_BCMA_POSSIBLE=y \
  353. CONFIG_BCMA_BLOCKIO=y \
  354. CONFIG_BCMA_FALLBACK_SPROM=y \
  355. CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
  356. CONFIG_BCMA_HOST_PCI=y \
  357. CONFIG_BCMA_HOST_SOC=n \
  358. CONFIG_BCMA_DRIVER_MIPS=n \
  359. CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
  360. CONFIG_BCMA_DRIVER_GMAC_CMN=n \
  361. CONFIG_BCMA_DEBUG=n
  362. FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
  363. AUTOLOAD:=$(call AutoLoad,29,bcma)
  364. endef
  365. define KernelPackage/bcma/description
  366. Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
  367. endef
  368. $(eval $(call KernelPackage,bcma))
  369. define KernelPackage/mfd
  370. SUBMENU:=$(OTHER_MENU)
  371. TITLE:=Multifunction device drivers
  372. HIDDEN:=1
  373. KCONFIG:=CONFIG_MFD_CORE
  374. FILES:=$(LINUX_DIR)/drivers/mfd/mfd-core.ko
  375. AUTOLOAD:=$(call AutoLoad,10,mfd-core)
  376. endef
  377. $(eval $(call KernelPackage,mfd))
  378. define KernelPackage/mtdtests
  379. SUBMENU:=$(OTHER_MENU)
  380. TITLE:=MTD subsystem tests
  381. KCONFIG:=CONFIG_MTD_TESTS
  382. FILES:=\
  383. $(LINUX_DIR)/drivers/mtd/tests/mtd_nandbiterrs.ko \
  384. $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
  385. $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
  386. $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
  387. $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
  388. $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
  389. $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
  390. $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
  391. $(LINUX_DIR)/drivers/mtd/tests/mtd_test.ko \
  392. $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
  393. endef
  394. define KernelPackage/mtdtests/description
  395. Kernel modules for MTD subsystem/driver testing
  396. endef
  397. $(eval $(call KernelPackage,mtdtests))
  398. define KernelPackage/mtdoops
  399. SUBMENU:=$(OTHER_MENU)
  400. TITLE:=Log panic/oops to an MTD buffer
  401. KCONFIG:=CONFIG_MTD_OOPS
  402. FILES:=$(LINUX_DIR)/drivers/mtd/mtdoops.ko
  403. endef
  404. define KernelPackage/mtdoops/description
  405. Kernel modules for Log panic/oops to an MTD buffer
  406. endef
  407. $(eval $(call KernelPackage,mtdoops))
  408. define KernelPackage/mtdram
  409. SUBMENU:=$(OTHER_MENU)
  410. TITLE:=Test MTD driver using RAM
  411. KCONFIG:=CONFIG_MTD_MTDRAM \
  412. CONFIG_MTDRAM_TOTAL_SIZE=4096 \
  413. CONFIG_MTDRAM_ERASE_SIZE=128
  414. FILES:=$(LINUX_DIR)/drivers/mtd/devices/mtdram.ko
  415. endef
  416. define KernelPackage/mtdram/description
  417. Test MTD driver using RAM
  418. endef
  419. $(eval $(call KernelPackage,mtdram))
  420. define KernelPackage/ramoops
  421. SUBMENU:=$(OTHER_MENU)
  422. TITLE:=Ramoops (pstore-ram)
  423. DEFAULT:=m if ALL_KMODS
  424. KCONFIG:=CONFIG_PSTORE_RAM \
  425. CONFIG_PSTORE_CONSOLE=y
  426. DEPENDS:=+kmod-pstore +kmod-reed-solomon
  427. FILES:= $(LINUX_DIR)/fs/pstore/ramoops.ko
  428. AUTOLOAD:=$(call AutoLoad,30,ramoops,1)
  429. endef
  430. define KernelPackage/ramoops/description
  431. Kernel module for pstore-ram (ramoops) crash log storage
  432. endef
  433. $(eval $(call KernelPackage,ramoops))
  434. define KernelPackage/reed-solomon
  435. SUBMENU:=$(OTHER_MENU)
  436. TITLE:=Reed-Solomon error correction
  437. DEFAULT:=m if ALL_KMODS
  438. KCONFIG:=CONFIG_REED_SOLOMON \
  439. CONFIG_REED_SOLOMON_DEC8=y \
  440. CONFIG_REED_SOLOMON_ENC8=y
  441. FILES:= $(LINUX_DIR)/lib/reed_solomon/reed_solomon.ko
  442. AUTOLOAD:=$(call AutoLoad,30,reed_solomon,1)
  443. endef
  444. define KernelPackage/reed-solomon/description
  445. Kernel module for Reed-Solomon error correction
  446. endef
  447. $(eval $(call KernelPackage,reed-solomon))
  448. define KernelPackage/serial-8250
  449. SUBMENU:=$(OTHER_MENU)
  450. TITLE:=8250 UARTs
  451. DEPENDS:=@!TARGET_uml
  452. KCONFIG:= CONFIG_SERIAL_8250 \
  453. CONFIG_SERIAL_8250_PCI \
  454. CONFIG_SERIAL_8250_NR_UARTS=16 \
  455. CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
  456. CONFIG_SERIAL_8250_EXTENDED=y \
  457. CONFIG_SERIAL_8250_MANY_PORTS=y \
  458. CONFIG_SERIAL_8250_SHARE_IRQ=y \
  459. CONFIG_SERIAL_8250_DETECT_IRQ=n \
  460. CONFIG_SERIAL_8250_RSA=n
  461. FILES:= \
  462. $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
  463. $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko \
  464. $(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/8250_pci.ko) \
  465. $(if $(CONFIG_GPIOLIB),$(LINUX_DIR)/drivers/tty/serial/serial_mctrl_gpio.ko)
  466. AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci)
  467. endef
  468. define KernelPackage/serial-8250/description
  469. Kernel module for 8250 UART based serial ports
  470. endef
  471. $(eval $(call KernelPackage,serial-8250))
  472. define KernelPackage/serial-8250-exar
  473. SUBMENU:=$(OTHER_MENU)
  474. TITLE:=Exar 8250 UARTs
  475. KCONFIG:= CONFIG_SERIAL_8250_EXAR
  476. FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250_exar.ko
  477. AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_exar)
  478. DEPENDS:=@PCI_SUPPORT +kmod-serial-8250
  479. endef
  480. define KernelPackage/serial-8250-exar/description
  481. Kernel module for Exar serial ports
  482. endef
  483. $(eval $(call KernelPackage,serial-8250-exar))
  484. define KernelPackage/regmap-core
  485. SUBMENU:=$(OTHER_MENU)
  486. TITLE:=Generic register map support
  487. HIDDEN:=1
  488. KCONFIG:=CONFIG_REGMAP
  489. ifneq ($(wildcard $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko),)
  490. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-core.ko
  491. endif
  492. endef
  493. define KernelPackage/regmap-core/description
  494. Generic register map support
  495. endef
  496. $(eval $(call KernelPackage,regmap-core))
  497. define KernelPackage/regmap-spi
  498. SUBMENU:=$(OTHER_MENU)
  499. TITLE:=SPI register map support
  500. DEPENDS:=+kmod-regmap-core
  501. HIDDEN:=1
  502. KCONFIG:=CONFIG_REGMAP_SPI \
  503. CONFIG_SPI=y
  504. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko
  505. endef
  506. define KernelPackage/regmap-spi/description
  507. SPI register map support
  508. endef
  509. $(eval $(call KernelPackage,regmap-spi))
  510. define KernelPackage/regmap-i2c
  511. SUBMENU:=$(OTHER_MENU)
  512. TITLE:=I2C register map support
  513. DEPENDS:=+kmod-regmap-core +kmod-i2c-core
  514. HIDDEN:=1
  515. KCONFIG:=CONFIG_REGMAP_I2C
  516. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko
  517. endef
  518. define KernelPackage/regmap-i2c/description
  519. I2C register map support
  520. endef
  521. $(eval $(call KernelPackage,regmap-i2c))
  522. define KernelPackage/regmap-mmio
  523. SUBMENU:=$(OTHER_MENU)
  524. TITLE:=MMIO register map support
  525. DEPENDS:=+kmod-regmap-core
  526. HIDDEN:=1
  527. KCONFIG:=CONFIG_REGMAP_MMIO
  528. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko
  529. endef
  530. define KernelPackage/regmap-mmio/description
  531. MMIO register map support
  532. endef
  533. $(eval $(call KernelPackage,regmap-mmio))
  534. define KernelPackage/ikconfig
  535. SUBMENU:=$(OTHER_MENU)
  536. TITLE:=Kernel configuration via /proc/config.gz
  537. KCONFIG:=CONFIG_IKCONFIG \
  538. CONFIG_IKCONFIG_PROC=y
  539. FILES:=$(LINUX_DIR)/kernel/configs.ko
  540. AUTOLOAD:=$(call AutoLoad,70,configs)
  541. endef
  542. define KernelPackage/ikconfig/description
  543. Kernel configuration via /proc/config.gz
  544. endef
  545. $(eval $(call KernelPackage,ikconfig))
  546. define KernelPackage/zram
  547. SUBMENU:=$(OTHER_MENU)
  548. DEPENDS:= \
  549. +(KERNEL_ZRAM_BACKEND_LZO||KERNEL_ZRAM_DEF_COMP_LZORLE||KERNEL_ZRAM_DEF_COMP_LZO):kmod-lib-lzo \
  550. +(KERNEL_ZRAM_BACKEND_LZ4||KERNEL_ZRAM_DEF_COMP_LZ4):kmod-lib-lz4 \
  551. +(KERNEL_ZRAM_BACKEND_LZ4HC||KERNEL_ZRAM_DEF_COMP_LZ4HC):kmod-lib-lz4hc \
  552. +(KERNEL_ZRAM_BACKEND_ZSTD||KERNEL_ZRAM_DEF_COMP_ZSTD):kmod-lib-zstd
  553. TITLE:=ZRAM
  554. KCONFIG:= \
  555. CONFIG_ZSMALLOC \
  556. CONFIG_ZRAM \
  557. CONFIG_ZRAM_DEBUG=n \
  558. CONFIG_ZRAM_WRITEBACK=n \
  559. CONFIG_ZSMALLOC_STAT=n
  560. FILES:= \
  561. $(LINUX_DIR)/mm/zsmalloc.ko \
  562. $(LINUX_DIR)/drivers/block/zram/zram.ko
  563. AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
  564. endef
  565. define KernelPackage/zram/description
  566. Compressed RAM block device support
  567. endef
  568. define KernelPackage/zram/config
  569. if PACKAGE_kmod-zram
  570. if !LINUX_6_6
  571. config KERNEL_ZRAM_BACKEND_LZO
  572. bool "lzo and lzo-rle compression support"
  573. config KERNEL_ZRAM_BACKEND_LZ4
  574. bool "lz4 compression support"
  575. config KERNEL_ZRAM_BACKEND_LZ4HC
  576. bool "lz4hc compression support"
  577. config KERNEL_ZRAM_BACKEND_ZSTD
  578. bool "zstd compression support"
  579. config KERNEL_ZRAM_BACKEND_FORCE_LZO
  580. def_bool !KERNEL_ZRAM_BACKEND_LZ4 && \
  581. !KERNEL_ZRAM_BACKEND_LZ4HC && \
  582. !KERNEL_ZRAM_BACKEND_ZSTD
  583. select KERNEL_ZRAM_BACKEND_LZO
  584. endif
  585. choice
  586. prompt "ZRAM Default compressor"
  587. default KERNEL_ZRAM_DEF_COMP_LZORLE
  588. config KERNEL_ZRAM_DEF_COMP_LZORLE
  589. bool "lzo-rle"
  590. depends on KERNEL_ZRAM_BACKEND_LZO || LINUX_6_6
  591. config KERNEL_ZRAM_DEF_COMP_LZO
  592. bool "lzo"
  593. depends on KERNEL_ZRAM_BACKEND_LZO || LINUX_6_6
  594. config KERNEL_ZRAM_DEF_COMP_LZ4
  595. bool "lz4"
  596. depends on KERNEL_ZRAM_BACKEND_LZ4 || LINUX_6_6
  597. config KERNEL_ZRAM_DEF_COMP_LZ4HC
  598. bool "lz4-hc"
  599. depends on KERNEL_ZRAM_BACKEND_LZ4HC || LINUX_6_6
  600. config KERNEL_ZRAM_DEF_COMP_ZSTD
  601. bool "zstd"
  602. depends on KERNEL_ZRAM_BACKEND_ZSTD || LINUX_6_6
  603. endchoice
  604. endif
  605. endef
  606. $(eval $(call KernelPackage,zram))
  607. define KernelPackage/pps
  608. SUBMENU:=$(OTHER_MENU)
  609. TITLE:=PPS support
  610. KCONFIG:=CONFIG_PPS
  611. FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
  612. AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
  613. endef
  614. define KernelPackage/pps/description
  615. PPS (Pulse Per Second) is a special pulse provided by some GPS
  616. antennae. Userland can use it to get a high-precision time
  617. reference.
  618. endef
  619. $(eval $(call KernelPackage,pps))
  620. define KernelPackage/pps-gpio
  621. SUBMENU:=$(OTHER_MENU)
  622. TITLE:=PPS client using GPIO
  623. DEPENDS:=+kmod-pps
  624. KCONFIG:=CONFIG_PPS_CLIENT_GPIO
  625. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
  626. AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
  627. endef
  628. define KernelPackage/pps-gpio/description
  629. Support for a PPS source using GPIO. To be useful you must
  630. also register a platform device specifying the GPIO pin and
  631. other options, usually in your board setup.
  632. endef
  633. $(eval $(call KernelPackage,pps-gpio))
  634. define KernelPackage/pps-ldisc
  635. SUBMENU:=$(OTHER_MENU)
  636. TITLE:=PPS line discipline
  637. DEPENDS:=+kmod-pps
  638. KCONFIG:=CONFIG_PPS_CLIENT_LDISC
  639. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
  640. AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
  641. endef
  642. define KernelPackage/pps-ldisc/description
  643. Support for a PPS source connected with the CD (Carrier
  644. Detect) pin of your serial port.
  645. endef
  646. $(eval $(call KernelPackage,pps-ldisc))
  647. define KernelPackage/ptp
  648. SUBMENU:=$(OTHER_MENU)
  649. TITLE:=PTP clock support
  650. DEPENDS:=+kmod-pps
  651. KCONFIG:= \
  652. CONFIG_PTP_1588_CLOCK \
  653. CONFIG_NET_PTP_CLASSIFY=y
  654. FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
  655. AUTOLOAD:=$(call AutoLoad,18,ptp,1)
  656. endef
  657. define KernelPackage/ptp/description
  658. The IEEE 1588 standard defines a method to precisely
  659. synchronize distributed clocks over Ethernet networks.
  660. endef
  661. $(eval $(call KernelPackage,ptp))
  662. define KernelPackage/ptp-qoriq
  663. SUBMENU:=$(OTHER_MENU)
  664. TITLE:=Freescale QorIQ PTP support
  665. DEPENDS:=@(TARGET_mpc85xx||TARGET_qoriq) +kmod-ptp
  666. KCONFIG:=CONFIG_PTP_1588_CLOCK_QORIQ
  667. FILES:=$(LINUX_DIR)/drivers/ptp/ptp-qoriq.ko
  668. AUTOLOAD:=$(call AutoProbe,ptp-qoriq)
  669. endef
  670. define KernelPackage/ptp-qoriq/description
  671. Kernel module for IEEE 1588 support for Freescale
  672. QorIQ Ethernet drivers
  673. endef
  674. $(eval $(call KernelPackage,ptp-qoriq))
  675. define KernelPackage/random-core
  676. SUBMENU:=$(OTHER_MENU)
  677. TITLE:=Hardware Random Number Generator Core support
  678. KCONFIG:=CONFIG_HW_RANDOM
  679. FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
  680. endef
  681. define KernelPackage/random-core/description
  682. Kernel module for the HW random number generator core infrastructure
  683. endef
  684. $(eval $(call KernelPackage,random-core))
  685. define KernelPackage/thermal
  686. SUBMENU:=$(OTHER_MENU)
  687. TITLE:=Thermal driver
  688. DEPENDS:=+kmod-hwmon-core
  689. HIDDEN:=1
  690. KCONFIG:= \
  691. CONFIG_THERMAL=y \
  692. CONFIG_THERMAL_OF=y \
  693. CONFIG_CPU_THERMAL=y \
  694. CONFIG_DEVFREQ_THERMAL=n \
  695. CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
  696. CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
  697. CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
  698. CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 \
  699. CONFIG_THERMAL_GOV_FAIR_SHARE=n \
  700. CONFIG_THERMAL_GOV_STEP_WISE=y \
  701. CONFIG_THERMAL_GOV_USER_SPACE=n \
  702. CONFIG_THERMAL_HWMON=y \
  703. CONFIG_THERMAL_EMULATION=n
  704. endef
  705. define KernelPackage/thermal/description
  706. Thermal driver offers a generic mechanism for thermal management.
  707. Usually it's made up of one or more thermal zone and cooling device.
  708. endef
  709. $(eval $(call KernelPackage,thermal))
  710. define KernelPackage/echo
  711. SUBMENU:=$(OTHER_MENU)
  712. TITLE:=Line Echo Canceller
  713. KCONFIG:=CONFIG_ECHO
  714. FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
  715. AUTOLOAD:=$(call AutoLoad,50,echo)
  716. endef
  717. define KernelPackage/echo/description
  718. This driver provides line echo cancelling support for mISDN and
  719. DAHDI drivers
  720. endef
  721. $(eval $(call KernelPackage,echo))
  722. define KernelPackage/keys-encrypted
  723. SUBMENU:=$(OTHER_MENU)
  724. TITLE:=encrypted keys on kernel keyring
  725. DEPENDS:=@KERNEL_KEYS +kmod-crypto-cbc +kmod-crypto-hmac +kmod-crypto-rng \
  726. +kmod-crypto-sha256 +kmod-keys-trusted
  727. KCONFIG:=CONFIG_ENCRYPTED_KEYS
  728. FILES:=$(LINUX_DIR)/security/keys/encrypted-keys/encrypted-keys.ko
  729. AUTOLOAD:=$(call AutoLoad,01,encrypted-keys,1)
  730. endef
  731. define KernelPackage/keys-encrypted/description
  732. This module provides support for create/encrypting/decrypting keys
  733. in the kernel. Encrypted keys are kernel generated random numbers,
  734. which are encrypted/decrypted with a 'master' symmetric key. The
  735. 'master' key can be either a trusted-key or user-key type.
  736. Userspace only ever sees/stores encrypted blobs.
  737. endef
  738. $(eval $(call KernelPackage,keys-encrypted))
  739. define KernelPackage/keys-trusted
  740. SUBMENU:=$(OTHER_MENU)
  741. TITLE:=TPM trusted keys on kernel keyring
  742. DEPENDS:=@KERNEL_KEYS +kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha1 +kmod-tpm
  743. KCONFIG:=CONFIG_TRUSTED_KEYS
  744. FILES:= $(LINUX_DIR)/security/keys/trusted-keys/trusted.ko
  745. AUTOLOAD:=$(call AutoLoad,01,trusted-keys,1)
  746. endef
  747. define KernelPackage/keys-trusted/description
  748. This module provides support for creating, sealing, and unsealing
  749. keys in the kernel. Trusted keys are random number symmetric keys,
  750. generated and RSA-sealed by the TPM. The TPM only unseals the keys,
  751. if the boot PCRs and other criteria match. Userspace will only ever
  752. see encrypted blobs.
  753. endef
  754. $(eval $(call KernelPackage,keys-trusted))
  755. define KernelPackage/tpm
  756. SUBMENU:=$(OTHER_MENU)
  757. TITLE:=TPM Hardware Support
  758. DEPENDS:= +kmod-random-core
  759. KCONFIG:= CONFIG_TCG_TPM
  760. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
  761. AUTOLOAD:=$(call AutoLoad,10,tpm,1)
  762. endef
  763. define KernelPackage/tpm/description
  764. This enables TPM Hardware Support.
  765. endef
  766. $(eval $(call KernelPackage,tpm))
  767. define KernelPackage/tpm-tis
  768. SUBMENU:=$(OTHER_MENU)
  769. TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
  770. DEPENDS:= @TARGET_x86 +kmod-tpm
  771. KCONFIG:= CONFIG_TCG_TIS
  772. FILES:= \
  773. $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
  774. $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
  775. AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
  776. endef
  777. define KernelPackage/tpm-tis/description
  778. If you have a TPM security chip that is compliant with the
  779. TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
  780. specification (TPM2.0) say Yes and it will be accessible from
  781. within Linux.
  782. endef
  783. $(eval $(call KernelPackage,tpm-tis))
  784. define KernelPackage/tpm-i2c-atmel
  785. SUBMENU:=$(OTHER_MENU)
  786. TITLE:=TPM I2C Atmel Support
  787. DEPENDS:= +kmod-tpm +kmod-i2c-core
  788. KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
  789. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
  790. AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
  791. endef
  792. define KernelPackage/tpm-i2c-atmel/description
  793. This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
  794. endef
  795. $(eval $(call KernelPackage,tpm-i2c-atmel))
  796. define KernelPackage/tpm-i2c-infineon
  797. SUBMENU:=$(OTHER_MENU)
  798. TITLE:= TPM I2C Infineon driver
  799. DEPENDS:= +kmod-tpm +kmod-i2c-core
  800. KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
  801. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
  802. AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
  803. endef
  804. define KernelPackage/tpm-i2c-infineon/description
  805. This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
  806. endef
  807. $(eval $(call KernelPackage,tpm-i2c-infineon))
  808. define KernelPackage/i6300esb-wdt
  809. SUBMENU:=$(OTHER_MENU)
  810. TITLE:=Intel 6300ESB Timer/Watchdog
  811. DEPENDS:=@PCI_SUPPORT @!SMALL_FLASH
  812. KCONFIG:=CONFIG_I6300ESB_WDT \
  813. CONFIG_WATCHDOG_CORE=y
  814. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/i6300esb.ko
  815. AUTOLOAD:=$(call AutoLoad,50,i6300esb,1)
  816. endef
  817. define KernelPackage/i6300esb-wdt/description
  818. Kernel module for the watchdog timer built into the Intel
  819. 6300ESB controller hub. Also used by QEMU/libvirt.
  820. endef
  821. $(eval $(call KernelPackage,i6300esb-wdt))
  822. define KernelPackage/mhi-bus
  823. SUBMENU:=$(OTHER_MENU)
  824. TITLE:=MHI bus
  825. KCONFIG:=CONFIG_MHI_BUS \
  826. CONFIG_MHI_BUS_DEBUG=y
  827. FILES:=$(LINUX_DIR)/drivers/bus/mhi/host/mhi.ko
  828. AUTOLOAD:=$(call AutoProbe,mhi)
  829. endef
  830. define KernelPackage/mhi-bus/description
  831. Kernel module for the Qualcomm MHI bus.
  832. endef
  833. $(eval $(call KernelPackage,mhi-bus))
  834. define KernelPackage/mhi-pci-generic
  835. SUBMENU:=$(OTHER_MENU)
  836. TITLE:=MHI PCI controller driver
  837. DEPENDS:=@PCI_SUPPORT +kmod-mhi-bus
  838. KCONFIG:=CONFIG_MHI_BUS_PCI_GENERIC
  839. FILES:=$(LINUX_DIR)/drivers/bus/mhi/host/mhi_pci_generic.ko
  840. AUTOLOAD:=$(call AutoProbe,mhi_pci_generic)
  841. endef
  842. define KernelPackage/mhi-pci-generic/description
  843. Kernel module for the MHI PCI controller driver.
  844. endef
  845. $(eval $(call KernelPackage,mhi-pci-generic))