kernel: remove hack patch, move kirkwood specific kmods to target modules.mk
[openwrt/staging/dedeckeh.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/sdhci
423 SUBMENU:=$(OTHER_MENU)
424 TITLE:=Secure Digital Host Controller Interface support
425 DEPENDS:=+kmod-mmc
426 KCONFIG:= \
427 CONFIG_MMC_SDHCI \
428 CONFIG_MMC_SDHCI_PLTFM \
429 CONFIG_MMC_SDHCI_PCI=n
430 FILES:= \
431 $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
432 $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
433
434 AUTOLOAD:=$(call AutoProbe,sdhci-pltfm,1)
435 endef
436
437 define KernelPackage/sdhci/description
438 Kernel support for SDHCI Hosts
439 endef
440
441 $(eval $(call KernelPackage,sdhci))
442
443
444 define KernelPackage/rfkill
445 SUBMENU:=$(OTHER_MENU)
446 TITLE:=RF switch subsystem support
447 DEPENDS:=@USE_RFKILL +kmod-input-core
448 KCONFIG:= \
449 CONFIG_RFKILL_FULL \
450 CONFIG_RFKILL_INPUT=y \
451 CONFIG_RFKILL_LEDS=y
452 FILES:= \
453 $(LINUX_DIR)/net/rfkill/rfkill.ko
454 AUTOLOAD:=$(call AutoLoad,20,rfkill)
455 endef
456
457 define KernelPackage/rfkill/description
458 Say Y here if you want to have control over RF switches
459 found on many WiFi and Bluetooth cards
460 endef
461
462 $(eval $(call KernelPackage,rfkill))
463
464
465 define KernelPackage/softdog
466 SUBMENU:=$(OTHER_MENU)
467 TITLE:=Software watchdog driver
468 KCONFIG:=CONFIG_SOFT_WATCHDOG \
469 CONFIG_SOFT_WATCHDOG_PRETIMEOUT=n
470 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
471 AUTOLOAD:=$(call AutoLoad,50,softdog,1)
472 endef
473
474 define KernelPackage/softdog/description
475 Software watchdog driver
476 endef
477
478 $(eval $(call KernelPackage,softdog))
479
480
481 define KernelPackage/ssb
482 SUBMENU:=$(OTHER_MENU)
483 TITLE:=Silicon Sonics Backplane glue code
484 DEPENDS:=@PCI_SUPPORT @!TARGET_bcm47xx @!TARGET_bcm63xx
485 KCONFIG:=\
486 CONFIG_SSB \
487 CONFIG_SSB_B43_PCI_BRIDGE=y \
488 CONFIG_SSB_DRIVER_MIPS=n \
489 CONFIG_SSB_DRIVER_PCICORE=y \
490 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
491 CONFIG_SSB_PCIHOST=y \
492 CONFIG_SSB_PCIHOST_POSSIBLE=y \
493 CONFIG_SSB_POSSIBLE=y \
494 CONFIG_SSB_SPROM=y \
495 CONFIG_SSB_SILENT=y
496 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
497 AUTOLOAD:=$(call AutoLoad,18,ssb,1)
498 endef
499
500 define KernelPackage/ssb/description
501 Silicon Sonics Backplane glue code.
502 endef
503
504 $(eval $(call KernelPackage,ssb))
505
506
507 define KernelPackage/bcma
508 SUBMENU:=$(OTHER_MENU)
509 TITLE:=BCMA support
510 DEPENDS:=@PCI_SUPPORT @!TARGET_bcm47xx @!TARGET_bcm53xx
511 KCONFIG:=\
512 CONFIG_BCMA \
513 CONFIG_BCMA_POSSIBLE=y \
514 CONFIG_BCMA_BLOCKIO=y \
515 CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
516 CONFIG_BCMA_HOST_PCI=y \
517 CONFIG_BCMA_HOST_SOC=n \
518 CONFIG_BCMA_DRIVER_MIPS=n \
519 CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
520 CONFIG_BCMA_DRIVER_GMAC_CMN=n \
521 CONFIG_BCMA_DEBUG=n
522 FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
523 AUTOLOAD:=$(call AutoLoad,29,bcma)
524 endef
525
526 define KernelPackage/bcma/description
527 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
528 endef
529
530 $(eval $(call KernelPackage,bcma))
531
532
533 define KernelPackage/rtc-ds1307
534 SUBMENU:=$(OTHER_MENU)
535 TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
536 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
537 DEPENDS:=+kmod-i2c-core +kmod-regmap-i2c +kmod-hwmon-core
538 KCONFIG:=CONFIG_RTC_DRV_DS1307 \
539 CONFIG_RTC_CLASS=y
540 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
541 AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
542 endef
543
544 define KernelPackage/rtc-ds1307/description
545 Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
546 Epson RX-8025 and various other compatible RTC chips connected via I2C.
547 endef
548
549 $(eval $(call KernelPackage,rtc-ds1307))
550
551
552 define KernelPackage/rtc-ds1374
553 SUBMENU:=$(OTHER_MENU)
554 TITLE:=Dallas/Maxim DS1374 RTC support
555 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
556 DEPENDS:=+kmod-i2c-core
557 KCONFIG:=CONFIG_RTC_DRV_DS1374 \
558 CONFIG_RTC_DRV_DS1374_WDT=n \
559 CONFIG_RTC_CLASS=y
560 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko
561 AUTOLOAD:=$(call AutoProbe,rtc-ds1374)
562 endef
563
564 define KernelPackage/rtc-ds1374/description
565 Kernel module for Dallas/Maxim DS1374.
566 endef
567
568 $(eval $(call KernelPackage,rtc-ds1374))
569
570
571 define KernelPackage/rtc-ds1672
572 SUBMENU:=$(OTHER_MENU)
573 TITLE:=Dallas/Maxim DS1672 RTC support
574 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
575 DEPENDS:=+kmod-i2c-core
576 KCONFIG:=CONFIG_RTC_DRV_DS1672 \
577 CONFIG_RTC_CLASS=y
578 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
579 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
580 endef
581
582 define KernelPackage/rtc-ds1672/description
583 Kernel module for Dallas/Maxim DS1672 RTC.
584 endef
585
586 $(eval $(call KernelPackage,rtc-ds1672))
587
588
589 define KernelPackage/rtc-em3027
590 SUBMENU:=$(OTHER_MENU)
591 TITLE:=Microelectronic EM3027 RTC support
592 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
593 DEPENDS:=+kmod-i2c-core
594 KCONFIG:=CONFIG_RTC_DRV_EM3027 \
595 CONFIG_RTC_CLASS=y
596 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-em3027.ko
597 AUTOLOAD:=$(call AutoProbe,rtc-em3027)
598 endef
599
600 define KernelPackage/rtc-em3027/description
601 Kernel module for Microelectronic EM3027 RTC.
602 endef
603
604 $(eval $(call KernelPackage,rtc-em3027))
605
606
607 define KernelPackage/rtc-isl1208
608 SUBMENU:=$(OTHER_MENU)
609 TITLE:=Intersil ISL1208 RTC support
610 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
611 DEPENDS:=+kmod-i2c-core
612 KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
613 CONFIG_RTC_CLASS=y
614 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
615 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
616 endef
617
618 define KernelPackage/rtc-isl1208/description
619 Kernel module for Intersil ISL1208 RTC.
620 endef
621
622 $(eval $(call KernelPackage,rtc-isl1208))
623
624
625 define KernelPackage/rtc-pcf8563
626 SUBMENU:=$(OTHER_MENU)
627 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
628 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
629 DEPENDS:=+kmod-i2c-core
630 KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
631 CONFIG_RTC_CLASS=y
632 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
633 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
634 endef
635
636 define KernelPackage/rtc-pcf8563/description
637 Kernel module for Philips PCF8563 RTC chip.
638 The Epson RTC8564 should work as well.
639 endef
640
641 $(eval $(call KernelPackage,rtc-pcf8563))
642
643
644 define KernelPackage/rtc-pcf2123
645 SUBMENU:=$(OTHER_MENU)
646 TITLE:=Philips PCF2123 RTC support
647 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
648 DEPENDS:=+kmod-regmap-spi
649 KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
650 CONFIG_RTC_CLASS=y
651 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
652 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
653 endef
654
655 define KernelPackage/rtc-pcf2123/description
656 Kernel module for Philips PCF2123 RTC chip
657 endef
658
659 $(eval $(call KernelPackage,rtc-pcf2123))
660
661 define KernelPackage/rtc-pcf2127
662 SUBMENU:=$(OTHER_MENU)
663 TITLE:=NXP PCF2127 and PCF2129 RTC support
664 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
665 DEPENDS:=+kmod-i2c-core +kmod-regmap-spi
666 KCONFIG:=CONFIG_RTC_DRV_PCF2127 \
667 CONFIG_RTC_CLASS=y
668 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2127.ko
669 AUTOLOAD:=$(call AutoProbe,rtc-pcf2127)
670 endef
671
672 define KernelPackage/rtc-pcf2127/description
673 Kernel module for NXP PCF2127 and PCF2129 RTC chip
674 endef
675
676 $(eval $(call KernelPackage,rtc-pcf2127))
677
678
679 define KernelPackage/rtc-rs5c372a
680 SUBMENU:=$(OTHER_MENU)
681 TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
682 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
683 DEPENDS:=+kmod-i2c-core
684 KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
685 CONFIG_RTC_CLASS=y
686 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
687 AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
688 endef
689
690 define KernelPackage/rtc-rs5c372a/description
691 Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
692 endef
693
694 $(eval $(call KernelPackage,rtc-rs5c372a))
695
696 define KernelPackage/rtc-rx8025
697 SUBMENU:=$(OTHER_MENU)
698 TITLE:=Epson RX-8025 / RX-8035
699 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
700 DEPENDS:=+kmod-i2c-core
701 KCONFIG:=CONFIG_RTC_DRV_RX8025 \
702 CONFIG_RTC_CLASS=y
703 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rx8025.ko
704 AUTOLOAD:=$(call AutoLoad,50,rtc-rx8025,1)
705 endef
706
707 define KernelPackage/rtc-rx8025/description
708 Kernel module for Epson RX-8025 and RX-8035 I2C RTC chip
709 endef
710
711 $(eval $(call KernelPackage,rtc-rx8025))
712
713 define KernelPackage/rtc-s35390a
714 SUBMENU:=$(OTHER_MENU)
715 TITLE:=Seico S-35390A
716 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
717 DEPENDS:=+kmod-i2c-core
718 KCONFIG:=CONFIG_RTC_DRV_S35390A \
719 CONFIG_RTC_CLASS=y
720 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-s35390a.ko
721 AUTOLOAD:=$(call AutoLoad,50,rtc-s35390a,1)
722 endef
723
724 define KernelPackage/rtc-s35390a/description
725 Kernel module for Seiko Instruments S-35390A I2C RTC chip
726 endef
727
728 $(eval $(call KernelPackage,rtc-s35390a))
729
730
731 define KernelPackage/mtdtests
732 SUBMENU:=$(OTHER_MENU)
733 TITLE:=MTD subsystem tests
734 KCONFIG:=CONFIG_MTD_TESTS
735 FILES:=\
736 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
737 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
738 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
739 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
740 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
741 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
742 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
743 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
744 endef
745
746 define KernelPackage/mtdtests/description
747 Kernel modules for MTD subsystem/driver testing
748 endef
749
750 $(eval $(call KernelPackage,mtdtests))
751
752
753 define KernelPackage/mtdoops
754 SUBMENU:=$(OTHER_MENU)
755 TITLE:=Log panic/oops to an MTD buffer
756 KCONFIG:=CONFIG_MTD_OOPS
757 FILES:=$(LINUX_DIR)/drivers/mtd/mtdoops.ko
758 endef
759
760 define KernelPackage/mtdoops/description
761 Kernel modules for Log panic/oops to an MTD buffer
762 endef
763
764 $(eval $(call KernelPackage,mtdoops))
765
766
767 define KernelPackage/mtdram
768 SUBMENU:=$(OTHER_MENU)
769 TITLE:=Test MTD driver using RAM
770 KCONFIG:=CONFIG_MTD_MTDRAM \
771 CONFIG_MTDRAM_TOTAL_SIZE=4096 \
772 CONFIG_MTDRAM_ERASE_SIZE=128
773 FILES:=$(LINUX_DIR)/drivers/mtd/devices/mtdram.ko
774 endef
775
776 define KernelPackage/mtdram/description
777 Test MTD driver using RAM
778 endef
779
780 $(eval $(call KernelPackage,mtdram))
781
782
783 define KernelPackage/ramoops
784 SUBMENU:=$(OTHER_MENU)
785 TITLE:=Ramoops (pstore-ram)
786 DEFAULT:=m if ALL_KMODS
787 KCONFIG:=CONFIG_PSTORE_RAM
788 DEPENDS:=+kmod-pstore +kmod-reed-solomon
789 FILES:= $(LINUX_DIR)/fs/pstore/ramoops.ko
790 AUTOLOAD:=$(call AutoLoad,30,ramoops,1)
791 endef
792
793 define KernelPackage/ramoops/description
794 Kernel module for pstore-ram (ramoops) crash log storage
795 endef
796
797 $(eval $(call KernelPackage,ramoops))
798
799
800 define KernelPackage/reed-solomon
801 SUBMENU:=$(OTHER_MENU)
802 TITLE:=Reed-Solomon error correction
803 DEFAULT:=m if ALL_KMODS
804 KCONFIG:=CONFIG_REED_SOLOMON \
805 CONFIG_REED_SOLOMON_DEC8=y \
806 CONFIG_REED_SOLOMON_ENC8=y
807 FILES:= $(LINUX_DIR)/lib/reed_solomon/reed_solomon.ko
808 AUTOLOAD:=$(call AutoLoad,30,reed_solomon,1)
809 endef
810
811 define KernelPackage/reed-solomon/description
812 Kernel module for Reed-Solomon error correction
813 endef
814
815 $(eval $(call KernelPackage,reed-solomon))
816
817
818 define KernelPackage/serial-8250
819 SUBMENU:=$(OTHER_MENU)
820 TITLE:=8250 UARTs
821 KCONFIG:= CONFIG_SERIAL_8250 \
822 CONFIG_SERIAL_8250_PCI \
823 CONFIG_SERIAL_8250_NR_UARTS=16 \
824 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
825 CONFIG_SERIAL_8250_EXTENDED=y \
826 CONFIG_SERIAL_8250_MANY_PORTS=y \
827 CONFIG_SERIAL_8250_SHARE_IRQ=y \
828 CONFIG_SERIAL_8250_DETECT_IRQ=n \
829 CONFIG_SERIAL_8250_RSA=n
830 FILES:= \
831 $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
832 $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko \
833 $(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/8250_pci.ko) \
834 $(if $(CONFIG_GPIOLIB),$(LINUX_DIR)/drivers/tty/serial/serial_mctrl_gpio.ko)
835 AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci)
836 endef
837
838 define KernelPackage/serial-8250/description
839 Kernel module for 8250 UART based serial ports
840 endef
841
842 $(eval $(call KernelPackage,serial-8250))
843
844
845 define KernelPackage/serial-8250-exar
846 SUBMENU:=$(OTHER_MENU)
847 TITLE:=Exar 8250 UARTs
848 KCONFIG:= CONFIG_SERIAL_8250_EXAR
849 FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250_exar.ko
850 AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_exar)
851 DEPENDS:=+kmod-serial-8250
852 endef
853
854 define KernelPackage/serial-8250-exar/description
855 Kernel module for Exar serial ports
856 endef
857
858 $(eval $(call KernelPackage,serial-8250-exar))
859
860
861 define KernelPackage/regmap-core
862 SUBMENU:=$(OTHER_MENU)
863 TITLE:=Generic register map support
864 HIDDEN:=1
865 KCONFIG:=CONFIG_REGMAP
866 ifneq ($(wildcard $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko),)
867 FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-core.ko
868 endif
869 endef
870
871 define KernelPackage/regmap-core/description
872 Generic register map support
873 endef
874
875 $(eval $(call KernelPackage,regmap-core))
876
877
878 define KernelPackage/regmap-spi
879 SUBMENU:=$(OTHER_MENU)
880 TITLE:=SPI register map support
881 DEPENDS:=+kmod-regmap-core
882 HIDDEN:=1
883 KCONFIG:=CONFIG_REGMAP_SPI \
884 CONFIG_SPI=y
885 FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko
886 endef
887
888 define KernelPackage/regmap-spi/description
889 SPI register map support
890 endef
891
892 $(eval $(call KernelPackage,regmap-spi))
893
894
895 define KernelPackage/regmap-i2c
896 SUBMENU:=$(OTHER_MENU)
897 TITLE:=I2C register map support
898 DEPENDS:=+kmod-regmap-core +kmod-i2c-core
899 HIDDEN:=1
900 KCONFIG:=CONFIG_REGMAP_I2C
901 FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko
902 endef
903
904 define KernelPackage/regmap-i2c/description
905 I2C register map support
906 endef
907
908 $(eval $(call KernelPackage,regmap-i2c))
909
910
911 define KernelPackage/regmap-mmio
912 SUBMENU:=$(OTHER_MENU)
913 TITLE:=MMIO register map support
914 DEPENDS:=+kmod-regmap-core
915 HIDDEN:=1
916 KCONFIG:=CONFIG_REGMAP_MMIO
917 FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko
918 endef
919
920 define KernelPackage/regmap-mmio/description
921 MMIO register map support
922 endef
923
924 $(eval $(call KernelPackage,regmap-mmio))
925
926
927 define KernelPackage/ikconfig
928 SUBMENU:=$(OTHER_MENU)
929 TITLE:=Kernel configuration via /proc/config.gz
930 KCONFIG:=CONFIG_IKCONFIG \
931 CONFIG_IKCONFIG_PROC=y
932 FILES:=$(LINUX_DIR)/kernel/configs.ko
933 AUTOLOAD:=$(call AutoLoad,70,configs)
934 endef
935
936 define KernelPackage/ikconfig/description
937 Kernel configuration via /proc/config.gz
938 endef
939
940 $(eval $(call KernelPackage,ikconfig))
941
942
943 define KernelPackage/zram
944 SUBMENU:=$(OTHER_MENU)
945 TITLE:=ZRAM
946 KCONFIG:= \
947 CONFIG_ZSMALLOC \
948 CONFIG_ZRAM \
949 CONFIG_ZRAM_DEBUG=n \
950 CONFIG_ZRAM_WRITEBACK=n \
951 CONFIG_ZSMALLOC_STAT=n
952 FILES:= \
953 $(LINUX_DIR)/mm/zsmalloc.ko \
954 $(LINUX_DIR)/drivers/block/zram/zram.ko
955 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
956 endef
957
958 define KernelPackage/zram/description
959 Compressed RAM block device support
960 endef
961
962 define KernelPackage/zram/config
963 choice
964 prompt "ZRAM Default compressor"
965 default ZRAM_DEF_COMP_LZORLE
966
967 config ZRAM_DEF_COMP_LZORLE
968 bool "lzo-rle"
969 select PACKAGE_kmod-lib-lzo
970
971 config ZRAM_DEF_COMP_LZO
972 bool "lzo"
973 select PACKAGE_kmod-lib-lzo
974
975 config ZRAM_DEF_COMP_LZ4
976 bool "lz4"
977 select PACKAGE_kmod-lib-lz4
978
979 config ZRAM_DEF_COMP_ZSTD
980 bool "zstd"
981 select PACKAGE_kmod-lib-zstd
982
983 endchoice
984 endef
985
986 $(eval $(call KernelPackage,zram))
987
988 define KernelPackage/pps
989 SUBMENU:=$(OTHER_MENU)
990 TITLE:=PPS support
991 KCONFIG:=CONFIG_PPS
992 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
993 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
994 endef
995
996 define KernelPackage/pps/description
997 PPS (Pulse Per Second) is a special pulse provided by some GPS
998 antennae. Userland can use it to get a high-precision time
999 reference.
1000 endef
1001
1002 $(eval $(call KernelPackage,pps))
1003
1004
1005 define KernelPackage/pps-gpio
1006 SUBMENU:=$(OTHER_MENU)
1007 TITLE:=PPS client using GPIO
1008 DEPENDS:=+kmod-pps
1009 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
1010 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
1011 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
1012 endef
1013
1014 define KernelPackage/pps-gpio/description
1015 Support for a PPS source using GPIO. To be useful you must
1016 also register a platform device specifying the GPIO pin and
1017 other options, usually in your board setup.
1018 endef
1019
1020 $(eval $(call KernelPackage,pps-gpio))
1021
1022
1023 define KernelPackage/pps-ldisc
1024 SUBMENU:=$(OTHER_MENU)
1025 TITLE:=PPS line discipline
1026 DEPENDS:=+kmod-pps
1027 KCONFIG:=CONFIG_PPS_CLIENT_LDISC
1028 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
1029 AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
1030 endef
1031
1032 define KernelPackage/pps-ldisc/description
1033 Support for a PPS source connected with the CD (Carrier
1034 Detect) pin of your serial port.
1035 endef
1036
1037 $(eval $(call KernelPackage,pps-ldisc))
1038
1039
1040 define KernelPackage/ptp
1041 SUBMENU:=$(OTHER_MENU)
1042 TITLE:=PTP clock support
1043 DEPENDS:=+kmod-pps
1044 KCONFIG:= \
1045 CONFIG_PTP_1588_CLOCK \
1046 CONFIG_NET_PTP_CLASSIFY=y
1047 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
1048 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
1049 endef
1050
1051 define KernelPackage/ptp/description
1052 The IEEE 1588 standard defines a method to precisely
1053 synchronize distributed clocks over Ethernet networks.
1054 endef
1055
1056 $(eval $(call KernelPackage,ptp))
1057
1058
1059 define KernelPackage/ptp-qoriq
1060 SUBMENU:=$(OTHER_MENU)
1061 TITLE:=Freescale QorIQ PTP support
1062 DEPENDS:=@(TARGET_mpc85xx||TARGET_qoriq) +kmod-ptp
1063 KCONFIG:=CONFIG_PTP_1588_CLOCK_QORIQ
1064 FILES:=$(LINUX_DIR)/drivers/ptp/ptp-qoriq.ko
1065 AUTOLOAD:=$(call AutoProbe,ptp-qoriq)
1066 endef
1067
1068
1069 define KernelPackage/ptp-qoriq/description
1070 Kernel module for IEEE 1588 support for Freescale
1071 QorIQ Ethernet drivers
1072 endef
1073
1074 $(eval $(call KernelPackage,ptp-qoriq))
1075
1076 define KernelPackage/random-core
1077 SUBMENU:=$(OTHER_MENU)
1078 TITLE:=Hardware Random Number Generator Core support
1079 KCONFIG:=CONFIG_HW_RANDOM
1080 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
1081 endef
1082
1083 define KernelPackage/random-core/description
1084 Kernel module for the HW random number generator core infrastructure
1085 endef
1086
1087 $(eval $(call KernelPackage,random-core))
1088
1089
1090 define KernelPackage/thermal
1091 SUBMENU:=$(OTHER_MENU)
1092 TITLE:=Thermal driver
1093 DEPENDS:=+kmod-hwmon-core
1094 HIDDEN:=1
1095 KCONFIG:= \
1096 CONFIG_THERMAL=y \
1097 CONFIG_THERMAL_OF=y \
1098 CONFIG_CPU_THERMAL=y \
1099 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
1100 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
1101 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
1102 CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 \
1103 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
1104 CONFIG_THERMAL_GOV_STEP_WISE=y \
1105 CONFIG_THERMAL_GOV_USER_SPACE=n \
1106 CONFIG_THERMAL_HWMON=y \
1107 CONFIG_THERMAL_EMULATION=n
1108 endef
1109
1110 define KernelPackage/thermal/description
1111 Thermal driver offers a generic mechanism for thermal management.
1112 Usually it's made up of one or more thermal zone and cooling device.
1113 endef
1114
1115 $(eval $(call KernelPackage,thermal))
1116
1117
1118 define KernelPackage/gpio-beeper
1119 SUBMENU:=$(OTHER_MENU)
1120 TITLE:=GPIO beeper support
1121 DEPENDS:=+kmod-input-core
1122 KCONFIG:= \
1123 CONFIG_INPUT_MISC=y \
1124 CONFIG_INPUT_GPIO_BEEPER
1125 FILES:= \
1126 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
1127 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
1128 endef
1129
1130 define KernelPackage/gpio-beeper/description
1131 This enables playing beeps through an GPIO-connected buzzer
1132 endef
1133
1134 $(eval $(call KernelPackage,gpio-beeper))
1135
1136
1137 define KernelPackage/echo
1138 SUBMENU:=$(OTHER_MENU)
1139 TITLE:=Line Echo Canceller
1140 KCONFIG:=CONFIG_ECHO
1141 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
1142 AUTOLOAD:=$(call AutoLoad,50,echo)
1143 endef
1144
1145 define KernelPackage/echo/description
1146 This driver provides line echo cancelling support for mISDN and
1147 DAHDI drivers
1148 endef
1149
1150 $(eval $(call KernelPackage,echo))
1151
1152
1153 define KernelPackage/keys-encrypted
1154 SUBMENU:=$(OTHER_MENU)
1155 TITLE:=encrypted keys on kernel keyring
1156 DEPENDS:=@KERNEL_KEYS +kmod-crypto-cbc +kmod-crypto-hmac +kmod-crypto-rng \
1157 +kmod-crypto-sha256 +kmod-keys-trusted
1158 KCONFIG:=CONFIG_ENCRYPTED_KEYS
1159 FILES:=$(LINUX_DIR)/security/keys/encrypted-keys/encrypted-keys.ko
1160 AUTOLOAD:=$(call AutoLoad,01,encrypted-keys,1)
1161 endef
1162
1163 define KernelPackage/keys-encrypted/description
1164 This module provides support for create/encrypting/decrypting keys
1165 in the kernel. Encrypted keys are kernel generated random numbers,
1166 which are encrypted/decrypted with a 'master' symmetric key. The
1167 'master' key can be either a trusted-key or user-key type.
1168 Userspace only ever sees/stores encrypted blobs.
1169 endef
1170
1171 $(eval $(call KernelPackage,keys-encrypted))
1172
1173
1174 define KernelPackage/keys-trusted
1175 SUBMENU:=$(OTHER_MENU)
1176 TITLE:=TPM trusted keys on kernel keyring
1177 DEPENDS:=@KERNEL_KEYS +kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha1 +kmod-tpm
1178 KCONFIG:=CONFIG_TRUSTED_KEYS
1179 FILES:= $(LINUX_DIR)/security/keys/trusted-keys/trusted.ko
1180 AUTOLOAD:=$(call AutoLoad,01,trusted-keys,1)
1181 endef
1182
1183 define KernelPackage/keys-trusted/description
1184 This module provides support for creating, sealing, and unsealing
1185 keys in the kernel. Trusted keys are random number symmetric keys,
1186 generated and RSA-sealed by the TPM. The TPM only unseals the keys,
1187 if the boot PCRs and other criteria match. Userspace will only ever
1188 see encrypted blobs.
1189 endef
1190
1191 $(eval $(call KernelPackage,keys-trusted))
1192
1193
1194 define KernelPackage/tpm
1195 SUBMENU:=$(OTHER_MENU)
1196 TITLE:=TPM Hardware Support
1197 DEPENDS:= +kmod-random-core +(LINUX_5_15):kmod-asn1-decoder \
1198 +(LINUX_5_15):kmod-asn1-encoder +(LINUX_5_15):kmod-oid-registry
1199 KCONFIG:= CONFIG_TCG_TPM
1200 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
1201 AUTOLOAD:=$(call AutoLoad,10,tpm,1)
1202 endef
1203
1204 define KernelPackage/tpm/description
1205 This enables TPM Hardware Support.
1206 endef
1207
1208 $(eval $(call KernelPackage,tpm))
1209
1210 define KernelPackage/tpm-tis
1211 SUBMENU:=$(OTHER_MENU)
1212 TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
1213 DEPENDS:= @TARGET_x86 +kmod-tpm
1214 KCONFIG:= CONFIG_TCG_TIS
1215 FILES:= \
1216 $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
1217 $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
1218 AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
1219 endef
1220
1221 define KernelPackage/tpm-tis/description
1222 If you have a TPM security chip that is compliant with the
1223 TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
1224 specification (TPM2.0) say Yes and it will be accessible from
1225 within Linux.
1226 endef
1227
1228 $(eval $(call KernelPackage,tpm-tis))
1229
1230 define KernelPackage/tpm-i2c-atmel
1231 SUBMENU:=$(OTHER_MENU)
1232 TITLE:=TPM I2C Atmel Support
1233 DEPENDS:= +kmod-tpm +kmod-i2c-core
1234 KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
1235 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
1236 AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
1237 endef
1238
1239 define KernelPackage/tpm-i2c-atmel/description
1240 This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
1241 endef
1242
1243 $(eval $(call KernelPackage,tpm-i2c-atmel))
1244
1245 define KernelPackage/tpm-i2c-infineon
1246 SUBMENU:=$(OTHER_MENU)
1247 TITLE:= TPM I2C Infineon driver
1248 DEPENDS:= +kmod-tpm +kmod-i2c-core
1249 KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
1250 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
1251 AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
1252 endef
1253
1254 define KernelPackage/tpm-i2c-infineon/description
1255 This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
1256 endef
1257
1258 $(eval $(call KernelPackage,tpm-i2c-infineon))
1259
1260
1261 define KernelPackage/i6300esb-wdt
1262 SUBMENU:=$(OTHER_MENU)
1263 TITLE:=Intel 6300ESB Timer/Watchdog
1264 DEPENDS:=@PCI_SUPPORT @!SMALL_FLASH
1265 KCONFIG:=CONFIG_I6300ESB_WDT \
1266 CONFIG_WATCHDOG_CORE=y
1267 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/i6300esb.ko
1268 AUTOLOAD:=$(call AutoLoad,50,i6300esb,1)
1269 endef
1270
1271 define KernelPackage/i6300esb-wdt/description
1272 Kernel module for the watchdog timer built into the Intel
1273 6300ESB controller hub. Also used by QEMU/libvirt.
1274 endef
1275
1276 $(eval $(call KernelPackage,i6300esb-wdt))
1277
1278
1279 define KernelPackage/mhi-bus
1280 SUBMENU:=$(OTHER_MENU)
1281 TITLE:=MHI bus
1282 DEPENDS:=@LINUX_5_15
1283 KCONFIG:=CONFIG_MHI_BUS \
1284 CONFIG_MHI_BUS_DEBUG=y
1285 FILES:=$(LINUX_DIR)/drivers/bus/mhi/core/mhi.ko
1286 AUTOLOAD:=$(call AutoProbe,mhi)
1287 endef
1288
1289 define KernelPackage/mhi-bus/description
1290 Kernel module for the Qualcomm MHI bus.
1291 endef
1292
1293 $(eval $(call KernelPackage,mhi-bus))
1294
1295 define KernelPackage/mhi-pci-generic
1296 SUBMENU:=$(OTHER_MENU)
1297 TITLE:=MHI PCI controller driver
1298 DEPENDS:=@LINUX_5_15 +kmod-mhi-bus
1299 KCONFIG:=CONFIG_MHI_BUS_PCI_GENERIC
1300 FILES:=$(LINUX_DIR)/drivers/bus/mhi/mhi_pci_generic.ko
1301 AUTOLOAD:=$(call AutoProbe,mhi_pci_generic)
1302 endef
1303
1304 define KernelPackage/mhi-pci-generic/description
1305 Kernel module for the MHI PCI controller driver.
1306 endef
1307
1308 $(eval $(call KernelPackage,mhi-pci-generic))