other.mk 36 KB

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