other.mk 27 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040
  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. KCONFIG:= CONFIG_SERIAL_8250 \
  452. CONFIG_SERIAL_8250_PCI \
  453. CONFIG_SERIAL_8250_NR_UARTS=16 \
  454. CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
  455. CONFIG_SERIAL_8250_EXTENDED=y \
  456. CONFIG_SERIAL_8250_MANY_PORTS=y \
  457. CONFIG_SERIAL_8250_SHARE_IRQ=y \
  458. CONFIG_SERIAL_8250_DETECT_IRQ=n \
  459. CONFIG_SERIAL_8250_RSA=n
  460. FILES:= \
  461. $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
  462. $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko \
  463. $(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/8250_pci.ko) \
  464. $(if $(CONFIG_GPIOLIB),$(LINUX_DIR)/drivers/tty/serial/serial_mctrl_gpio.ko)
  465. AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci)
  466. endef
  467. define KernelPackage/serial-8250/description
  468. Kernel module for 8250 UART based serial ports
  469. endef
  470. $(eval $(call KernelPackage,serial-8250))
  471. define KernelPackage/serial-8250-exar
  472. SUBMENU:=$(OTHER_MENU)
  473. TITLE:=Exar 8250 UARTs
  474. KCONFIG:= CONFIG_SERIAL_8250_EXAR
  475. FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250_exar.ko
  476. AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_exar)
  477. DEPENDS:=@PCI_SUPPORT +kmod-serial-8250
  478. endef
  479. define KernelPackage/serial-8250-exar/description
  480. Kernel module for Exar serial ports
  481. endef
  482. $(eval $(call KernelPackage,serial-8250-exar))
  483. define KernelPackage/regmap-core
  484. SUBMENU:=$(OTHER_MENU)
  485. TITLE:=Generic register map support
  486. HIDDEN:=1
  487. KCONFIG:=CONFIG_REGMAP
  488. ifneq ($(wildcard $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko),)
  489. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-core.ko
  490. endif
  491. endef
  492. define KernelPackage/regmap-core/description
  493. Generic register map support
  494. endef
  495. $(eval $(call KernelPackage,regmap-core))
  496. define KernelPackage/regmap-spi
  497. SUBMENU:=$(OTHER_MENU)
  498. TITLE:=SPI register map support
  499. DEPENDS:=+kmod-regmap-core
  500. HIDDEN:=1
  501. KCONFIG:=CONFIG_REGMAP_SPI \
  502. CONFIG_SPI=y
  503. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko
  504. endef
  505. define KernelPackage/regmap-spi/description
  506. SPI register map support
  507. endef
  508. $(eval $(call KernelPackage,regmap-spi))
  509. define KernelPackage/regmap-i2c
  510. SUBMENU:=$(OTHER_MENU)
  511. TITLE:=I2C register map support
  512. DEPENDS:=+kmod-regmap-core +kmod-i2c-core
  513. HIDDEN:=1
  514. KCONFIG:=CONFIG_REGMAP_I2C
  515. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko
  516. endef
  517. define KernelPackage/regmap-i2c/description
  518. I2C register map support
  519. endef
  520. $(eval $(call KernelPackage,regmap-i2c))
  521. define KernelPackage/regmap-mmio
  522. SUBMENU:=$(OTHER_MENU)
  523. TITLE:=MMIO register map support
  524. DEPENDS:=+kmod-regmap-core
  525. HIDDEN:=1
  526. KCONFIG:=CONFIG_REGMAP_MMIO
  527. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko
  528. endef
  529. define KernelPackage/regmap-mmio/description
  530. MMIO register map support
  531. endef
  532. $(eval $(call KernelPackage,regmap-mmio))
  533. define KernelPackage/ikconfig
  534. SUBMENU:=$(OTHER_MENU)
  535. TITLE:=Kernel configuration via /proc/config.gz
  536. KCONFIG:=CONFIG_IKCONFIG \
  537. CONFIG_IKCONFIG_PROC=y
  538. FILES:=$(LINUX_DIR)/kernel/configs.ko
  539. AUTOLOAD:=$(call AutoLoad,70,configs)
  540. endef
  541. define KernelPackage/ikconfig/description
  542. Kernel configuration via /proc/config.gz
  543. endef
  544. $(eval $(call KernelPackage,ikconfig))
  545. define KernelPackage/zram
  546. SUBMENU:=$(OTHER_MENU)
  547. TITLE:=ZRAM
  548. KCONFIG:= \
  549. CONFIG_ZSMALLOC \
  550. CONFIG_ZRAM \
  551. CONFIG_ZRAM_DEBUG=n \
  552. CONFIG_ZRAM_WRITEBACK=n \
  553. CONFIG_ZSMALLOC_STAT=n
  554. FILES:= \
  555. $(LINUX_DIR)/mm/zsmalloc.ko \
  556. $(LINUX_DIR)/drivers/block/zram/zram.ko
  557. AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
  558. endef
  559. define KernelPackage/zram/description
  560. Compressed RAM block device support
  561. endef
  562. define KernelPackage/zram/config
  563. if PACKAGE_kmod-zram
  564. choice
  565. prompt "ZRAM Default compressor"
  566. default ZRAM_DEF_COMP_LZORLE
  567. config ZRAM_DEF_COMP_LZORLE
  568. bool "lzo-rle"
  569. select PACKAGE_kmod-lib-lzo
  570. config ZRAM_DEF_COMP_LZO
  571. bool "lzo"
  572. select PACKAGE_kmod-lib-lzo
  573. config ZRAM_DEF_COMP_LZ4
  574. bool "lz4"
  575. select PACKAGE_kmod-lib-lz4
  576. config ZRAM_DEF_COMP_LZ4HC
  577. bool "lz4-hc"
  578. select PACKAGE_kmod-lib-lz4hc
  579. config ZRAM_DEF_COMP_ZSTD
  580. bool "zstd"
  581. select PACKAGE_kmod-lib-zstd
  582. endchoice
  583. endif
  584. endef
  585. $(eval $(call KernelPackage,zram))
  586. define KernelPackage/pps
  587. SUBMENU:=$(OTHER_MENU)
  588. TITLE:=PPS support
  589. KCONFIG:=CONFIG_PPS
  590. FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
  591. AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
  592. endef
  593. define KernelPackage/pps/description
  594. PPS (Pulse Per Second) is a special pulse provided by some GPS
  595. antennae. Userland can use it to get a high-precision time
  596. reference.
  597. endef
  598. $(eval $(call KernelPackage,pps))
  599. define KernelPackage/pps-gpio
  600. SUBMENU:=$(OTHER_MENU)
  601. TITLE:=PPS client using GPIO
  602. DEPENDS:=+kmod-pps
  603. KCONFIG:=CONFIG_PPS_CLIENT_GPIO
  604. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
  605. AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
  606. endef
  607. define KernelPackage/pps-gpio/description
  608. Support for a PPS source using GPIO. To be useful you must
  609. also register a platform device specifying the GPIO pin and
  610. other options, usually in your board setup.
  611. endef
  612. $(eval $(call KernelPackage,pps-gpio))
  613. define KernelPackage/pps-ldisc
  614. SUBMENU:=$(OTHER_MENU)
  615. TITLE:=PPS line discipline
  616. DEPENDS:=+kmod-pps
  617. KCONFIG:=CONFIG_PPS_CLIENT_LDISC
  618. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
  619. AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
  620. endef
  621. define KernelPackage/pps-ldisc/description
  622. Support for a PPS source connected with the CD (Carrier
  623. Detect) pin of your serial port.
  624. endef
  625. $(eval $(call KernelPackage,pps-ldisc))
  626. define KernelPackage/ptp
  627. SUBMENU:=$(OTHER_MENU)
  628. TITLE:=PTP clock support
  629. DEPENDS:=+kmod-pps
  630. KCONFIG:= \
  631. CONFIG_PTP_1588_CLOCK \
  632. CONFIG_NET_PTP_CLASSIFY=y
  633. FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
  634. AUTOLOAD:=$(call AutoLoad,18,ptp,1)
  635. endef
  636. define KernelPackage/ptp/description
  637. The IEEE 1588 standard defines a method to precisely
  638. synchronize distributed clocks over Ethernet networks.
  639. endef
  640. $(eval $(call KernelPackage,ptp))
  641. define KernelPackage/ptp-qoriq
  642. SUBMENU:=$(OTHER_MENU)
  643. TITLE:=Freescale QorIQ PTP support
  644. DEPENDS:=@(TARGET_mpc85xx||TARGET_qoriq) +kmod-ptp
  645. KCONFIG:=CONFIG_PTP_1588_CLOCK_QORIQ
  646. FILES:=$(LINUX_DIR)/drivers/ptp/ptp-qoriq.ko
  647. AUTOLOAD:=$(call AutoProbe,ptp-qoriq)
  648. endef
  649. define KernelPackage/ptp-qoriq/description
  650. Kernel module for IEEE 1588 support for Freescale
  651. QorIQ Ethernet drivers
  652. endef
  653. $(eval $(call KernelPackage,ptp-qoriq))
  654. define KernelPackage/random-core
  655. SUBMENU:=$(OTHER_MENU)
  656. TITLE:=Hardware Random Number Generator Core support
  657. KCONFIG:=CONFIG_HW_RANDOM
  658. FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
  659. endef
  660. define KernelPackage/random-core/description
  661. Kernel module for the HW random number generator core infrastructure
  662. endef
  663. $(eval $(call KernelPackage,random-core))
  664. define KernelPackage/thermal
  665. SUBMENU:=$(OTHER_MENU)
  666. TITLE:=Thermal driver
  667. DEPENDS:=+kmod-hwmon-core
  668. HIDDEN:=1
  669. KCONFIG:= \
  670. CONFIG_THERMAL=y \
  671. CONFIG_THERMAL_OF=y \
  672. CONFIG_CPU_THERMAL=y \
  673. CONFIG_DEVFREQ_THERMAL=n \
  674. CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
  675. CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
  676. CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
  677. CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 \
  678. CONFIG_THERMAL_GOV_FAIR_SHARE=n \
  679. CONFIG_THERMAL_GOV_STEP_WISE=y \
  680. CONFIG_THERMAL_GOV_USER_SPACE=n \
  681. CONFIG_THERMAL_HWMON=y \
  682. CONFIG_THERMAL_EMULATION=n
  683. endef
  684. define KernelPackage/thermal/description
  685. Thermal driver offers a generic mechanism for thermal management.
  686. Usually it's made up of one or more thermal zone and cooling device.
  687. endef
  688. $(eval $(call KernelPackage,thermal))
  689. define KernelPackage/echo
  690. SUBMENU:=$(OTHER_MENU)
  691. TITLE:=Line Echo Canceller
  692. KCONFIG:=CONFIG_ECHO
  693. FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
  694. AUTOLOAD:=$(call AutoLoad,50,echo)
  695. endef
  696. define KernelPackage/echo/description
  697. This driver provides line echo cancelling support for mISDN and
  698. DAHDI drivers
  699. endef
  700. $(eval $(call KernelPackage,echo))
  701. define KernelPackage/keys-encrypted
  702. SUBMENU:=$(OTHER_MENU)
  703. TITLE:=encrypted keys on kernel keyring
  704. DEPENDS:=@KERNEL_KEYS +kmod-crypto-cbc +kmod-crypto-hmac +kmod-crypto-rng \
  705. +kmod-crypto-sha256 +kmod-keys-trusted
  706. KCONFIG:=CONFIG_ENCRYPTED_KEYS
  707. FILES:=$(LINUX_DIR)/security/keys/encrypted-keys/encrypted-keys.ko
  708. AUTOLOAD:=$(call AutoLoad,01,encrypted-keys,1)
  709. endef
  710. define KernelPackage/keys-encrypted/description
  711. This module provides support for create/encrypting/decrypting keys
  712. in the kernel. Encrypted keys are kernel generated random numbers,
  713. which are encrypted/decrypted with a 'master' symmetric key. The
  714. 'master' key can be either a trusted-key or user-key type.
  715. Userspace only ever sees/stores encrypted blobs.
  716. endef
  717. $(eval $(call KernelPackage,keys-encrypted))
  718. define KernelPackage/keys-trusted
  719. SUBMENU:=$(OTHER_MENU)
  720. TITLE:=TPM trusted keys on kernel keyring
  721. DEPENDS:=@KERNEL_KEYS +kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha1 +kmod-tpm
  722. KCONFIG:=CONFIG_TRUSTED_KEYS
  723. FILES:= $(LINUX_DIR)/security/keys/trusted-keys/trusted.ko
  724. AUTOLOAD:=$(call AutoLoad,01,trusted-keys,1)
  725. endef
  726. define KernelPackage/keys-trusted/description
  727. This module provides support for creating, sealing, and unsealing
  728. keys in the kernel. Trusted keys are random number symmetric keys,
  729. generated and RSA-sealed by the TPM. The TPM only unseals the keys,
  730. if the boot PCRs and other criteria match. Userspace will only ever
  731. see encrypted blobs.
  732. endef
  733. $(eval $(call KernelPackage,keys-trusted))
  734. define KernelPackage/tpm
  735. SUBMENU:=$(OTHER_MENU)
  736. TITLE:=TPM Hardware Support
  737. DEPENDS:= +kmod-random-core +kmod-asn1-decoder \
  738. +kmod-asn1-encoder +kmod-oid-registry
  739. KCONFIG:= CONFIG_TCG_TPM
  740. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
  741. AUTOLOAD:=$(call AutoLoad,10,tpm,1)
  742. endef
  743. define KernelPackage/tpm/description
  744. This enables TPM Hardware Support.
  745. endef
  746. $(eval $(call KernelPackage,tpm))
  747. define KernelPackage/tpm-tis
  748. SUBMENU:=$(OTHER_MENU)
  749. TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
  750. DEPENDS:= @TARGET_x86 +kmod-tpm
  751. KCONFIG:= CONFIG_TCG_TIS
  752. FILES:= \
  753. $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
  754. $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
  755. AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
  756. endef
  757. define KernelPackage/tpm-tis/description
  758. If you have a TPM security chip that is compliant with the
  759. TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
  760. specification (TPM2.0) say Yes and it will be accessible from
  761. within Linux.
  762. endef
  763. $(eval $(call KernelPackage,tpm-tis))
  764. define KernelPackage/tpm-i2c-atmel
  765. SUBMENU:=$(OTHER_MENU)
  766. TITLE:=TPM I2C Atmel Support
  767. DEPENDS:= +kmod-tpm +kmod-i2c-core
  768. KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
  769. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
  770. AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
  771. endef
  772. define KernelPackage/tpm-i2c-atmel/description
  773. This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
  774. endef
  775. $(eval $(call KernelPackage,tpm-i2c-atmel))
  776. define KernelPackage/tpm-i2c-infineon
  777. SUBMENU:=$(OTHER_MENU)
  778. TITLE:= TPM I2C Infineon driver
  779. DEPENDS:= +kmod-tpm +kmod-i2c-core
  780. KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
  781. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
  782. AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
  783. endef
  784. define KernelPackage/tpm-i2c-infineon/description
  785. This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
  786. endef
  787. $(eval $(call KernelPackage,tpm-i2c-infineon))
  788. define KernelPackage/i6300esb-wdt
  789. SUBMENU:=$(OTHER_MENU)
  790. TITLE:=Intel 6300ESB Timer/Watchdog
  791. DEPENDS:=@PCI_SUPPORT @!SMALL_FLASH
  792. KCONFIG:=CONFIG_I6300ESB_WDT \
  793. CONFIG_WATCHDOG_CORE=y
  794. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/i6300esb.ko
  795. AUTOLOAD:=$(call AutoLoad,50,i6300esb,1)
  796. endef
  797. define KernelPackage/i6300esb-wdt/description
  798. Kernel module for the watchdog timer built into the Intel
  799. 6300ESB controller hub. Also used by QEMU/libvirt.
  800. endef
  801. $(eval $(call KernelPackage,i6300esb-wdt))
  802. define KernelPackage/mhi-bus
  803. SUBMENU:=$(OTHER_MENU)
  804. TITLE:=MHI bus
  805. KCONFIG:=CONFIG_MHI_BUS \
  806. CONFIG_MHI_BUS_DEBUG=y
  807. FILES:=$(LINUX_DIR)/drivers/bus/mhi/host/mhi.ko
  808. AUTOLOAD:=$(call AutoProbe,mhi)
  809. endef
  810. define KernelPackage/mhi-bus/description
  811. Kernel module for the Qualcomm MHI bus.
  812. endef
  813. $(eval $(call KernelPackage,mhi-bus))
  814. define KernelPackage/mhi-pci-generic
  815. SUBMENU:=$(OTHER_MENU)
  816. TITLE:=MHI PCI controller driver
  817. DEPENDS:=@PCI_SUPPORT +kmod-mhi-bus
  818. KCONFIG:=CONFIG_MHI_BUS_PCI_GENERIC
  819. FILES:=$(LINUX_DIR)/drivers/bus/mhi/host/mhi_pci_generic.ko
  820. AUTOLOAD:=$(call AutoProbe,mhi_pci_generic)
  821. endef
  822. define KernelPackage/mhi-pci-generic/description
  823. Kernel module for the MHI PCI controller driver.
  824. endef
  825. $(eval $(call KernelPackage,mhi-pci-generic))