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