other.mk 36 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396
  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-r7301
  585. SUBMENU:=$(OTHER_MENU)
  586. TITLE:=Epson RTC7301 support
  587. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  588. KCONFIG:=CONFIG_RTC_DRV_R7301 \
  589. CONFIG_RTC_CLASS=y
  590. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-r7301.ko
  591. AUTOLOAD:=$(call AutoProbe,rtc-r7301)
  592. endef
  593. define KernelPackage/rtc-r7301/description
  594. Kernel module for Epson RTC7301 RTC chip
  595. endef
  596. $(eval $(call KernelPackage,rtc-r7301))
  597. define KernelPackage/rtc-rs5c372a
  598. SUBMENU:=$(OTHER_MENU)
  599. TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
  600. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  601. DEPENDS:=+kmod-i2c-core
  602. KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
  603. CONFIG_RTC_CLASS=y
  604. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
  605. AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
  606. endef
  607. define KernelPackage/rtc-rs5c372a/description
  608. Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
  609. endef
  610. $(eval $(call KernelPackage,rtc-rs5c372a))
  611. define KernelPackage/rtc-rx8025
  612. SUBMENU:=$(OTHER_MENU)
  613. TITLE:=Epson RX-8025 / RX-8035
  614. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  615. DEPENDS:=+kmod-i2c-core
  616. KCONFIG:=CONFIG_RTC_DRV_RX8025 \
  617. CONFIG_RTC_CLASS=y
  618. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rx8025.ko
  619. AUTOLOAD:=$(call AutoLoad,50,rtc-rx8025,1)
  620. endef
  621. define KernelPackage/rtc-rx8025/description
  622. Kernel module for Epson RX-8025 and RX-8035 I2C RTC chip
  623. endef
  624. $(eval $(call KernelPackage,rtc-rx8025))
  625. define KernelPackage/rtc-s35390a
  626. SUBMENU:=$(OTHER_MENU)
  627. TITLE:=Seico S-35390A
  628. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  629. DEPENDS:=+kmod-i2c-core
  630. KCONFIG:=CONFIG_RTC_DRV_S35390A \
  631. CONFIG_RTC_CLASS=y
  632. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-s35390a.ko
  633. AUTOLOAD:=$(call AutoLoad,50,rtc-s35390a,1)
  634. endef
  635. define KernelPackage/rtc-s35390a/description
  636. Kernel module for Seiko Instruments S-35390A I2C RTC chip
  637. endef
  638. $(eval $(call KernelPackage,rtc-s35390a))
  639. define KernelPackage/rtc-x1205
  640. SUBMENU:=$(OTHER_MENU)
  641. TITLE:=Xicor Intersil X1205
  642. DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
  643. DEPENDS:=+kmod-i2c-core
  644. KCONFIG:=CONFIG_RTC_DRV_X1205 \
  645. CONFIG_RTC_CLASS=y
  646. FILES:=$(LINUX_DIR)/drivers/rtc/rtc-x1205.ko
  647. AUTOLOAD:=$(call AutoProbe,rtc-x1205)
  648. endef
  649. define KernelPackage/rtc-x1205/description
  650. Kernel module for Xicor Intersil X1205 I2C RTC chip
  651. endef
  652. $(eval $(call KernelPackage,rtc-x1205))
  653. define KernelPackage/mtdtests
  654. SUBMENU:=$(OTHER_MENU)
  655. TITLE:=MTD subsystem tests
  656. KCONFIG:=CONFIG_MTD_TESTS
  657. FILES:=\
  658. $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
  659. $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
  660. $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
  661. $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
  662. $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
  663. $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
  664. $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
  665. $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
  666. endef
  667. define KernelPackage/mtdtests/description
  668. Kernel modules for MTD subsystem/driver testing
  669. endef
  670. $(eval $(call KernelPackage,mtdtests))
  671. define KernelPackage/mtdoops
  672. SUBMENU:=$(OTHER_MENU)
  673. TITLE:=Log panic/oops to an MTD buffer
  674. KCONFIG:=CONFIG_MTD_OOPS
  675. FILES:=$(LINUX_DIR)/drivers/mtd/mtdoops.ko
  676. endef
  677. define KernelPackage/mtdoops/description
  678. Kernel modules for Log panic/oops to an MTD buffer
  679. endef
  680. $(eval $(call KernelPackage,mtdoops))
  681. define KernelPackage/mtdram
  682. SUBMENU:=$(OTHER_MENU)
  683. TITLE:=Test MTD driver using RAM
  684. KCONFIG:=CONFIG_MTD_MTDRAM \
  685. CONFIG_MTDRAM_TOTAL_SIZE=4096 \
  686. CONFIG_MTDRAM_ERASE_SIZE=128
  687. FILES:=$(LINUX_DIR)/drivers/mtd/devices/mtdram.ko
  688. endef
  689. define KernelPackage/mtdram/description
  690. Test MTD driver using RAM
  691. endef
  692. $(eval $(call KernelPackage,mtdram))
  693. define KernelPackage/ramoops
  694. SUBMENU:=$(OTHER_MENU)
  695. TITLE:=Ramoops (pstore-ram)
  696. DEFAULT:=m if ALL_KMODS
  697. KCONFIG:=CONFIG_PSTORE_RAM \
  698. CONFIG_PSTORE_CONSOLE=y
  699. DEPENDS:=+kmod-pstore +kmod-reed-solomon
  700. FILES:= $(LINUX_DIR)/fs/pstore/ramoops.ko
  701. AUTOLOAD:=$(call AutoLoad,30,ramoops,1)
  702. endef
  703. define KernelPackage/ramoops/description
  704. Kernel module for pstore-ram (ramoops) crash log storage
  705. endef
  706. $(eval $(call KernelPackage,ramoops))
  707. define KernelPackage/reed-solomon
  708. SUBMENU:=$(OTHER_MENU)
  709. TITLE:=Reed-Solomon error correction
  710. DEFAULT:=m if ALL_KMODS
  711. KCONFIG:=CONFIG_REED_SOLOMON \
  712. CONFIG_REED_SOLOMON_DEC8=y \
  713. CONFIG_REED_SOLOMON_ENC8=y
  714. FILES:= $(LINUX_DIR)/lib/reed_solomon/reed_solomon.ko
  715. AUTOLOAD:=$(call AutoLoad,30,reed_solomon,1)
  716. endef
  717. define KernelPackage/reed-solomon/description
  718. Kernel module for Reed-Solomon error correction
  719. endef
  720. $(eval $(call KernelPackage,reed-solomon))
  721. define KernelPackage/serial-8250
  722. SUBMENU:=$(OTHER_MENU)
  723. TITLE:=8250 UARTs
  724. KCONFIG:= CONFIG_SERIAL_8250 \
  725. CONFIG_SERIAL_8250_PCI \
  726. CONFIG_SERIAL_8250_NR_UARTS=16 \
  727. CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
  728. CONFIG_SERIAL_8250_EXTENDED=y \
  729. CONFIG_SERIAL_8250_MANY_PORTS=y \
  730. CONFIG_SERIAL_8250_SHARE_IRQ=y \
  731. CONFIG_SERIAL_8250_DETECT_IRQ=n \
  732. CONFIG_SERIAL_8250_RSA=n
  733. FILES:= \
  734. $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
  735. $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko \
  736. $(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/8250_pci.ko) \
  737. $(if $(CONFIG_GPIOLIB),$(LINUX_DIR)/drivers/tty/serial/serial_mctrl_gpio.ko)
  738. AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci)
  739. endef
  740. define KernelPackage/serial-8250/description
  741. Kernel module for 8250 UART based serial ports
  742. endef
  743. $(eval $(call KernelPackage,serial-8250))
  744. define KernelPackage/serial-8250-exar
  745. SUBMENU:=$(OTHER_MENU)
  746. TITLE:=Exar 8250 UARTs
  747. KCONFIG:= CONFIG_SERIAL_8250_EXAR
  748. FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250_exar.ko
  749. AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_exar)
  750. DEPENDS:=@PCI_SUPPORT +kmod-serial-8250
  751. endef
  752. define KernelPackage/serial-8250-exar/description
  753. Kernel module for Exar serial ports
  754. endef
  755. $(eval $(call KernelPackage,serial-8250-exar))
  756. define KernelPackage/regmap-core
  757. SUBMENU:=$(OTHER_MENU)
  758. TITLE:=Generic register map support
  759. HIDDEN:=1
  760. KCONFIG:=CONFIG_REGMAP
  761. ifneq ($(wildcard $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko),)
  762. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-core.ko
  763. endif
  764. endef
  765. define KernelPackage/regmap-core/description
  766. Generic register map support
  767. endef
  768. $(eval $(call KernelPackage,regmap-core))
  769. define KernelPackage/regmap-spi
  770. SUBMENU:=$(OTHER_MENU)
  771. TITLE:=SPI register map support
  772. DEPENDS:=+kmod-regmap-core
  773. HIDDEN:=1
  774. KCONFIG:=CONFIG_REGMAP_SPI \
  775. CONFIG_SPI=y
  776. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko
  777. endef
  778. define KernelPackage/regmap-spi/description
  779. SPI register map support
  780. endef
  781. $(eval $(call KernelPackage,regmap-spi))
  782. define KernelPackage/regmap-i2c
  783. SUBMENU:=$(OTHER_MENU)
  784. TITLE:=I2C register map support
  785. DEPENDS:=+kmod-regmap-core +kmod-i2c-core
  786. HIDDEN:=1
  787. KCONFIG:=CONFIG_REGMAP_I2C
  788. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko
  789. endef
  790. define KernelPackage/regmap-i2c/description
  791. I2C register map support
  792. endef
  793. $(eval $(call KernelPackage,regmap-i2c))
  794. define KernelPackage/regmap-mmio
  795. SUBMENU:=$(OTHER_MENU)
  796. TITLE:=MMIO register map support
  797. DEPENDS:=+kmod-regmap-core
  798. HIDDEN:=1
  799. KCONFIG:=CONFIG_REGMAP_MMIO
  800. FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko
  801. endef
  802. define KernelPackage/regmap-mmio/description
  803. MMIO register map support
  804. endef
  805. $(eval $(call KernelPackage,regmap-mmio))
  806. define KernelPackage/ikconfig
  807. SUBMENU:=$(OTHER_MENU)
  808. TITLE:=Kernel configuration via /proc/config.gz
  809. KCONFIG:=CONFIG_IKCONFIG \
  810. CONFIG_IKCONFIG_PROC=y
  811. FILES:=$(LINUX_DIR)/kernel/configs.ko
  812. AUTOLOAD:=$(call AutoLoad,70,configs)
  813. endef
  814. define KernelPackage/ikconfig/description
  815. Kernel configuration via /proc/config.gz
  816. endef
  817. $(eval $(call KernelPackage,ikconfig))
  818. define KernelPackage/zram
  819. SUBMENU:=$(OTHER_MENU)
  820. TITLE:=ZRAM
  821. KCONFIG:= \
  822. CONFIG_ZSMALLOC \
  823. CONFIG_ZRAM \
  824. CONFIG_ZRAM_DEBUG=n \
  825. CONFIG_ZRAM_WRITEBACK=n \
  826. CONFIG_ZSMALLOC_STAT=n
  827. FILES:= \
  828. $(LINUX_DIR)/mm/zsmalloc.ko \
  829. $(LINUX_DIR)/drivers/block/zram/zram.ko
  830. AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
  831. endef
  832. define KernelPackage/zram/description
  833. Compressed RAM block device support
  834. endef
  835. define KernelPackage/zram/config
  836. choice
  837. prompt "ZRAM Default compressor"
  838. default ZRAM_DEF_COMP_LZORLE
  839. config ZRAM_DEF_COMP_LZORLE
  840. bool "lzo-rle"
  841. select PACKAGE_kmod-lib-lzo
  842. config ZRAM_DEF_COMP_LZO
  843. bool "lzo"
  844. select PACKAGE_kmod-lib-lzo
  845. config ZRAM_DEF_COMP_LZ4
  846. bool "lz4"
  847. select PACKAGE_kmod-lib-lz4
  848. config ZRAM_DEF_COMP_LZ4HC
  849. bool "lz4-hc"
  850. select PACKAGE_kmod-lib-lz4hc
  851. config ZRAM_DEF_COMP_ZSTD
  852. bool "zstd"
  853. select PACKAGE_kmod-lib-zstd
  854. endchoice
  855. endef
  856. $(eval $(call KernelPackage,zram))
  857. define KernelPackage/pps
  858. SUBMENU:=$(OTHER_MENU)
  859. TITLE:=PPS support
  860. KCONFIG:=CONFIG_PPS
  861. FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
  862. AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
  863. endef
  864. define KernelPackage/pps/description
  865. PPS (Pulse Per Second) is a special pulse provided by some GPS
  866. antennae. Userland can use it to get a high-precision time
  867. reference.
  868. endef
  869. $(eval $(call KernelPackage,pps))
  870. define KernelPackage/pps-gpio
  871. SUBMENU:=$(OTHER_MENU)
  872. TITLE:=PPS client using GPIO
  873. DEPENDS:=+kmod-pps
  874. KCONFIG:=CONFIG_PPS_CLIENT_GPIO
  875. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
  876. AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
  877. endef
  878. define KernelPackage/pps-gpio/description
  879. Support for a PPS source using GPIO. To be useful you must
  880. also register a platform device specifying the GPIO pin and
  881. other options, usually in your board setup.
  882. endef
  883. $(eval $(call KernelPackage,pps-gpio))
  884. define KernelPackage/pps-ldisc
  885. SUBMENU:=$(OTHER_MENU)
  886. TITLE:=PPS line discipline
  887. DEPENDS:=+kmod-pps
  888. KCONFIG:=CONFIG_PPS_CLIENT_LDISC
  889. FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
  890. AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
  891. endef
  892. define KernelPackage/pps-ldisc/description
  893. Support for a PPS source connected with the CD (Carrier
  894. Detect) pin of your serial port.
  895. endef
  896. $(eval $(call KernelPackage,pps-ldisc))
  897. define KernelPackage/ptp
  898. SUBMENU:=$(OTHER_MENU)
  899. TITLE:=PTP clock support
  900. DEPENDS:=+kmod-pps
  901. KCONFIG:= \
  902. CONFIG_PTP_1588_CLOCK \
  903. CONFIG_NET_PTP_CLASSIFY=y
  904. FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
  905. AUTOLOAD:=$(call AutoLoad,18,ptp,1)
  906. endef
  907. define KernelPackage/ptp/description
  908. The IEEE 1588 standard defines a method to precisely
  909. synchronize distributed clocks over Ethernet networks.
  910. endef
  911. $(eval $(call KernelPackage,ptp))
  912. define KernelPackage/ptp-qoriq
  913. SUBMENU:=$(OTHER_MENU)
  914. TITLE:=Freescale QorIQ PTP support
  915. DEPENDS:=@(TARGET_mpc85xx||TARGET_qoriq) +kmod-ptp
  916. KCONFIG:=CONFIG_PTP_1588_CLOCK_QORIQ
  917. FILES:=$(LINUX_DIR)/drivers/ptp/ptp-qoriq.ko
  918. AUTOLOAD:=$(call AutoProbe,ptp-qoriq)
  919. endef
  920. define KernelPackage/ptp-qoriq/description
  921. Kernel module for IEEE 1588 support for Freescale
  922. QorIQ Ethernet drivers
  923. endef
  924. $(eval $(call KernelPackage,ptp-qoriq))
  925. define KernelPackage/random-core
  926. SUBMENU:=$(OTHER_MENU)
  927. TITLE:=Hardware Random Number Generator Core support
  928. KCONFIG:=CONFIG_HW_RANDOM
  929. FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
  930. endef
  931. define KernelPackage/random-core/description
  932. Kernel module for the HW random number generator core infrastructure
  933. endef
  934. $(eval $(call KernelPackage,random-core))
  935. define KernelPackage/thermal
  936. SUBMENU:=$(OTHER_MENU)
  937. TITLE:=Thermal driver
  938. DEPENDS:=+kmod-hwmon-core
  939. HIDDEN:=1
  940. KCONFIG:= \
  941. CONFIG_THERMAL=y \
  942. CONFIG_THERMAL_OF=y \
  943. CONFIG_CPU_THERMAL=y \
  944. CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
  945. CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
  946. CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
  947. CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 \
  948. CONFIG_THERMAL_GOV_FAIR_SHARE=n \
  949. CONFIG_THERMAL_GOV_STEP_WISE=y \
  950. CONFIG_THERMAL_GOV_USER_SPACE=n \
  951. CONFIG_THERMAL_HWMON=y \
  952. CONFIG_THERMAL_EMULATION=n
  953. endef
  954. define KernelPackage/thermal/description
  955. Thermal driver offers a generic mechanism for thermal management.
  956. Usually it's made up of one or more thermal zone and cooling device.
  957. endef
  958. $(eval $(call KernelPackage,thermal))
  959. define KernelPackage/gpio-beeper
  960. SUBMENU:=$(OTHER_MENU)
  961. TITLE:=GPIO beeper support
  962. DEPENDS:=+kmod-input-core
  963. KCONFIG:= \
  964. CONFIG_INPUT_MISC=y \
  965. CONFIG_INPUT_GPIO_BEEPER
  966. FILES:= \
  967. $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
  968. AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
  969. endef
  970. define KernelPackage/gpio-beeper/description
  971. This enables playing beeps through an GPIO-connected buzzer
  972. endef
  973. $(eval $(call KernelPackage,gpio-beeper))
  974. define KernelPackage/echo
  975. SUBMENU:=$(OTHER_MENU)
  976. TITLE:=Line Echo Canceller
  977. KCONFIG:=CONFIG_ECHO
  978. FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
  979. AUTOLOAD:=$(call AutoLoad,50,echo)
  980. endef
  981. define KernelPackage/echo/description
  982. This driver provides line echo cancelling support for mISDN and
  983. DAHDI drivers
  984. endef
  985. $(eval $(call KernelPackage,echo))
  986. define KernelPackage/keys-encrypted
  987. SUBMENU:=$(OTHER_MENU)
  988. TITLE:=encrypted keys on kernel keyring
  989. DEPENDS:=@KERNEL_KEYS +kmod-crypto-cbc +kmod-crypto-hmac +kmod-crypto-rng \
  990. +kmod-crypto-sha256 +kmod-keys-trusted
  991. KCONFIG:=CONFIG_ENCRYPTED_KEYS
  992. FILES:=$(LINUX_DIR)/security/keys/encrypted-keys/encrypted-keys.ko
  993. AUTOLOAD:=$(call AutoLoad,01,encrypted-keys,1)
  994. endef
  995. define KernelPackage/keys-encrypted/description
  996. This module provides support for create/encrypting/decrypting keys
  997. in the kernel. Encrypted keys are kernel generated random numbers,
  998. which are encrypted/decrypted with a 'master' symmetric key. The
  999. 'master' key can be either a trusted-key or user-key type.
  1000. Userspace only ever sees/stores encrypted blobs.
  1001. endef
  1002. $(eval $(call KernelPackage,keys-encrypted))
  1003. define KernelPackage/keys-trusted
  1004. SUBMENU:=$(OTHER_MENU)
  1005. TITLE:=TPM trusted keys on kernel keyring
  1006. DEPENDS:=@KERNEL_KEYS +kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha1 +kmod-tpm
  1007. KCONFIG:=CONFIG_TRUSTED_KEYS
  1008. FILES:= $(LINUX_DIR)/security/keys/trusted-keys/trusted.ko
  1009. AUTOLOAD:=$(call AutoLoad,01,trusted-keys,1)
  1010. endef
  1011. define KernelPackage/keys-trusted/description
  1012. This module provides support for creating, sealing, and unsealing
  1013. keys in the kernel. Trusted keys are random number symmetric keys,
  1014. generated and RSA-sealed by the TPM. The TPM only unseals the keys,
  1015. if the boot PCRs and other criteria match. Userspace will only ever
  1016. see encrypted blobs.
  1017. endef
  1018. $(eval $(call KernelPackage,keys-trusted))
  1019. define KernelPackage/tpm
  1020. SUBMENU:=$(OTHER_MENU)
  1021. TITLE:=TPM Hardware Support
  1022. DEPENDS:= +kmod-random-core +kmod-asn1-decoder \
  1023. +kmod-asn1-encoder +kmod-oid-registry
  1024. KCONFIG:= CONFIG_TCG_TPM
  1025. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
  1026. AUTOLOAD:=$(call AutoLoad,10,tpm,1)
  1027. endef
  1028. define KernelPackage/tpm/description
  1029. This enables TPM Hardware Support.
  1030. endef
  1031. $(eval $(call KernelPackage,tpm))
  1032. define KernelPackage/tpm-tis
  1033. SUBMENU:=$(OTHER_MENU)
  1034. TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
  1035. DEPENDS:= @TARGET_x86 +kmod-tpm
  1036. KCONFIG:= CONFIG_TCG_TIS
  1037. FILES:= \
  1038. $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
  1039. $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
  1040. AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
  1041. endef
  1042. define KernelPackage/tpm-tis/description
  1043. If you have a TPM security chip that is compliant with the
  1044. TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
  1045. specification (TPM2.0) say Yes and it will be accessible from
  1046. within Linux.
  1047. endef
  1048. $(eval $(call KernelPackage,tpm-tis))
  1049. define KernelPackage/tpm-i2c-atmel
  1050. SUBMENU:=$(OTHER_MENU)
  1051. TITLE:=TPM I2C Atmel Support
  1052. DEPENDS:= +kmod-tpm +kmod-i2c-core
  1053. KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
  1054. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
  1055. AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
  1056. endef
  1057. define KernelPackage/tpm-i2c-atmel/description
  1058. This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
  1059. endef
  1060. $(eval $(call KernelPackage,tpm-i2c-atmel))
  1061. define KernelPackage/tpm-i2c-infineon
  1062. SUBMENU:=$(OTHER_MENU)
  1063. TITLE:= TPM I2C Infineon driver
  1064. DEPENDS:= +kmod-tpm +kmod-i2c-core
  1065. KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
  1066. FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
  1067. AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
  1068. endef
  1069. define KernelPackage/tpm-i2c-infineon/description
  1070. This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
  1071. endef
  1072. $(eval $(call KernelPackage,tpm-i2c-infineon))
  1073. define KernelPackage/i6300esb-wdt
  1074. SUBMENU:=$(OTHER_MENU)
  1075. TITLE:=Intel 6300ESB Timer/Watchdog
  1076. DEPENDS:=@PCI_SUPPORT @!SMALL_FLASH
  1077. KCONFIG:=CONFIG_I6300ESB_WDT \
  1078. CONFIG_WATCHDOG_CORE=y
  1079. FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/i6300esb.ko
  1080. AUTOLOAD:=$(call AutoLoad,50,i6300esb,1)
  1081. endef
  1082. define KernelPackage/i6300esb-wdt/description
  1083. Kernel module for the watchdog timer built into the Intel
  1084. 6300ESB controller hub. Also used by QEMU/libvirt.
  1085. endef
  1086. $(eval $(call KernelPackage,i6300esb-wdt))
  1087. define KernelPackage/mhi-bus
  1088. SUBMENU:=$(OTHER_MENU)
  1089. TITLE:=MHI bus
  1090. KCONFIG:=CONFIG_MHI_BUS \
  1091. CONFIG_MHI_BUS_DEBUG=y
  1092. FILES:=$(LINUX_DIR)/drivers/bus/mhi/host/mhi.ko
  1093. AUTOLOAD:=$(call AutoProbe,mhi)
  1094. endef
  1095. define KernelPackage/mhi-bus/description
  1096. Kernel module for the Qualcomm MHI bus.
  1097. endef
  1098. $(eval $(call KernelPackage,mhi-bus))
  1099. define KernelPackage/mhi-pci-generic
  1100. SUBMENU:=$(OTHER_MENU)
  1101. TITLE:=MHI PCI controller driver
  1102. DEPENDS:=@PCI_SUPPORT +kmod-mhi-bus
  1103. KCONFIG:=CONFIG_MHI_BUS_PCI_GENERIC
  1104. FILES:=$(LINUX_DIR)/drivers/bus/mhi/host/mhi_pci_generic.ko
  1105. AUTOLOAD:=$(call AutoProbe,mhi_pci_generic)
  1106. endef
  1107. define KernelPackage/mhi-pci-generic/description
  1108. Kernel module for the MHI PCI controller driver.
  1109. endef
  1110. $(eval $(call KernelPackage,mhi-pci-generic))