other.mk 35 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364
  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/bluetooth
  23. SUBMENU:=$(OTHER_MENU)
  24. TITLE:=Bluetooth support
  25. DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-crypto-hash +kmod-crypto-ecb +kmod-lib-crc16 +kmod-hid +kmod-crypto-cmac +kmod-regmap-core +kmod-crypto-ecdh
  26. KCONFIG:= \
  27. CONFIG_BT \
  28. CONFIG_BT_BREDR=y \
  29. CONFIG_BT_DEBUGFS=n \
  30. CONFIG_BT_LE=y \
  31. CONFIG_BT_RFCOMM \
  32. CONFIG_BT_BNEP \
  33. CONFIG_BT_HCIBTUSB \
  34. CONFIG_BT_HCIBTUSB_BCM=n \
  35. CONFIG_BT_HCIBTUSB_MTK=y \
  36. CONFIG_BT_HCIBTUSB_RTL=y \
  37. CONFIG_BT_HCIUART \
  38. CONFIG_BT_HCIUART_BCM=n \
  39. CONFIG_BT_HCIUART_INTEL=n \
  40. CONFIG_BT_HCIUART_H4 \
  41. CONFIG_BT_HCIUART_NOKIA=n \
  42. CONFIG_BT_HIDP
  43. $(call AddDepends/rfkill)
  44. FILES:= \
  45. $(LINUX_DIR)/net/bluetooth/bluetooth.ko \
  46. $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \
  47. $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \
  48. $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \
  49. $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \
  50. $(LINUX_DIR)/drivers/bluetooth/btusb.ko \
  51. $(LINUX_DIR)/drivers/bluetooth/btintel.ko \
  52. $(LINUX_DIR)/drivers/bluetooth/btrtl.ko
  53. AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb)
  54. endef
  55. define KernelPackage/bluetooth/description
  56. Kernel support for Bluetooth devices
  57. endef
  58. $(eval $(call KernelPackage,bluetooth))
  59. define KernelPackage/ath3k
  60. SUBMENU:=$(OTHER_MENU)
  61. TITLE:=ATH3K Kernel Module support
  62. DEPENDS:=+kmod-bluetooth +ar3k-firmware
  63. KCONFIG:= \
  64. CONFIG_BT_ATH3K \
  65. CONFIG_BT_HCIUART_ATH3K=y
  66. FILES:= \
  67. $(LINUX_DIR)/drivers/bluetooth/ath3k.ko
  68. AUTOLOAD:=$(call AutoProbe,ath3k)
  69. endef
  70. define KernelPackage/ath3k/description
  71. Kernel support for ATH3K Module
  72. endef
  73. $(eval $(call KernelPackage,ath3k))
  74. define KernelPackage/bluetooth-6lowpan
  75. SUBMENU:=$(OTHER_MENU)
  76. TITLE:=Bluetooth 6LoWPAN support
  77. DEPENDS:=+kmod-6lowpan +kmod-bluetooth
  78. KCONFIG:=CONFIG_BT_6LOWPAN
  79. FILES:=$(LINUX_DIR)/net/bluetooth/bluetooth_6lowpan.ko
  80. AUTOLOAD:=$(call AutoProbe,bluetooth_6lowpan)
  81. endef
  82. define KernelPackage/bluetooth-6lowpan/description
  83. Kernel support for 6LoWPAN over Bluetooth Low Energy devices
  84. endef
  85. $(eval $(call KernelPackage,bluetooth-6lowpan))
  86. define KernelPackage/btmrvl
  87. SUBMENU:=$(OTHER_MENU)
  88. TITLE:=Marvell Bluetooth Kernel Module support
  89. DEPENDS:=+kmod-mmc +kmod-bluetooth +mwifiex-sdio-firmware
  90. KCONFIG:= \
  91. CONFIG_BT_MRVL \
  92. CONFIG_BT_MRVL_SDIO
  93. FILES:= \
  94. $(LINUX_DIR)/drivers/bluetooth/btmrvl.ko \
  95. $(LINUX_DIR)/drivers/bluetooth/btmrvl_sdio.ko
  96. AUTOLOAD:=$(call AutoProbe,btmrvl btmrvl_sdio)
  97. endef
  98. define KernelPackage/btmrvl/description
  99. Kernel support for Marvell SDIO Bluetooth Module
  100. endef
  101. $(eval $(call KernelPackage,btmrvl))
  102. define KernelPackage/btsdio
  103. SUBMENU:=$(OTHER_MENU)
  104. TITLE:=Bluetooth HCI SDIO driver
  105. DEPENDS:=+kmod-bluetooth +kmod-mmc
  106. KCONFIG:= \
  107. CONFIG_BT_HCIBTSDIO
  108. FILES:= \
  109. $(LINUX_DIR)/drivers/bluetooth/btsdio.ko
  110. AUTOLOAD:=$(call AutoProbe,btsdio)
  111. endef
  112. define KernelPackage/btsdio/description
  113. Kernel support for Bluetooth device with SDIO interface
  114. endef
  115. $(eval $(call KernelPackage,btsdio))
  116. define KernelPackage/dma-buf
  117. SUBMENU:=$(OTHER_MENU)
  118. TITLE:=DMA shared buffer support
  119. HIDDEN:=1
  120. KCONFIG:=CONFIG_DMA_SHARED_BUFFER
  121. ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
  122. ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
  123. FILES:=$(LINUX_DIR)/drivers/dma-buf/dma-shared-buffer.ko
  124. endif
  125. endif
  126. AUTOLOAD:=$(call AutoLoad,20,dma-shared-buffer)
  127. endef
  128. $(eval $(call KernelPackage,dma-buf))
  129. define KernelPackage/eeprom-93cx6
  130. SUBMENU:=$(OTHER_MENU)
  131. TITLE:=EEPROM 93CX6 support
  132. KCONFIG:=CONFIG_EEPROM_93CX6
  133. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
  134. AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
  135. endef
  136. define KernelPackage/eeprom-93cx6/description
  137. Kernel module for EEPROM 93CX6 support
  138. endef
  139. $(eval $(call KernelPackage,eeprom-93cx6))
  140. define KernelPackage/eeprom-at24
  141. SUBMENU:=$(OTHER_MENU)
  142. TITLE:=EEPROM AT24 support
  143. KCONFIG:=CONFIG_EEPROM_AT24
  144. DEPENDS:=+kmod-i2c-core +kmod-regmap-i2c
  145. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
  146. AUTOLOAD:=$(call AutoProbe,at24)
  147. endef
  148. define KernelPackage/eeprom-at24/description
  149. Kernel module for most I2C EEPROMs
  150. endef
  151. $(eval $(call KernelPackage,eeprom-at24))
  152. define KernelPackage/eeprom-at25
  153. SUBMENU:=$(OTHER_MENU)
  154. TITLE:=EEPROM AT25 support
  155. KCONFIG:=CONFIG_EEPROM_AT25
  156. FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
  157. AUTOLOAD:=$(call AutoProbe,at25)
  158. endef
  159. define KernelPackage/eeprom-at25/description
  160. Kernel module for most SPI EEPROMs
  161. endef
  162. $(eval $(call KernelPackage,eeprom-at25))
  163. define KernelPackage/google-firmware
  164. SUBMENU:=$(OTHER_MENU)
  165. TITLE:=Google firmware drivers (Coreboot, VPD, Memconsole)
  166. KCONFIG:= \
  167. CONFIG_GOOGLE_FIRMWARE=y \
  168. CONFIG_GOOGLE_COREBOOT_TABLE \
  169. CONFIG_GOOGLE_MEMCONSOLE \
  170. CONFIG_GOOGLE_MEMCONSOLE_COREBOOT \
  171. CONFIG_GOOGLE_VPD
  172. FILES:= \
  173. $(LINUX_DIR)/drivers/firmware/google/coreboot_table.ko \
  174. $(LINUX_DIR)/drivers/firmware/google/memconsole.ko \
  175. $(LINUX_DIR)/drivers/firmware/google/memconsole-coreboot.ko \
  176. $(LINUX_DIR)/drivers/firmware/google/vpd-sysfs.ko
  177. AUTOLOAD:=$(call AutoProbe,coreboot_table memconsole-coreboot vpd-sysfs)
  178. endef
  179. define KernelPackage/google-firmware/description
  180. Kernel modules for Google firmware drivers. Useful for examining firmware and
  181. boot details on devices using a Google bootloader based on Coreboot. Provides
  182. files like /sys/firmware/log and /sys/firmware/vpd.
  183. endef
  184. $(eval $(call KernelPackage,google-firmware))
  185. define KernelPackage/gpio-f7188x
  186. SUBMENU:=$(OTHER_MENU)
  187. TITLE:=Fintek F718xx/F818xx GPIO Support
  188. DEPENDS:=@GPIO_SUPPORT @TARGET_x86
  189. KCONFIG:=CONFIG_GPIO_F7188X
  190. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-f7188x.ko
  191. AUTOLOAD:=$(call AutoProbe,gpio-f7188x)
  192. endef
  193. define KernelPackage/gpio-f7188x/description
  194. Kernel module for the GPIOs found on many Fintek Super-IO chips.
  195. endef
  196. $(eval $(call KernelPackage,gpio-f7188x))
  197. define KernelPackage/lkdtm
  198. SUBMENU:=$(OTHER_MENU)
  199. TITLE:=Linux Kernel Dump Test Tool Module
  200. KCONFIG:=CONFIG_LKDTM
  201. FILES:=$(LINUX_DIR)/drivers/misc/lkdtm/lkdtm.ko
  202. AUTOLOAD:=$(call AutoProbe,lkdtm)
  203. endef
  204. define KernelPackage/lkdtm/description
  205. This module enables testing of the different dumping mechanisms by inducing
  206. system failures at predefined crash points.
  207. endef
  208. $(eval $(call KernelPackage,lkdtm))
  209. define KernelPackage/pinctrl-mcp23s08
  210. SUBMENU:=$(OTHER_MENU)
  211. TITLE:=Microchip MCP23xxx I/O expander
  212. HIDDEN:=1
  213. DEPENDS:=@GPIO_SUPPORT +kmod-regmap-core
  214. KCONFIG:=CONFIG_PINCTRL_MCP23S08
  215. FILES:=$(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08.ko
  216. AUTOLOAD:=$(call AutoLoad,40,pinctrl-mcp23s08)
  217. endef
  218. define KernelPackage/pinctrl-mcp23s08/description
  219. Kernel module for Microchip MCP23xxx I/O expander
  220. endef
  221. $(eval $(call KernelPackage,pinctrl-mcp23s08))
  222. define KernelPackage/pinctrl-mcp23s08-i2c
  223. SUBMENU:=$(OTHER_MENU)
  224. TITLE:=Microchip MCP23xxx I/O expander (I2C)
  225. DEPENDS:=@GPIO_SUPPORT \
  226. +kmod-pinctrl-mcp23s08 \
  227. +kmod-i2c-core \
  228. +kmod-regmap-i2c
  229. KCONFIG:=CONFIG_PINCTRL_MCP23S08_I2C
  230. FILES:=$(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08_i2c.ko
  231. AUTOLOAD:=$(call AutoLoad,40,pinctrl-mcp23s08-i2c)
  232. endef
  233. define KernelPackage/pinctrl-mcp23s08-i2c/description
  234. Kernel module for Microchip MCP23xxx I/O expander via I2C
  235. endef
  236. $(eval $(call KernelPackage,pinctrl-mcp23s08-i2c))
  237. define KernelPackage/pinctrl-mcp23s08-spi
  238. SUBMENU:=$(OTHER_MENU)
  239. TITLE:=Microchip MCP23xxx I/O expander (SPI)
  240. DEPENDS:=@GPIO_SUPPORT +kmod-pinctrl-mcp23s08
  241. KCONFIG:=CONFIG_PINCTRL_MCP23S08_SPI
  242. FILES:=$(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08_spi.ko
  243. AUTOLOAD:=$(call AutoLoad,40,pinctrl-mcp23s08-spi)
  244. endef
  245. define KernelPackage/pinctrl-mcp23s08-spi/description
  246. Kernel module for Microchip MCP23xxx I/O expander via SPI
  247. endef
  248. $(eval $(call KernelPackage,pinctrl-mcp23s08-spi))
  249. define KernelPackage/gpio-nxp-74hc164
  250. SUBMENU:=$(OTHER_MENU)
  251. TITLE:=NXP 74HC164 GPIO expander support
  252. KCONFIG:=CONFIG_GPIO_74X164
  253. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-74x164.ko
  254. AUTOLOAD:=$(call AutoProbe,gpio-74x164)
  255. endef
  256. define KernelPackage/gpio-nxp-74hc164/description
  257. Kernel module for NXP 74HC164 GPIO expander
  258. endef
  259. $(eval $(call KernelPackage,gpio-nxp-74hc164))
  260. define KernelPackage/gpio-pca953x
  261. SUBMENU:=$(OTHER_MENU)
  262. DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core +kmod-regmap-i2c
  263. TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
  264. KCONFIG:=CONFIG_GPIO_PCA953X
  265. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
  266. AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
  267. endef
  268. define KernelPackage/gpio-pca953x/description
  269. Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7},
  270. PCA957{4,5} and TCA64{08,16} I2C GPIO expanders
  271. endef
  272. $(eval $(call KernelPackage,gpio-pca953x))
  273. define KernelPackage/gpio-pcf857x
  274. SUBMENU:=$(OTHER_MENU)
  275. DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
  276. TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
  277. KCONFIG:=CONFIG_GPIO_PCF857X
  278. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
  279. AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
  280. endef
  281. define KernelPackage/gpio-pcf857x/description
  282. Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
  283. endef
  284. $(eval $(call KernelPackage,gpio-pcf857x))
  285. define KernelPackage/gpio-it87
  286. SUBMENU:=$(OTHER_MENU)
  287. DEPENDS:=@GPIO_SUPPORT @TARGET_x86
  288. TITLE:=GPIO support for IT87xx Super I/O chips
  289. KCONFIG:=CONFIG_GPIO_IT87
  290. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-it87.ko
  291. AUTOLOAD:=$(call AutoLoad,25,gpio-it87,1)
  292. endef
  293. define KernelPackage/gpio-it87/description
  294. This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and
  295. supports the IT8761E, IT8613, IT8620E, and IT8628E Super I/O chips as
  296. well.
  297. endef
  298. $(eval $(call KernelPackage,gpio-it87))
  299. define KernelPackage/gpio-amd-fch
  300. SUBMENU:=$(OTHER_MENU)
  301. DEPENDS:=@GPIO_SUPPORT @TARGET_x86
  302. TITLE:=GPIO support for AMD Fusion Controller Hub (G-series SOCs)
  303. KCONFIG:=CONFIG_GPIO_AMD_FCH
  304. FILES:=$(LINUX_DIR)/drivers/gpio/gpio-amd-fch.ko
  305. AUTOLOAD:=$(call AutoLoad,25,gpio-amd-fch,1)
  306. endef
  307. define KernelPackage/gpio-amd-fch/description
  308. This option enables driver for GPIO on AMDs Fusion Controller Hub,
  309. as found on G-series SOCs (eg. GX-412TC)
  310. endef
  311. $(eval $(call KernelPackage,gpio-amd-fch))
  312. define KernelPackage/ppdev
  313. SUBMENU:=$(OTHER_MENU)
  314. TITLE:=Parallel port support
  315. KCONFIG:= \
  316. CONFIG_PARPORT \
  317. CONFIG_PPDEV
  318. FILES:= \
  319. $(LINUX_DIR)/drivers/parport/parport.ko \
  320. $(LINUX_DIR)/drivers/char/ppdev.ko
  321. AUTOLOAD:=$(call AutoLoad,50,parport ppdev)
  322. endef
  323. $(eval $(call KernelPackage,ppdev))
  324. define KernelPackage/parport-pc
  325. SUBMENU:=$(OTHER_MENU)
  326. TITLE:=Parallel port interface (PC-style) support
  327. DEPENDS:=+kmod-ppdev
  328. KCONFIG:= \
  329. CONFIG_KS0108=n \
  330. CONFIG_PARPORT_PC \
  331. CONFIG_PARPORT_1284=y \
  332. CONFIG_PARPORT_PC_FIFO=y \
  333. CONFIG_PARPORT_PC_PCMCIA=n \
  334. CONFIG_PARPORT_PC_SUPERIO=y \
  335. CONFIG_PARPORT_SERIAL=n \
  336. CONFIG_PARIDE=n \
  337. CONFIG_SCSI_IMM=n \
  338. CONFIG_SCSI_PPA=n
  339. FILES:= \
  340. $(LINUX_DIR)/drivers/parport/parport_pc.ko
  341. AUTOLOAD:=$(call AutoLoad,51,parport_pc)
  342. endef
  343. $(eval $(call KernelPackage,parport-pc))
  344. define KernelPackage/lp
  345. SUBMENU:=$(OTHER_MENU)
  346. TITLE:=Parallel port line printer device support
  347. DEPENDS:=+kmod-ppdev
  348. KCONFIG:= \
  349. CONFIG_PRINTER
  350. FILES:= \
  351. $(LINUX_DIR)/drivers/char/lp.ko
  352. AUTOLOAD:=$(call AutoLoad,52,lp)
  353. endef
  354. $(eval $(call KernelPackage,lp))
  355. define KernelPackage/mmc
  356. SUBMENU:=$(OTHER_MENU)
  357. TITLE:=MMC/SD Card Support
  358. DEPENDS:=@!TARGET_uml
  359. KCONFIG:= \
  360. CONFIG_MMC \
  361. CONFIG_MMC_BLOCK \
  362. CONFIG_MMC_DEBUG=n \
  363. CONFIG_MMC_UNSAFE_RESUME=n \
  364. CONFIG_MMC_TIFM_SD=n \
  365. CONFIG_MMC_WBSD=n \
  366. CONFIG_SDIO_UART=n
  367. FILES:= \
  368. $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
  369. $(LINUX_DIR)/drivers/mmc/core/mmc_block.ko
  370. AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
  371. endef
  372. define KernelPackage/mmc/description
  373. Kernel support for MMC/SD cards
  374. endef
  375. $(eval $(call KernelPackage,mmc))
  376. define KernelPackage/sdhci
  377. SUBMENU:=$(OTHER_MENU)
  378. TITLE:=Secure Digital Host Controller Interface support
  379. DEPENDS:=+kmod-mmc
  380. KCONFIG:= \
  381. CONFIG_MMC_SDHCI \
  382. CONFIG_MMC_SDHCI_PLTFM \
  383. CONFIG_MMC_SDHCI_PCI=n
  384. FILES:= \
  385. $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
  386. $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
  387. AUTOLOAD:=$(call AutoProbe,sdhci-pltfm,1)
  388. endef
  389. define KernelPackage/sdhci/description
  390. Kernel support for SDHCI Hosts
  391. endef
  392. $(eval $(call KernelPackage,sdhci))
  393. define KernelPackage/rfkill
  394. SUBMENU:=$(OTHER_MENU)
  395. TITLE:=RF switch subsystem support
  396. DEPENDS:=@USE_RFKILL +kmod-input-core
  397. KCONFIG:= \
  398. CONFIG_RFKILL_FULL \
  399. CONFIG_RFKILL_INPUT=y \
  400. CONFIG_RFKILL_LEDS=y
  401. FILES:= \
  402. $(LINUX_DIR)/net/rfkill/rfkill.ko
  403. AUTOLOAD:=$(call AutoLoad,20,rfkill)
  404. endef
  405. define KernelPackage/rfkill/description
  406. Say Y here if you want to have control over RF switches
  407. found on many WiFi and Bluetooth cards
  408. endef
  409. $(eval $(call KernelPackage,rfkill))
  410. define KernelPackage/softdog
  411. SUBMENU:=$(OTHER_MENU)
  412. TITLE:=Software watchdog driver
  413. KCONFIG:=CONFIG_SOFT_WATCHDOG \
  414. CONFIG_SOFT_WATCHDOG_PRETIMEOUT=n
  415. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
  416. AUTOLOAD:=$(call AutoLoad,50,softdog,1)
  417. endef
  418. define KernelPackage/softdog/description
  419. Software watchdog driver
  420. endef
  421. $(eval $(call KernelPackage,softdog))
  422. define KernelPackage/ssb
  423. SUBMENU:=$(OTHER_MENU)
  424. TITLE:=Silicon Sonics Backplane glue code
  425. DEPENDS:=@PCI_SUPPORT @!TARGET_bcm47xx @!TARGET_bcm63xx
  426. KCONFIG:=\
  427. CONFIG_SSB \
  428. CONFIG_SSB_B43_PCI_BRIDGE=y \
  429. CONFIG_SSB_DRIVER_MIPS=n \
  430. CONFIG_SSB_DRIVER_PCICORE=y \
  431. CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
  432. CONFIG_SSB_FALLBACK_SPROM=y \
  433. CONFIG_SSB_PCIHOST=y \
  434. CONFIG_SSB_PCIHOST_POSSIBLE=y \
  435. CONFIG_SSB_POSSIBLE=y \
  436. CONFIG_SSB_SPROM=y \
  437. CONFIG_SSB_SILENT=y
  438. FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
  439. AUTOLOAD:=$(call AutoLoad,18,ssb,1)
  440. endef
  441. define KernelPackage/ssb/description
  442. Silicon Sonics Backplane glue code.
  443. endef
  444. $(eval $(call KernelPackage,ssb))
  445. define KernelPackage/bcma
  446. SUBMENU:=$(OTHER_MENU)
  447. TITLE:=BCMA support
  448. DEPENDS:=@PCI_SUPPORT @!TARGET_bcm47xx @!TARGET_bcm53xx
  449. KCONFIG:=\
  450. CONFIG_BCMA \
  451. CONFIG_BCMA_POSSIBLE=y \
  452. CONFIG_BCMA_BLOCKIO=y \
  453. CONFIG_BCMA_FALLBACK_SPROM=y \
  454. CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
  455. CONFIG_BCMA_HOST_PCI=y \
  456. CONFIG_BCMA_HOST_SOC=n \
  457. CONFIG_BCMA_DRIVER_MIPS=n \
  458. CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
  459. CONFIG_BCMA_DRIVER_GMAC_CMN=n \
  460. CONFIG_BCMA_DEBUG=n
  461. FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
  462. AUTOLOAD:=$(call AutoLoad,29,bcma)
  463. endef
  464. define KernelPackage/bcma/description
  465. Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
  466. endef
  467. $(eval $(call KernelPackage,bcma))
  468. define KernelPackage/rtc-ds1307
  469. SUBMENU:=$(OTHER_MENU)
  470. TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
  471. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  472. DEPENDS:=+kmod-i2c-core +kmod-regmap-i2c +kmod-hwmon-core
  473. KCONFIG:=CONFIG_RTC_DRV_DS1307 \
  474. CONFIG_RTC_CLASS=y
  475. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
  476. AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
  477. endef
  478. define KernelPackage/rtc-ds1307/description
  479. Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
  480. Epson RX-8025 and various other compatible RTC chips connected via I2C.
  481. endef
  482. $(eval $(call KernelPackage,rtc-ds1307))
  483. define KernelPackage/rtc-ds1374
  484. SUBMENU:=$(OTHER_MENU)
  485. TITLE:=Dallas/Maxim DS1374 RTC support
  486. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  487. DEPENDS:=+kmod-i2c-core
  488. KCONFIG:=CONFIG_RTC_DRV_DS1374 \
  489. CONFIG_RTC_DRV_DS1374_WDT=n \
  490. CONFIG_RTC_CLASS=y
  491. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko
  492. AUTOLOAD:=$(call AutoProbe,rtc-ds1374)
  493. endef
  494. define KernelPackage/rtc-ds1374/description
  495. Kernel module for Dallas/Maxim DS1374.
  496. endef
  497. $(eval $(call KernelPackage,rtc-ds1374))
  498. define KernelPackage/rtc-ds1672
  499. SUBMENU:=$(OTHER_MENU)
  500. TITLE:=Dallas/Maxim DS1672 RTC support
  501. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  502. DEPENDS:=+kmod-i2c-core
  503. KCONFIG:=CONFIG_RTC_DRV_DS1672 \
  504. CONFIG_RTC_CLASS=y
  505. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
  506. AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
  507. endef
  508. define KernelPackage/rtc-ds1672/description
  509. Kernel module for Dallas/Maxim DS1672 RTC.
  510. endef
  511. $(eval $(call KernelPackage,rtc-ds1672))
  512. define KernelPackage/rtc-em3027
  513. SUBMENU:=$(OTHER_MENU)
  514. TITLE:=Microelectronic EM3027 RTC support
  515. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  516. DEPENDS:=+kmod-i2c-core
  517. KCONFIG:=CONFIG_RTC_DRV_EM3027 \
  518. CONFIG_RTC_CLASS=y
  519. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-em3027.ko
  520. AUTOLOAD:=$(call AutoProbe,rtc-em3027)
  521. endef
  522. define KernelPackage/rtc-em3027/description
  523. Kernel module for Microelectronic EM3027 RTC.
  524. endef
  525. $(eval $(call KernelPackage,rtc-em3027))
  526. define KernelPackage/rtc-isl1208
  527. SUBMENU:=$(OTHER_MENU)
  528. TITLE:=Intersil ISL1208 RTC support
  529. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  530. DEPENDS:=+kmod-i2c-core
  531. KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
  532. CONFIG_RTC_CLASS=y
  533. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
  534. AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
  535. endef
  536. define KernelPackage/rtc-isl1208/description
  537. Kernel module for Intersil ISL1208 RTC.
  538. endef
  539. $(eval $(call KernelPackage,rtc-isl1208))
  540. define KernelPackage/rtc-pcf8563
  541. SUBMENU:=$(OTHER_MENU)
  542. TITLE:=Philips PCF8563/Epson RTC8564 RTC support
  543. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  544. DEPENDS:=+kmod-i2c-core
  545. KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
  546. CONFIG_RTC_CLASS=y
  547. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
  548. AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
  549. endef
  550. define KernelPackage/rtc-pcf8563/description
  551. Kernel module for Philips PCF8563 RTC chip.
  552. The Epson RTC8564 should work as well.
  553. endef
  554. $(eval $(call KernelPackage,rtc-pcf8563))
  555. define KernelPackage/rtc-pcf2123
  556. SUBMENU:=$(OTHER_MENU)
  557. TITLE:=Philips PCF2123 RTC support
  558. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  559. DEPENDS:=+kmod-regmap-spi
  560. KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
  561. CONFIG_RTC_CLASS=y
  562. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
  563. AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
  564. endef
  565. define KernelPackage/rtc-pcf2123/description
  566. Kernel module for Philips PCF2123 RTC chip
  567. endef
  568. $(eval $(call KernelPackage,rtc-pcf2123))
  569. define KernelPackage/rtc-pcf2127
  570. SUBMENU:=$(OTHER_MENU)
  571. TITLE:=NXP PCF2127 and PCF2129 RTC support
  572. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  573. DEPENDS:=+kmod-i2c-core +kmod-regmap-spi
  574. KCONFIG:=CONFIG_RTC_DRV_PCF2127 \
  575. CONFIG_RTC_CLASS=y
  576. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2127.ko
  577. AUTOLOAD:=$(call AutoProbe,rtc-pcf2127)
  578. endef
  579. define KernelPackage/rtc-pcf2127/description
  580. Kernel module for NXP PCF2127 and PCF2129 RTC chip
  581. endef
  582. $(eval $(call KernelPackage,rtc-pcf2127))
  583. define KernelPackage/rtc-rs5c372a
  584. SUBMENU:=$(OTHER_MENU)
  585. TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
  586. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  587. DEPENDS:=+kmod-i2c-core
  588. KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
  589. CONFIG_RTC_CLASS=y
  590. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
  591. AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
  592. endef
  593. define KernelPackage/rtc-rs5c372a/description
  594. Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
  595. endef
  596. $(eval $(call KernelPackage,rtc-rs5c372a))
  597. define KernelPackage/rtc-rx8025
  598. SUBMENU:=$(OTHER_MENU)
  599. TITLE:=Epson RX-8025 / RX-8035
  600. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  601. DEPENDS:=+kmod-i2c-core
  602. KCONFIG:=CONFIG_RTC_DRV_RX8025 \
  603. CONFIG_RTC_CLASS=y
  604. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rx8025.ko
  605. AUTOLOAD:=$(call AutoLoad,50,rtc-rx8025,1)
  606. endef
  607. define KernelPackage/rtc-rx8025/description
  608. Kernel module for Epson RX-8025 and RX-8035 I2C RTC chip
  609. endef
  610. $(eval $(call KernelPackage,rtc-rx8025))
  611. define KernelPackage/rtc-s35390a
  612. SUBMENU:=$(OTHER_MENU)
  613. TITLE:=Seico S-35390A
  614. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  615. DEPENDS:=+kmod-i2c-core
  616. KCONFIG:=CONFIG_RTC_DRV_S35390A \
  617. CONFIG_RTC_CLASS=y
  618. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-s35390a.ko
  619. AUTOLOAD:=$(call AutoLoad,50,rtc-s35390a,1)
  620. endef
  621. define KernelPackage/rtc-s35390a/description
  622. Kernel module for Seiko Instruments S-35390A I2C RTC chip
  623. endef
  624. $(eval $(call KernelPackage,rtc-s35390a))
  625. define KernelPackage/mtdtests
  626. SUBMENU:=$(OTHER_MENU)
  627. TITLE:=MTD subsystem tests
  628. KCONFIG:=CONFIG_MTD_TESTS
  629. FILES:=\
  630. $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
  631. $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
  632. $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
  633. $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
  634. $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
  635. $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
  636. $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
  637. $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
  638. endef
  639. define KernelPackage/mtdtests/description
  640. Kernel modules for MTD subsystem/driver testing
  641. endef
  642. $(eval $(call KernelPackage,mtdtests))
  643. define KernelPackage/mtdoops
  644. SUBMENU:=$(OTHER_MENU)
  645. TITLE:=Log panic/oops to an MTD buffer
  646. KCONFIG:=CONFIG_MTD_OOPS
  647. FILES:=$(LINUX_DIR)/drivers/mtd/mtdoops.ko
  648. endef
  649. define KernelPackage/mtdoops/description
  650. Kernel modules for Log panic/oops to an MTD buffer
  651. endef
  652. $(eval $(call KernelPackage,mtdoops))
  653. define KernelPackage/mtdram
  654. SUBMENU:=$(OTHER_MENU)
  655. TITLE:=Test MTD driver using RAM
  656. KCONFIG:=CONFIG_MTD_MTDRAM \
  657. CONFIG_MTDRAM_TOTAL_SIZE=4096 \
  658. CONFIG_MTDRAM_ERASE_SIZE=128
  659. FILES:=$(LINUX_DIR)/drivers/mtd/devices/mtdram.ko
  660. endef
  661. define KernelPackage/mtdram/description
  662. Test MTD driver using RAM
  663. endef
  664. $(eval $(call KernelPackage,mtdram))
  665. define KernelPackage/ramoops
  666. SUBMENU:=$(OTHER_MENU)
  667. TITLE:=Ramoops (pstore-ram)
  668. DEFAULT:=m if ALL_KMODS
  669. KCONFIG:=CONFIG_PSTORE_RAM \
  670. CONFIG_PSTORE_CONSOLE=y
  671. DEPENDS:=+kmod-pstore +kmod-reed-solomon
  672. FILES:= $(LINUX_DIR)/fs/pstore/ramoops.ko
  673. AUTOLOAD:=$(call AutoLoad,30,ramoops,1)
  674. endef
  675. define KernelPackage/ramoops/description
  676. Kernel module for pstore-ram (ramoops) crash log storage
  677. endef
  678. $(eval $(call KernelPackage,ramoops))
  679. define KernelPackage/reed-solomon
  680. SUBMENU:=$(OTHER_MENU)
  681. TITLE:=Reed-Solomon error correction
  682. DEFAULT:=m if ALL_KMODS
  683. KCONFIG:=CONFIG_REED_SOLOMON \
  684. CONFIG_REED_SOLOMON_DEC8=y \
  685. CONFIG_REED_SOLOMON_ENC8=y
  686. FILES:= $(LINUX_DIR)/lib/reed_solomon/reed_solomon.ko
  687. AUTOLOAD:=$(call AutoLoad,30,reed_solomon,1)
  688. endef
  689. define KernelPackage/reed-solomon/description
  690. Kernel module for Reed-Solomon error correction
  691. endef
  692. $(eval $(call KernelPackage,reed-solomon))
  693. define KernelPackage/serial-8250
  694. SUBMENU:=$(OTHER_MENU)
  695. TITLE:=8250 UARTs
  696. KCONFIG:= CONFIG_SERIAL_8250 \
  697. CONFIG_SERIAL_8250_PCI \
  698. CONFIG_SERIAL_8250_NR_UARTS=16 \
  699. CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
  700. CONFIG_SERIAL_8250_EXTENDED=y \
  701. CONFIG_SERIAL_8250_MANY_PORTS=y \
  702. CONFIG_SERIAL_8250_SHARE_IRQ=y \
  703. CONFIG_SERIAL_8250_DETECT_IRQ=n \
  704. CONFIG_SERIAL_8250_RSA=n
  705. FILES:= \
  706. $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
  707. $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko \
  708. $(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/8250_pci.ko) \
  709. $(if $(CONFIG_GPIOLIB),$(LINUX_DIR)/drivers/tty/serial/serial_mctrl_gpio.ko)
  710. AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci)
  711. endef
  712. define KernelPackage/serial-8250/description
  713. Kernel module for 8250 UART based serial ports
  714. endef
  715. $(eval $(call KernelPackage,serial-8250))
  716. define KernelPackage/serial-8250-exar
  717. SUBMENU:=$(OTHER_MENU)
  718. TITLE:=Exar 8250 UARTs
  719. KCONFIG:= CONFIG_SERIAL_8250_EXAR
  720. FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250_exar.ko
  721. AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_exar)
  722. DEPENDS:=@PCI_SUPPORT +kmod-serial-8250
  723. endef
  724. define KernelPackage/serial-8250-exar/description
  725. Kernel module for Exar serial ports
  726. endef
  727. $(eval $(call KernelPackage,serial-8250-exar))
  728. define KernelPackage/regmap-core
  729. SUBMENU:=$(OTHER_MENU)
  730. TITLE:=Generic register map support
  731. HIDDEN:=1
  732. KCONFIG:=CONFIG_REGMAP
  733. ifneq ($(wildcard $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko),)
  734. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-core.ko
  735. endif
  736. endef
  737. define KernelPackage/regmap-core/description
  738. Generic register map support
  739. endef
  740. $(eval $(call KernelPackage,regmap-core))
  741. define KernelPackage/regmap-spi
  742. SUBMENU:=$(OTHER_MENU)
  743. TITLE:=SPI register map support
  744. DEPENDS:=+kmod-regmap-core
  745. HIDDEN:=1
  746. KCONFIG:=CONFIG_REGMAP_SPI \
  747. CONFIG_SPI=y
  748. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko
  749. endef
  750. define KernelPackage/regmap-spi/description
  751. SPI register map support
  752. endef
  753. $(eval $(call KernelPackage,regmap-spi))
  754. define KernelPackage/regmap-i2c
  755. SUBMENU:=$(OTHER_MENU)
  756. TITLE:=I2C register map support
  757. DEPENDS:=+kmod-regmap-core +kmod-i2c-core
  758. HIDDEN:=1
  759. KCONFIG:=CONFIG_REGMAP_I2C
  760. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko
  761. endef
  762. define KernelPackage/regmap-i2c/description
  763. I2C register map support
  764. endef
  765. $(eval $(call KernelPackage,regmap-i2c))
  766. define KernelPackage/regmap-mmio
  767. SUBMENU:=$(OTHER_MENU)
  768. TITLE:=MMIO register map support
  769. DEPENDS:=+kmod-regmap-core
  770. HIDDEN:=1
  771. KCONFIG:=CONFIG_REGMAP_MMIO
  772. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko
  773. endef
  774. define KernelPackage/regmap-mmio/description
  775. MMIO register map support
  776. endef
  777. $(eval $(call KernelPackage,regmap-mmio))
  778. define KernelPackage/ikconfig
  779. SUBMENU:=$(OTHER_MENU)
  780. TITLE:=Kernel configuration via /proc/config.gz
  781. KCONFIG:=CONFIG_IKCONFIG \
  782. CONFIG_IKCONFIG_PROC=y
  783. FILES:=$(LINUX_DIR)/kernel/configs.ko
  784. AUTOLOAD:=$(call AutoLoad,70,configs)
  785. endef
  786. define KernelPackage/ikconfig/description
  787. Kernel configuration via /proc/config.gz
  788. endef
  789. $(eval $(call KernelPackage,ikconfig))
  790. define KernelPackage/zram
  791. SUBMENU:=$(OTHER_MENU)
  792. TITLE:=ZRAM
  793. KCONFIG:= \
  794. CONFIG_ZSMALLOC \
  795. CONFIG_ZRAM \
  796. CONFIG_ZRAM_DEBUG=n \
  797. CONFIG_ZRAM_WRITEBACK=n \
  798. CONFIG_ZSMALLOC_STAT=n
  799. FILES:= \
  800. $(LINUX_DIR)/mm/zsmalloc.ko \
  801. $(LINUX_DIR)/drivers/block/zram/zram.ko
  802. AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
  803. endef
  804. define KernelPackage/zram/description
  805. Compressed RAM block device support
  806. endef
  807. define KernelPackage/zram/config
  808. choice
  809. prompt "ZRAM Default compressor"
  810. default ZRAM_DEF_COMP_LZORLE
  811. config ZRAM_DEF_COMP_LZORLE
  812. bool "lzo-rle"
  813. select PACKAGE_kmod-lib-lzo
  814. config ZRAM_DEF_COMP_LZO
  815. bool "lzo"
  816. select PACKAGE_kmod-lib-lzo
  817. config ZRAM_DEF_COMP_LZ4
  818. bool "lz4"
  819. select PACKAGE_kmod-lib-lz4
  820. config ZRAM_DEF_COMP_LZ4HC
  821. bool "lz4-hc"
  822. select PACKAGE_kmod-lib-lz4hc
  823. config ZRAM_DEF_COMP_ZSTD
  824. bool "zstd"
  825. select PACKAGE_kmod-lib-zstd
  826. endchoice
  827. endef
  828. $(eval $(call KernelPackage,zram))
  829. define KernelPackage/pps
  830. SUBMENU:=$(OTHER_MENU)
  831. TITLE:=PPS support
  832. KCONFIG:=CONFIG_PPS
  833. FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
  834. AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
  835. endef
  836. define KernelPackage/pps/description
  837. PPS (Pulse Per Second) is a special pulse provided by some GPS
  838. antennae. Userland can use it to get a high-precision time
  839. reference.
  840. endef
  841. $(eval $(call KernelPackage,pps))
  842. define KernelPackage/pps-gpio
  843. SUBMENU:=$(OTHER_MENU)
  844. TITLE:=PPS client using GPIO
  845. DEPENDS:=+kmod-pps
  846. KCONFIG:=CONFIG_PPS_CLIENT_GPIO
  847. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
  848. AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
  849. endef
  850. define KernelPackage/pps-gpio/description
  851. Support for a PPS source using GPIO. To be useful you must
  852. also register a platform device specifying the GPIO pin and
  853. other options, usually in your board setup.
  854. endef
  855. $(eval $(call KernelPackage,pps-gpio))
  856. define KernelPackage/pps-ldisc
  857. SUBMENU:=$(OTHER_MENU)
  858. TITLE:=PPS line discipline
  859. DEPENDS:=+kmod-pps
  860. KCONFIG:=CONFIG_PPS_CLIENT_LDISC
  861. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
  862. AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
  863. endef
  864. define KernelPackage/pps-ldisc/description
  865. Support for a PPS source connected with the CD (Carrier
  866. Detect) pin of your serial port.
  867. endef
  868. $(eval $(call KernelPackage,pps-ldisc))
  869. define KernelPackage/ptp
  870. SUBMENU:=$(OTHER_MENU)
  871. TITLE:=PTP clock support
  872. DEPENDS:=+kmod-pps
  873. KCONFIG:= \
  874. CONFIG_PTP_1588_CLOCK \
  875. CONFIG_NET_PTP_CLASSIFY=y
  876. FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
  877. AUTOLOAD:=$(call AutoLoad,18,ptp,1)
  878. endef
  879. define KernelPackage/ptp/description
  880. The IEEE 1588 standard defines a method to precisely
  881. synchronize distributed clocks over Ethernet networks.
  882. endef
  883. $(eval $(call KernelPackage,ptp))
  884. define KernelPackage/ptp-qoriq
  885. SUBMENU:=$(OTHER_MENU)
  886. TITLE:=Freescale QorIQ PTP support
  887. DEPENDS:=@(TARGET_mpc85xx||TARGET_qoriq) +kmod-ptp
  888. KCONFIG:=CONFIG_PTP_1588_CLOCK_QORIQ
  889. FILES:=$(LINUX_DIR)/drivers/ptp/ptp-qoriq.ko
  890. AUTOLOAD:=$(call AutoProbe,ptp-qoriq)
  891. endef
  892. define KernelPackage/ptp-qoriq/description
  893. Kernel module for IEEE 1588 support for Freescale
  894. QorIQ Ethernet drivers
  895. endef
  896. $(eval $(call KernelPackage,ptp-qoriq))
  897. define KernelPackage/random-core
  898. SUBMENU:=$(OTHER_MENU)
  899. TITLE:=Hardware Random Number Generator Core support
  900. KCONFIG:=CONFIG_HW_RANDOM
  901. FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
  902. endef
  903. define KernelPackage/random-core/description
  904. Kernel module for the HW random number generator core infrastructure
  905. endef
  906. $(eval $(call KernelPackage,random-core))
  907. define KernelPackage/thermal
  908. SUBMENU:=$(OTHER_MENU)
  909. TITLE:=Thermal driver
  910. DEPENDS:=+kmod-hwmon-core
  911. HIDDEN:=1
  912. KCONFIG:= \
  913. CONFIG_THERMAL=y \
  914. CONFIG_THERMAL_OF=y \
  915. CONFIG_CPU_THERMAL=y \
  916. CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
  917. CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
  918. CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
  919. CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 \
  920. CONFIG_THERMAL_GOV_FAIR_SHARE=n \
  921. CONFIG_THERMAL_GOV_STEP_WISE=y \
  922. CONFIG_THERMAL_GOV_USER_SPACE=n \
  923. CONFIG_THERMAL_HWMON=y \
  924. CONFIG_THERMAL_EMULATION=n
  925. endef
  926. define KernelPackage/thermal/description
  927. Thermal driver offers a generic mechanism for thermal management.
  928. Usually it's made up of one or more thermal zone and cooling device.
  929. endef
  930. $(eval $(call KernelPackage,thermal))
  931. define KernelPackage/gpio-beeper
  932. SUBMENU:=$(OTHER_MENU)
  933. TITLE:=GPIO beeper support
  934. DEPENDS:=+kmod-input-core
  935. KCONFIG:= \
  936. CONFIG_INPUT_MISC=y \
  937. CONFIG_INPUT_GPIO_BEEPER
  938. FILES:= \
  939. $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
  940. AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
  941. endef
  942. define KernelPackage/gpio-beeper/description
  943. This enables playing beeps through an GPIO-connected buzzer
  944. endef
  945. $(eval $(call KernelPackage,gpio-beeper))
  946. define KernelPackage/echo
  947. SUBMENU:=$(OTHER_MENU)
  948. TITLE:=Line Echo Canceller
  949. KCONFIG:=CONFIG_ECHO
  950. FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
  951. AUTOLOAD:=$(call AutoLoad,50,echo)
  952. endef
  953. define KernelPackage/echo/description
  954. This driver provides line echo cancelling support for mISDN and
  955. DAHDI drivers
  956. endef
  957. $(eval $(call KernelPackage,echo))
  958. define KernelPackage/keys-encrypted
  959. SUBMENU:=$(OTHER_MENU)
  960. TITLE:=encrypted keys on kernel keyring
  961. DEPENDS:=@KERNEL_KEYS +kmod-crypto-cbc +kmod-crypto-hmac +kmod-crypto-rng \
  962. +kmod-crypto-sha256 +kmod-keys-trusted
  963. KCONFIG:=CONFIG_ENCRYPTED_KEYS
  964. FILES:=$(LINUX_DIR)/security/keys/encrypted-keys/encrypted-keys.ko
  965. AUTOLOAD:=$(call AutoLoad,01,encrypted-keys,1)
  966. endef
  967. define KernelPackage/keys-encrypted/description
  968. This module provides support for create/encrypting/decrypting keys
  969. in the kernel. Encrypted keys are kernel generated random numbers,
  970. which are encrypted/decrypted with a 'master' symmetric key. The
  971. 'master' key can be either a trusted-key or user-key type.
  972. Userspace only ever sees/stores encrypted blobs.
  973. endef
  974. $(eval $(call KernelPackage,keys-encrypted))
  975. define KernelPackage/keys-trusted
  976. SUBMENU:=$(OTHER_MENU)
  977. TITLE:=TPM trusted keys on kernel keyring
  978. DEPENDS:=@KERNEL_KEYS +kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha1 +kmod-tpm
  979. KCONFIG:=CONFIG_TRUSTED_KEYS
  980. FILES:= $(LINUX_DIR)/security/keys/trusted-keys/trusted.ko
  981. AUTOLOAD:=$(call AutoLoad,01,trusted-keys,1)
  982. endef
  983. define KernelPackage/keys-trusted/description
  984. This module provides support for creating, sealing, and unsealing
  985. keys in the kernel. Trusted keys are random number symmetric keys,
  986. generated and RSA-sealed by the TPM. The TPM only unseals the keys,
  987. if the boot PCRs and other criteria match. Userspace will only ever
  988. see encrypted blobs.
  989. endef
  990. $(eval $(call KernelPackage,keys-trusted))
  991. define KernelPackage/tpm
  992. SUBMENU:=$(OTHER_MENU)
  993. TITLE:=TPM Hardware Support
  994. DEPENDS:= +kmod-random-core +kmod-asn1-decoder \
  995. +kmod-asn1-encoder +kmod-oid-registry
  996. KCONFIG:= CONFIG_TCG_TPM
  997. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
  998. AUTOLOAD:=$(call AutoLoad,10,tpm,1)
  999. endef
  1000. define KernelPackage/tpm/description
  1001. This enables TPM Hardware Support.
  1002. endef
  1003. $(eval $(call KernelPackage,tpm))
  1004. define KernelPackage/tpm-tis
  1005. SUBMENU:=$(OTHER_MENU)
  1006. TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
  1007. DEPENDS:= @TARGET_x86 +kmod-tpm
  1008. KCONFIG:= CONFIG_TCG_TIS
  1009. FILES:= \
  1010. $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
  1011. $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
  1012. AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
  1013. endef
  1014. define KernelPackage/tpm-tis/description
  1015. If you have a TPM security chip that is compliant with the
  1016. TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
  1017. specification (TPM2.0) say Yes and it will be accessible from
  1018. within Linux.
  1019. endef
  1020. $(eval $(call KernelPackage,tpm-tis))
  1021. define KernelPackage/tpm-i2c-atmel
  1022. SUBMENU:=$(OTHER_MENU)
  1023. TITLE:=TPM I2C Atmel Support
  1024. DEPENDS:= +kmod-tpm +kmod-i2c-core
  1025. KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
  1026. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
  1027. AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
  1028. endef
  1029. define KernelPackage/tpm-i2c-atmel/description
  1030. This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
  1031. endef
  1032. $(eval $(call KernelPackage,tpm-i2c-atmel))
  1033. define KernelPackage/tpm-i2c-infineon
  1034. SUBMENU:=$(OTHER_MENU)
  1035. TITLE:= TPM I2C Infineon driver
  1036. DEPENDS:= +kmod-tpm +kmod-i2c-core
  1037. KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
  1038. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
  1039. AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
  1040. endef
  1041. define KernelPackage/tpm-i2c-infineon/description
  1042. This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
  1043. endef
  1044. $(eval $(call KernelPackage,tpm-i2c-infineon))
  1045. define KernelPackage/i6300esb-wdt
  1046. SUBMENU:=$(OTHER_MENU)
  1047. TITLE:=Intel 6300ESB Timer/Watchdog
  1048. DEPENDS:=@PCI_SUPPORT @!SMALL_FLASH
  1049. KCONFIG:=CONFIG_I6300ESB_WDT \
  1050. CONFIG_WATCHDOG_CORE=y
  1051. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/i6300esb.ko
  1052. AUTOLOAD:=$(call AutoLoad,50,i6300esb,1)
  1053. endef
  1054. define KernelPackage/i6300esb-wdt/description
  1055. Kernel module for the watchdog timer built into the Intel
  1056. 6300ESB controller hub. Also used by QEMU/libvirt.
  1057. endef
  1058. $(eval $(call KernelPackage,i6300esb-wdt))
  1059. define KernelPackage/mhi-bus
  1060. SUBMENU:=$(OTHER_MENU)
  1061. TITLE:=MHI bus
  1062. KCONFIG:=CONFIG_MHI_BUS \
  1063. CONFIG_MHI_BUS_DEBUG=y
  1064. FILES:=$(LINUX_DIR)/drivers/bus/mhi/core/mhi.ko
  1065. AUTOLOAD:=$(call AutoProbe,mhi)
  1066. endef
  1067. define KernelPackage/mhi-bus/description
  1068. Kernel module for the Qualcomm MHI bus.
  1069. endef
  1070. $(eval $(call KernelPackage,mhi-bus))
  1071. define KernelPackage/mhi-pci-generic
  1072. SUBMENU:=$(OTHER_MENU)
  1073. TITLE:=MHI PCI controller driver
  1074. DEPENDS:=@PCI_SUPPORT +kmod-mhi-bus
  1075. KCONFIG:=CONFIG_MHI_BUS_PCI_GENERIC
  1076. FILES:=$(LINUX_DIR)/drivers/bus/mhi/mhi_pci_generic.ko
  1077. AUTOLOAD:=$(call AutoProbe,mhi_pci_generic)
  1078. endef
  1079. define KernelPackage/mhi-pci-generic/description
  1080. Kernel module for the MHI PCI controller driver.
  1081. endef
  1082. $(eval $(call KernelPackage,mhi-pci-generic))