other.mk 35 KB

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