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