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