other.mk 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062
  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" if KERNEL_ZRAM_BACKEND_LZ4 || \
  573. KERNEL_ZRAM_BACKEND_LZ4HC || KERNEL_ZRAM_BACKEND_ZSTD
  574. default !KERNEL_ZRAM_BACKEND_LZ4 && \
  575. !KERNEL_ZRAM_BACKEND_LZ4HC && !KERNEL_ZRAM_BACKEND_ZSTD
  576. config KERNEL_ZRAM_BACKEND_LZ4
  577. bool "lz4 compression support"
  578. config KERNEL_ZRAM_BACKEND_LZ4HC
  579. bool "lz4hc compression support"
  580. config KERNEL_ZRAM_BACKEND_ZSTD
  581. bool "zstd compression support"
  582. endif
  583. choice
  584. prompt "ZRAM Default compressor"
  585. default KERNEL_ZRAM_DEF_COMP_LZORLE
  586. config KERNEL_ZRAM_DEF_COMP_LZORLE
  587. bool "lzo-rle"
  588. depends on KERNEL_ZRAM_BACKEND_LZO || LINUX_6_6
  589. config KERNEL_ZRAM_DEF_COMP_LZO
  590. bool "lzo"
  591. depends on KERNEL_ZRAM_BACKEND_LZO || LINUX_6_6
  592. config KERNEL_ZRAM_DEF_COMP_LZ4
  593. bool "lz4"
  594. depends on KERNEL_ZRAM_BACKEND_LZ4 || LINUX_6_6
  595. config KERNEL_ZRAM_DEF_COMP_LZ4HC
  596. bool "lz4-hc"
  597. depends on KERNEL_ZRAM_BACKEND_LZ4HC || LINUX_6_6
  598. config KERNEL_ZRAM_DEF_COMP_ZSTD
  599. bool "zstd"
  600. depends on KERNEL_ZRAM_BACKEND_ZSTD || LINUX_6_6
  601. endchoice
  602. endif
  603. endef
  604. $(eval $(call KernelPackage,zram))
  605. define KernelPackage/pps
  606. SUBMENU:=$(OTHER_MENU)
  607. TITLE:=PPS support
  608. KCONFIG:=CONFIG_PPS
  609. FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
  610. AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
  611. endef
  612. define KernelPackage/pps/description
  613. PPS (Pulse Per Second) is a special pulse provided by some GPS
  614. antennae. Userland can use it to get a high-precision time
  615. reference.
  616. endef
  617. $(eval $(call KernelPackage,pps))
  618. define KernelPackage/pps-gpio
  619. SUBMENU:=$(OTHER_MENU)
  620. TITLE:=PPS client using GPIO
  621. DEPENDS:=+kmod-pps
  622. KCONFIG:=CONFIG_PPS_CLIENT_GPIO
  623. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
  624. AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
  625. endef
  626. define KernelPackage/pps-gpio/description
  627. Support for a PPS source using GPIO. To be useful you must
  628. also register a platform device specifying the GPIO pin and
  629. other options, usually in your board setup.
  630. endef
  631. $(eval $(call KernelPackage,pps-gpio))
  632. define KernelPackage/pps-ldisc
  633. SUBMENU:=$(OTHER_MENU)
  634. TITLE:=PPS line discipline
  635. DEPENDS:=+kmod-pps
  636. KCONFIG:=CONFIG_PPS_CLIENT_LDISC
  637. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
  638. AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
  639. endef
  640. define KernelPackage/pps-ldisc/description
  641. Support for a PPS source connected with the CD (Carrier
  642. Detect) pin of your serial port.
  643. endef
  644. $(eval $(call KernelPackage,pps-ldisc))
  645. define KernelPackage/ptp
  646. SUBMENU:=$(OTHER_MENU)
  647. TITLE:=PTP clock support
  648. DEPENDS:=+kmod-pps
  649. KCONFIG:= \
  650. CONFIG_PTP_1588_CLOCK \
  651. CONFIG_NET_PTP_CLASSIFY=y
  652. FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
  653. AUTOLOAD:=$(call AutoLoad,18,ptp,1)
  654. endef
  655. define KernelPackage/ptp/description
  656. The IEEE 1588 standard defines a method to precisely
  657. synchronize distributed clocks over Ethernet networks.
  658. endef
  659. $(eval $(call KernelPackage,ptp))
  660. define KernelPackage/ptp-qoriq
  661. SUBMENU:=$(OTHER_MENU)
  662. TITLE:=Freescale QorIQ PTP support
  663. DEPENDS:=@(TARGET_mpc85xx||TARGET_qoriq) +kmod-ptp
  664. KCONFIG:=CONFIG_PTP_1588_CLOCK_QORIQ
  665. FILES:=$(LINUX_DIR)/drivers/ptp/ptp-qoriq.ko
  666. AUTOLOAD:=$(call AutoProbe,ptp-qoriq)
  667. endef
  668. define KernelPackage/ptp-qoriq/description
  669. Kernel module for IEEE 1588 support for Freescale
  670. QorIQ Ethernet drivers
  671. endef
  672. $(eval $(call KernelPackage,ptp-qoriq))
  673. define KernelPackage/random-core
  674. SUBMENU:=$(OTHER_MENU)
  675. TITLE:=Hardware Random Number Generator Core support
  676. KCONFIG:=CONFIG_HW_RANDOM
  677. FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
  678. endef
  679. define KernelPackage/random-core/description
  680. Kernel module for the HW random number generator core infrastructure
  681. endef
  682. $(eval $(call KernelPackage,random-core))
  683. define KernelPackage/thermal
  684. SUBMENU:=$(OTHER_MENU)
  685. TITLE:=Thermal driver
  686. DEPENDS:=+kmod-hwmon-core
  687. HIDDEN:=1
  688. KCONFIG:= \
  689. CONFIG_THERMAL=y \
  690. CONFIG_THERMAL_OF=y \
  691. CONFIG_CPU_THERMAL=y \
  692. CONFIG_DEVFREQ_THERMAL=n \
  693. CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
  694. CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
  695. CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
  696. CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 \
  697. CONFIG_THERMAL_GOV_FAIR_SHARE=n \
  698. CONFIG_THERMAL_GOV_STEP_WISE=y \
  699. CONFIG_THERMAL_GOV_USER_SPACE=n \
  700. CONFIG_THERMAL_HWMON=y \
  701. CONFIG_THERMAL_EMULATION=n
  702. endef
  703. define KernelPackage/thermal/description
  704. Thermal driver offers a generic mechanism for thermal management.
  705. Usually it's made up of one or more thermal zone and cooling device.
  706. endef
  707. $(eval $(call KernelPackage,thermal))
  708. define KernelPackage/echo
  709. SUBMENU:=$(OTHER_MENU)
  710. TITLE:=Line Echo Canceller
  711. KCONFIG:=CONFIG_ECHO
  712. FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
  713. AUTOLOAD:=$(call AutoLoad,50,echo)
  714. endef
  715. define KernelPackage/echo/description
  716. This driver provides line echo cancelling support for mISDN and
  717. DAHDI drivers
  718. endef
  719. $(eval $(call KernelPackage,echo))
  720. define KernelPackage/keys-encrypted
  721. SUBMENU:=$(OTHER_MENU)
  722. TITLE:=encrypted keys on kernel keyring
  723. DEPENDS:=@KERNEL_KEYS +kmod-crypto-cbc +kmod-crypto-hmac +kmod-crypto-rng \
  724. +kmod-crypto-sha256 +kmod-keys-trusted
  725. KCONFIG:=CONFIG_ENCRYPTED_KEYS
  726. FILES:=$(LINUX_DIR)/security/keys/encrypted-keys/encrypted-keys.ko
  727. AUTOLOAD:=$(call AutoLoad,01,encrypted-keys,1)
  728. endef
  729. define KernelPackage/keys-encrypted/description
  730. This module provides support for create/encrypting/decrypting keys
  731. in the kernel. Encrypted keys are kernel generated random numbers,
  732. which are encrypted/decrypted with a 'master' symmetric key. The
  733. 'master' key can be either a trusted-key or user-key type.
  734. Userspace only ever sees/stores encrypted blobs.
  735. endef
  736. $(eval $(call KernelPackage,keys-encrypted))
  737. define KernelPackage/keys-trusted
  738. SUBMENU:=$(OTHER_MENU)
  739. TITLE:=TPM trusted keys on kernel keyring
  740. DEPENDS:=@KERNEL_KEYS +kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha1 +kmod-tpm
  741. KCONFIG:=CONFIG_TRUSTED_KEYS
  742. FILES:= $(LINUX_DIR)/security/keys/trusted-keys/trusted.ko
  743. AUTOLOAD:=$(call AutoLoad,01,trusted-keys,1)
  744. endef
  745. define KernelPackage/keys-trusted/description
  746. This module provides support for creating, sealing, and unsealing
  747. keys in the kernel. Trusted keys are random number symmetric keys,
  748. generated and RSA-sealed by the TPM. The TPM only unseals the keys,
  749. if the boot PCRs and other criteria match. Userspace will only ever
  750. see encrypted blobs.
  751. endef
  752. $(eval $(call KernelPackage,keys-trusted))
  753. define KernelPackage/tpm
  754. SUBMENU:=$(OTHER_MENU)
  755. TITLE:=TPM Hardware Support
  756. DEPENDS:= +kmod-random-core
  757. KCONFIG:= CONFIG_TCG_TPM
  758. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
  759. AUTOLOAD:=$(call AutoLoad,10,tpm,1)
  760. endef
  761. define KernelPackage/tpm/description
  762. This enables TPM Hardware Support.
  763. endef
  764. $(eval $(call KernelPackage,tpm))
  765. define KernelPackage/tpm-tis
  766. SUBMENU:=$(OTHER_MENU)
  767. TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
  768. DEPENDS:= @TARGET_x86 +kmod-tpm
  769. KCONFIG:= CONFIG_TCG_TIS
  770. FILES:= \
  771. $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
  772. $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
  773. AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
  774. endef
  775. define KernelPackage/tpm-tis/description
  776. If you have a TPM security chip that is compliant with the
  777. TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
  778. specification (TPM2.0) say Yes and it will be accessible from
  779. within Linux.
  780. endef
  781. $(eval $(call KernelPackage,tpm-tis))
  782. define KernelPackage/tpm-i2c-atmel
  783. SUBMENU:=$(OTHER_MENU)
  784. TITLE:=TPM I2C Atmel Support
  785. DEPENDS:= +kmod-tpm +kmod-i2c-core
  786. KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
  787. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
  788. AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
  789. endef
  790. define KernelPackage/tpm-i2c-atmel/description
  791. This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
  792. endef
  793. $(eval $(call KernelPackage,tpm-i2c-atmel))
  794. define KernelPackage/tpm-i2c-infineon
  795. SUBMENU:=$(OTHER_MENU)
  796. TITLE:= TPM I2C Infineon driver
  797. DEPENDS:= +kmod-tpm +kmod-i2c-core
  798. KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
  799. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
  800. AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
  801. endef
  802. define KernelPackage/tpm-i2c-infineon/description
  803. This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
  804. endef
  805. $(eval $(call KernelPackage,tpm-i2c-infineon))
  806. define KernelPackage/i6300esb-wdt
  807. SUBMENU:=$(OTHER_MENU)
  808. TITLE:=Intel 6300ESB Timer/Watchdog
  809. DEPENDS:=@PCI_SUPPORT @!SMALL_FLASH
  810. KCONFIG:=CONFIG_I6300ESB_WDT \
  811. CONFIG_WATCHDOG_CORE=y
  812. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/i6300esb.ko
  813. AUTOLOAD:=$(call AutoLoad,50,i6300esb,1)
  814. endef
  815. define KernelPackage/i6300esb-wdt/description
  816. Kernel module for the watchdog timer built into the Intel
  817. 6300ESB controller hub. Also used by QEMU/libvirt.
  818. endef
  819. $(eval $(call KernelPackage,i6300esb-wdt))
  820. define KernelPackage/mhi-bus
  821. SUBMENU:=$(OTHER_MENU)
  822. TITLE:=MHI bus
  823. KCONFIG:=CONFIG_MHI_BUS \
  824. CONFIG_MHI_BUS_DEBUG=y
  825. FILES:=$(LINUX_DIR)/drivers/bus/mhi/host/mhi.ko
  826. AUTOLOAD:=$(call AutoProbe,mhi)
  827. endef
  828. define KernelPackage/mhi-bus/description
  829. Kernel module for the Qualcomm MHI bus.
  830. endef
  831. $(eval $(call KernelPackage,mhi-bus))
  832. define KernelPackage/mhi-pci-generic
  833. SUBMENU:=$(OTHER_MENU)
  834. TITLE:=MHI PCI controller driver
  835. DEPENDS:=@PCI_SUPPORT +kmod-mhi-bus
  836. KCONFIG:=CONFIG_MHI_BUS_PCI_GENERIC
  837. FILES:=$(LINUX_DIR)/drivers/bus/mhi/host/mhi_pci_generic.ko
  838. AUTOLOAD:=$(call AutoProbe,mhi_pci_generic)
  839. endef
  840. define KernelPackage/mhi-pci-generic/description
  841. Kernel module for the MHI PCI controller driver.
  842. endef
  843. $(eval $(call KernelPackage,mhi-pci-generic))