other.mk 33 KB

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