2 # Copyright (C) 2006-2015 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 OTHER_MENU
:=Other modules
10 WATCHDOG_DIR
:=watchdog
13 define KernelPackage
/6lowpan
14 SUBMENU
:=$(OTHER_MENU
)
15 TITLE
:=6LoWPAN shared code
19 FILES
:=$(LINUX_DIR
)/net
/6lowpan
/6lowpan.ko
20 AUTOLOAD
:=$(call AutoProbe
,6lowpan
)
23 define KernelPackage
/6lowpan
/description
24 Shared
6lowpan code for IEEE
802.15.4 and Bluetooth.
27 $(eval
$(call KernelPackage
,6lowpan
))
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
+!LINUX_4_9
:kmod-crypto-ecdh
42 CONFIG_BT_HCIBTUSB_BCM
=n \
44 CONFIG_BT_HCIUART_BCM
=n \
45 CONFIG_BT_HCIUART_INTEL
=n \
46 CONFIG_BT_HCIUART_H4 \
47 CONFIG_BT_HCIUART_NOKIA
=n \
49 $(call AddDepends
/rfkill
)
51 $(LINUX_DIR
)/net
/bluetooth
/bluetooth.ko \
52 $(LINUX_DIR
)/net
/bluetooth
/rfcomm
/rfcomm.ko \
53 $(LINUX_DIR
)/net
/bluetooth
/bnep
/bnep.ko \
54 $(LINUX_DIR
)/net
/bluetooth
/hidp
/hidp.ko \
55 $(LINUX_DIR
)/drivers
/bluetooth
/hci_uart.ko \
56 $(LINUX_DIR
)/drivers
/bluetooth
/btusb.ko
57 ifeq ($(strip $(call CompareKernelPatchVer
,$(KERNEL_PATCHVER
),ge
,4.1.0)),1)
59 $(LINUX_DIR
)/drivers
/bluetooth
/btintel.ko
61 AUTOLOAD
:=$(call AutoProbe
,bluetooth rfcomm bnep hidp hci_uart btusb
)
64 define KernelPackage
/bluetooth
/description
65 Kernel support for Bluetooth devices
68 $(eval
$(call KernelPackage
,bluetooth
))
70 define KernelPackage
/ath3k
71 SUBMENU
:=$(OTHER_MENU
)
72 TITLE
:=ATH3K Kernel Module support
73 DEPENDS
:=+kmod-bluetooth
+ar3k-firmware
76 CONFIG_BT_HCIUART_ATH3K
=y
77 $(call AddDepends
/bluetooth
)
79 $(LINUX_DIR
)/drivers
/bluetooth
/ath3k.ko
80 AUTOLOAD
:=$(call AutoProbe
,ath3k
)
83 define KernelPackage
/ath3k
/description
84 Kernel support for ATH3K Module
87 $(eval
$(call KernelPackage
,ath3k
))
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
)
99 define KernelPackage
/bluetooth_6lowpan
/description
100 Kernel support for
6LoWPAN over Bluetooth Low Energy devices
103 $(eval
$(call KernelPackage
,bluetooth_6lowpan
))
106 define KernelPackage
/btmrvl
107 SUBMENU
:=$(OTHER_MENU
)
108 TITLE
:=Marvell Bluetooth Kernel Module support
109 DEPENDS
:=+kmod-mmc
+kmod-bluetooth
+mwifiex-sdio-firmware
113 $(call AddDepends
/bluetooth
)
115 $(LINUX_DIR
)/drivers
/bluetooth
/btmrvl.ko \
116 $(LINUX_DIR
)/drivers
/bluetooth
/btmrvl_sdio.ko
117 AUTOLOAD
:=$(call AutoProbe
,btmrvl btmrvl_sdio
)
120 define KernelPackage
/btmrvl
/description
121 Kernel support for Marvell SDIO Bluetooth Module
124 $(eval
$(call KernelPackage
,btmrvl
))
127 define KernelPackage
/dma-buf
128 SUBMENU
:=$(OTHER_MENU
)
129 TITLE
:=DMA shared buffer support
131 KCONFIG
:=CONFIG_DMA_SHARED_BUFFER
132 ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE
)),"")
133 ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI
)),"")
134 FILES
:=$(LINUX_DIR
)/drivers
/dma-buf
/dma-shared-buffer.ko
137 AUTOLOAD
:=$(call AutoLoad
,20,dma-shared-buffer
)
139 $(eval
$(call KernelPackage
,dma-buf
))
142 define KernelPackage
/nvmem
143 SUBMENU
:=$(OTHER_MENU
)
144 TITLE
:=Non Volatile Memory support
145 KCONFIG
:=CONFIG_NVMEM
147 FILES
:=$(LINUX_DIR
)/drivers
/nvmem
/nvmem_core.ko@ge4.9
150 define KernelPackage
/nvmem
/description
151 Support for NVMEM
(Non Volatile Memory
) devices like EEPROM
, EFUSES
, etc.
154 $(eval
$(call KernelPackage
,nvmem
))
156 define KernelPackage
/eeprom-93cx6
157 SUBMENU
:=$(OTHER_MENU
)
158 TITLE
:=EEPROM
93CX6 support
159 KCONFIG
:=CONFIG_EEPROM_93CX6
160 FILES
:=$(LINUX_DIR
)/drivers
/misc
/eeprom
/eeprom_93cx6.ko
161 AUTOLOAD
:=$(call AutoLoad
,20,eeprom_93cx6
)
164 define KernelPackage
/eeprom-93cx6
/description
165 Kernel module for EEPROM
93CX6 support
168 $(eval
$(call KernelPackage
,eeprom-93cx6
))
171 define KernelPackage
/eeprom-at24
172 SUBMENU
:=$(OTHER_MENU
)
173 TITLE
:=EEPROM AT24 support
174 KCONFIG
:=CONFIG_EEPROM_AT24
175 DEPENDS
:=+kmod-i2c-core
+kmod-nvmem
+LINUX_4_19
:kmod-regmap-i2c
176 FILES
:=$(LINUX_DIR
)/drivers
/misc
/eeprom
/at24.ko
177 AUTOLOAD
:=$(call AutoProbe
,at24
)
180 define KernelPackage
/eeprom-at24
/description
181 Kernel module for most I2C EEPROMs
184 $(eval
$(call KernelPackage
,eeprom-at24
))
187 define KernelPackage
/eeprom-at25
188 SUBMENU
:=$(OTHER_MENU
)
189 TITLE
:=EEPROM AT25 support
190 KCONFIG
:=CONFIG_EEPROM_AT25
192 FILES
:=$(LINUX_DIR
)/drivers
/misc
/eeprom
/at25.ko
193 AUTOLOAD
:=$(call AutoProbe
,at25
)
196 define KernelPackage
/eeprom-at25
/description
197 Kernel module for most SPI EEPROMs
200 $(eval
$(call KernelPackage
,eeprom-at25
))
203 define KernelPackage
/gpio-dev
204 SUBMENU
:=$(OTHER_MENU
)
205 TITLE
:=Generic GPIO char device support
206 DEPENDS
:=@GPIO_SUPPORT
207 KCONFIG
:=CONFIG_GPIO_DEVICE
208 FILES
:=$(LINUX_DIR
)/drivers
/char
/gpio_dev.ko
209 AUTOLOAD
:=$(call AutoLoad
,40,gpio_dev
)
212 define KernelPackage
/gpio-dev
/description
213 Kernel module to allows control of GPIO pins using a character device.
216 $(eval
$(call KernelPackage
,gpio-dev
))
219 define KernelPackage
/gpio-mcp23s08
220 SUBMENU
:=$(OTHER_MENU
)
221 TITLE
:=Microchip MCP23xxx I
/O expander
222 DEPENDS
:=@GPIO_SUPPORT
+kmod-i2c-core
+!LINUX_4_9
:kmod-regmap-i2c
224 CONFIG_GPIO_MCP23S08 \
225 CONFIG_PINCTRL_MCP23S08
227 $(LINUX_DIR
)/drivers
/gpio
/gpio-mcp23s08.ko@lt4.13 \
228 $(LINUX_DIR
)/drivers
/pinctrl
/pinctrl-mcp23s08.ko@ge4.13
229 AUTOLOAD
:=$(call AutoLoad
,40,gpio-mcp23s08@lt4.13 pinctrl-mcp23s08@ge4.13
)
232 define KernelPackage
/gpio-mcp23s08
/description
233 Kernel module for Microchip MCP23xxx SPI
/I2C I
/O expander
236 $(eval
$(call KernelPackage
,gpio-mcp23s08
))
239 define KernelPackage
/gpio-nxp-74hc164
240 SUBMENU
:=$(OTHER_MENU
)
241 TITLE
:=NXP
74HC164 GPIO expander support
242 KCONFIG
:=CONFIG_GPIO_74X164
243 FILES
:=$(LINUX_DIR
)/drivers
/gpio
/gpio-74x164.ko
244 AUTOLOAD
:=$(call AutoProbe
,gpio-74x164
)
247 define KernelPackage
/gpio-nxp-74hc164
/description
248 Kernel module for NXP
74HC164 GPIO expander
251 $(eval
$(call KernelPackage
,gpio-nxp-74hc164
))
253 define KernelPackage
/gpio-pca953x
254 SUBMENU
:=$(OTHER_MENU
)
255 DEPENDS
:=@GPIO_SUPPORT
+kmod-i2c-core
256 TITLE
:=PCA95xx
, TCA64xx
, and MAX7310 I
/O ports
257 KCONFIG
:=CONFIG_GPIO_PCA953X
258 FILES
:=$(LINUX_DIR
)/drivers
/gpio
/gpio-pca953x.ko
259 AUTOLOAD
:=$(call AutoLoad
,55,gpio-pca953x
)
262 define KernelPackage
/gpio-pca953x
/description
263 Kernel module for MAX731
{0,2,3,5}, PCA6107
, PCA953
{4-9}, PCA955
{4-7},
264 PCA957
{4,5} and TCA64
{08,16} I2C GPIO expanders
267 $(eval
$(call KernelPackage
,gpio-pca953x
))
269 define KernelPackage
/gpio-pcf857x
270 SUBMENU
:=$(OTHER_MENU
)
271 DEPENDS
:=@GPIO_SUPPORT
+kmod-i2c-core
272 TITLE
:=PCX857x
, PCA967x and MAX732X I2C GPIO expanders
273 KCONFIG
:=CONFIG_GPIO_PCF857X
274 FILES
:=$(LINUX_DIR
)/drivers
/gpio
/gpio-pcf857x.ko
275 AUTOLOAD
:=$(call AutoLoad
,55,gpio-pcf857x
)
278 define KernelPackage
/gpio-pcf857x
/description
279 Kernel module for PCF857x
, PCA
{85,96}7x
, and MAX732
[89] I2C GPIO expanders
282 $(eval
$(call KernelPackage
,gpio-pcf857x
))
285 define KernelPackage
/ppdev
286 SUBMENU
:=$(OTHER_MENU
)
287 TITLE
:=Parallel port support
292 $(LINUX_DIR
)/drivers
/parport
/parport.ko \
293 $(LINUX_DIR
)/drivers
/char
/ppdev.ko
294 AUTOLOAD
:=$(call AutoLoad
,50,parport ppdev
)
297 $(eval
$(call KernelPackage
,ppdev
))
300 define KernelPackage
/parport-pc
301 SUBMENU
:=$(OTHER_MENU
)
302 TITLE
:=Parallel port interface
(PC-style
) support
307 CONFIG_PARPORT_1284
=y \
308 CONFIG_PARPORT_PC_FIFO
=y \
309 CONFIG_PARPORT_PC_PCMCIA
=n \
310 CONFIG_PARPORT_PC_SUPERIO
=y \
311 CONFIG_PARPORT_SERIAL
=n \
316 $(LINUX_DIR
)/drivers
/parport
/parport_pc.ko
317 AUTOLOAD
:=$(call AutoLoad
,51,parport_pc
)
320 $(eval
$(call KernelPackage
,parport-pc
))
323 define KernelPackage
/lp
324 SUBMENU
:=$(OTHER_MENU
)
325 TITLE
:=Parallel port line printer device support
330 $(LINUX_DIR
)/drivers
/char
/lp.ko
331 AUTOLOAD
:=$(call AutoLoad
,52,lp
)
334 $(eval
$(call KernelPackage
,lp
))
337 define KernelPackage
/mmc
338 SUBMENU
:=$(OTHER_MENU
)
339 TITLE
:=MMC
/SD Card Support
340 DEPENDS
:=@
!TARGET_uml
345 CONFIG_MMC_UNSAFE_RESUME
=n \
346 CONFIG_MMC_BLOCK_BOUNCE
=y \
347 CONFIG_MMC_TIFM_SD
=n \
351 $(LINUX_DIR
)/drivers
/mmc
/core
/mmc_core.ko \
352 $(LINUX_DIR
)/drivers
/mmc
/card
/mmc_block.ko@lt4.10 \
353 $(LINUX_DIR
)/drivers
/mmc
/core
/mmc_block.ko@ge4.10
354 AUTOLOAD
:=$(call AutoProbe
,mmc_core mmc_block
,1)
357 define KernelPackage
/mmc
/description
358 Kernel support for MMC
/SD cards
361 $(eval
$(call KernelPackage
,mmc
))
364 define KernelPackage
/sdhci
365 SUBMENU
:=$(OTHER_MENU
)
366 TITLE
:=Secure Digital Host Controller Interface support
370 CONFIG_MMC_SDHCI_PLTFM \
371 CONFIG_MMC_SDHCI_PCI
=n
373 $(LINUX_DIR
)/drivers
/mmc
/host
/sdhci.ko \
374 $(LINUX_DIR
)/drivers
/mmc
/host
/sdhci-pltfm.ko
376 AUTOLOAD
:=$(call AutoProbe
,sdhci-pltfm
,1)
379 define KernelPackage
/sdhci
/description
380 Kernel support for SDHCI Hosts
383 $(eval
$(call KernelPackage
,sdhci
))
386 define KernelPackage
/rfkill
387 SUBMENU
:=$(OTHER_MENU
)
388 TITLE
:=RF switch subsystem support
389 DEPENDS
:=@USE_RFKILL
+kmod-input-core
392 CONFIG_RFKILL_INPUT
=y \
395 $(LINUX_DIR
)/net
/rfkill
/rfkill.ko
396 AUTOLOAD
:=$(call AutoLoad
,20,rfkill
)
399 define KernelPackage
/rfkill
/description
400 Say Y here if you want to have control over RF switches
401 found on many WiFi and Bluetooth cards
404 $(eval
$(call KernelPackage
,rfkill
))
407 define KernelPackage
/softdog
408 SUBMENU
:=$(OTHER_MENU
)
409 TITLE
:=Software watchdog driver
410 KCONFIG
:=CONFIG_SOFT_WATCHDOG \
411 CONFIG_SOFT_WATCHDOG_PRETIMEOUT
=n
412 FILES
:=$(LINUX_DIR
)/drivers
/$(WATCHDOG_DIR
)/softdog.ko
413 AUTOLOAD
:=$(call AutoLoad
,50,softdog
,1)
416 define KernelPackage
/softdog
/description
417 Software watchdog driver
420 $(eval
$(call KernelPackage
,softdog
))
423 define KernelPackage
/ssb
424 SUBMENU
:=$(OTHER_MENU
)
425 TITLE
:=Silicon Sonics Backplane glue code
426 DEPENDS
:=@PCI_SUPPORT @
!TARGET_brcm47xx @
!TARGET_brcm63xx
429 CONFIG_SSB_B43_PCI_BRIDGE
=y \
430 CONFIG_SSB_DRIVER_MIPS
=n \
431 CONFIG_SSB_DRIVER_PCICORE
=y \
432 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE
=y \
433 CONFIG_SSB_PCIHOST
=y \
434 CONFIG_SSB_PCIHOST_POSSIBLE
=y \
435 CONFIG_SSB_POSSIBLE
=y \
438 FILES
:=$(LINUX_DIR
)/drivers
/ssb
/ssb.ko
439 AUTOLOAD
:=$(call AutoLoad
,18,ssb
,1)
442 define KernelPackage
/ssb
/description
443 Silicon Sonics Backplane glue code.
446 $(eval
$(call KernelPackage
,ssb
))
449 define KernelPackage
/bcma
450 SUBMENU
:=$(OTHER_MENU
)
452 DEPENDS
:=@PCI_SUPPORT @
!TARGET_brcm47xx @
!TARGET_bcm53xx
455 CONFIG_BCMA_POSSIBLE
=y \
456 CONFIG_BCMA_BLOCKIO
=y \
457 CONFIG_BCMA_HOST_PCI_POSSIBLE
=y \
458 CONFIG_BCMA_HOST_PCI
=y \
459 CONFIG_BCMA_HOST_SOC
=n \
460 CONFIG_BCMA_DRIVER_MIPS
=n \
461 CONFIG_BCMA_DRIVER_PCI_HOSTMODE
=n \
462 CONFIG_BCMA_DRIVER_GMAC_CMN
=n \
464 FILES
:=$(LINUX_DIR
)/drivers
/bcma
/bcma.ko
465 AUTOLOAD
:=$(call AutoLoad
,29,bcma
)
468 define KernelPackage
/bcma
/description
469 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
472 $(eval
$(call KernelPackage
,bcma
))
475 define KernelPackage
/rtc-ds1307
476 SUBMENU
:=$(OTHER_MENU
)
477 TITLE
:=Dallas
/Maxim DS1307
(and compatible
) RTC support
478 DEFAULT
:=m if ALL_KMODS
&& RTC_SUPPORT
479 DEPENDS
:=+kmod-i2c-core
+!LINUX_4_9
:kmod-regmap-i2c
+!LINUX_4_9
:kmod-hwmon-core
480 KCONFIG
:=CONFIG_RTC_DRV_DS1307 \
482 FILES
:=$(LINUX_DIR
)/drivers
/rtc
/rtc-ds1307.ko
483 AUTOLOAD
:=$(call AutoProbe
,rtc-ds1307
)
486 define KernelPackage
/rtc-ds1307
/description
487 Kernel module for Dallas
/Maxim DS1307
/DS1337
/DS1338
/DS1340
/DS1388
/DS3231
,
488 Epson RX-8025 and various other compatible RTC chips connected via I2C.
491 $(eval
$(call KernelPackage
,rtc-ds1307
))
494 define KernelPackage
/rtc-ds1374
495 SUBMENU
:=$(OTHER_MENU
)
496 TITLE
:=Dallas
/Maxim DS1374 RTC support
497 DEFAULT
:=m if ALL_KMODS
&& RTC_SUPPORT
498 DEPENDS
:=+kmod-i2c-core
499 KCONFIG
:=CONFIG_RTC_DRV_DS1374 \
500 CONFIG_RTC_DRV_DS1374_WDT
=n \
502 FILES
:=$(LINUX_DIR
)/drivers
/rtc
/rtc-ds1374.ko
503 AUTOLOAD
:=$(call AutoProbe
,rtc-ds1374
)
506 define KernelPackage
/rtc-ds1374
/description
507 Kernel module for Dallas
/Maxim DS1374.
510 $(eval
$(call KernelPackage
,rtc-ds1374
))
513 define KernelPackage
/rtc-ds1672
514 SUBMENU
:=$(OTHER_MENU
)
515 TITLE
:=Dallas
/Maxim DS1672 RTC support
516 DEFAULT
:=m if ALL_KMODS
&& RTC_SUPPORT
517 DEPENDS
:=+kmod-i2c-core
518 KCONFIG
:=CONFIG_RTC_DRV_DS1672 \
520 FILES
:=$(LINUX_DIR
)/drivers
/rtc
/rtc-ds1672.ko
521 AUTOLOAD
:=$(call AutoProbe
,rtc-ds1672
)
524 define KernelPackage
/rtc-ds1672
/description
525 Kernel module for Dallas
/Maxim DS1672 RTC.
528 $(eval
$(call KernelPackage
,rtc-ds1672
))
531 define KernelPackage
/rtc-em3027
532 SUBMENU
:=$(OTHER_MENU
)
533 TITLE
:=Microelectronic EM3027 RTC support
534 DEFAULT
:=m if ALL_KMODS
&& RTC_SUPPORT
535 DEPENDS
:=+kmod-i2c-core
536 KCONFIG
:=CONFIG_RTC_DRV_EM3027 \
538 FILES
:=$(LINUX_DIR
)/drivers
/rtc
/rtc-em3027.ko
539 AUTOLOAD
:=$(call AutoProbe
,rtc-em3027
)
542 define KernelPackage
/rtc-em3027
/description
543 Kernel module for Microelectronic EM3027 RTC.
546 $(eval
$(call KernelPackage
,rtc-em3027
))
549 define KernelPackage
/rtc-isl1208
550 SUBMENU
:=$(OTHER_MENU
)
551 TITLE
:=Intersil ISL1208 RTC support
552 DEFAULT
:=m if ALL_KMODS
&& RTC_SUPPORT
553 DEPENDS
:=+kmod-i2c-core
554 KCONFIG
:=CONFIG_RTC_DRV_ISL1208 \
556 FILES
:=$(LINUX_DIR
)/drivers
/rtc
/rtc-isl1208.ko
557 AUTOLOAD
:=$(call AutoProbe
,rtc-isl1208
)
560 define KernelPackage
/rtc-isl1208
/description
561 Kernel module for Intersil ISL1208 RTC.
564 $(eval
$(call KernelPackage
,rtc-isl1208
))
567 define KernelPackage
/rtc-pcf8563
568 SUBMENU
:=$(OTHER_MENU
)
569 TITLE
:=Philips PCF8563
/Epson RTC8564 RTC support
570 DEFAULT
:=m if ALL_KMODS
&& RTC_SUPPORT
571 DEPENDS
:=+kmod-i2c-core
572 KCONFIG
:=CONFIG_RTC_DRV_PCF8563 \
574 FILES
:=$(LINUX_DIR
)/drivers
/rtc
/rtc-pcf8563.ko
575 AUTOLOAD
:=$(call AutoProbe
,rtc-pcf8563
)
578 define KernelPackage
/rtc-pcf8563
/description
579 Kernel module for Philips PCF8563 RTC chip.
580 The Epson RTC8564 should work
as well.
583 $(eval
$(call KernelPackage
,rtc-pcf8563
))
586 define KernelPackage
/rtc-pcf2123
587 SUBMENU
:=$(OTHER_MENU
)
588 TITLE
:=Philips PCF2123 RTC support
589 DEFAULT
:=m if ALL_KMODS
&& RTC_SUPPORT
590 KCONFIG
:=CONFIG_RTC_DRV_PCF2123 \
592 FILES
:=$(LINUX_DIR
)/drivers
/rtc
/rtc-pcf2123.ko
593 AUTOLOAD
:=$(call AutoProbe
,rtc-pcf2123
)
596 define KernelPackage
/rtc-pcf2123
/description
597 Kernel module for Philips PCF2123 RTC chip
600 $(eval
$(call KernelPackage
,rtc-pcf2123
))
602 define KernelPackage
/rtc-pcf2127
603 SUBMENU
:=$(OTHER_MENU
)
604 TITLE
:=NXP PCF2127 and PCF2129 RTC support
605 DEFAULT
:=m if ALL_KMODS
&& RTC_SUPPORT
606 KCONFIG
:=CONFIG_RTC_DRV_PCF2127 \
608 FILES
:=$(LINUX_DIR
)/drivers
/rtc
/rtc-pcf2127.ko
609 AUTOLOAD
:=$(call AutoProbe
,rtc-pcf2127
)
612 define KernelPackage
/rtc-pcf2127
/description
613 Kernel module for NXP PCF2127 and PCF2129 RTC chip
616 $(eval
$(call KernelPackage
,rtc-pcf2127
))
618 define KernelPackage
/rtc-pt7c4338
619 SUBMENU
:=$(OTHER_MENU
)
620 TITLE
:=Pericom PT7C4338 RTC support
621 DEFAULT
:=m if ALL_KMODS
&& RTC_SUPPORT
622 DEPENDS
:=+kmod-i2c-core
623 KCONFIG
:=CONFIG_RTC_DRV_PT7C4338 \
625 FILES
:=$(LINUX_DIR
)/drivers
/rtc
/rtc-pt7c4338.ko
626 AUTOLOAD
:=$(call AutoProbe
,rtc-pt7c4338
)
629 define KernelPackage
/rtc-pt7c4338
/description
630 Kernel module for Pericom PT7C4338 i2c RTC chip
633 $(eval
$(call KernelPackage
,rtc-pt7c4338
))
635 define KernelPackage
/rtc-rs5c372a
636 SUBMENU
:=$(OTHER_MENU
)
637 TITLE
:=Ricoh R2025S
/D
, RS5C372A
/B
, RV5C386
, RV5C387A
638 DEFAULT
:=m if ALL_KMODS
&& RTC_SUPPORT
639 DEPENDS
:=+kmod-i2c-core
640 KCONFIG
:=CONFIG_RTC_DRV_RS5C372 \
642 FILES
:=$(LINUX_DIR
)/drivers
/rtc
/rtc-rs5c372.ko
643 AUTOLOAD
:=$(call AutoLoad
,50,rtc-rs5c372
,1)
646 define KernelPackage
/rtc-rs5c372a
/description
647 Kernel module for Ricoh R2025S
/D
, RS5C372A
/B
, RV5C386
, RV5C387A RTC on chip module
650 $(eval
$(call KernelPackage
,rtc-rs5c372a
))
653 define KernelPackage
/mtdtests
654 SUBMENU
:=$(OTHER_MENU
)
655 TITLE
:=MTD subsystem tests
656 KCONFIG
:=CONFIG_MTD_TESTS
658 $(LINUX_DIR
)/drivers
/mtd
/tests
/mtd_nandecctest.ko \
659 $(LINUX_DIR
)/drivers
/mtd
/tests
/mtd_oobtest.ko \
660 $(LINUX_DIR
)/drivers
/mtd
/tests
/mtd_pagetest.ko \
661 $(LINUX_DIR
)/drivers
/mtd
/tests
/mtd_readtest.ko \
662 $(LINUX_DIR
)/drivers
/mtd
/tests
/mtd_speedtest.ko \
663 $(LINUX_DIR
)/drivers
/mtd
/tests
/mtd_stresstest.ko \
664 $(LINUX_DIR
)/drivers
/mtd
/tests
/mtd_subpagetest.ko \
665 $(LINUX_DIR
)/drivers
/mtd
/tests
/mtd_torturetest.ko
668 define KernelPackage
/mtdtests
/description
669 Kernel modules for MTD subsystem
/driver testing
672 $(eval
$(call KernelPackage
,mtdtests
))
675 define KernelPackage
/mtdoops
676 SUBMENU
:=$(OTHER_MENU
)
677 TITLE
:=Log panic
/oops to an MTD buffer
678 KCONFIG
:=CONFIG_MTD_OOPS
679 FILES
:=$(LINUX_DIR
)/drivers
/mtd
/mtdoops.ko
682 define KernelPackage
/mtdoops
/description
683 Kernel modules for Log panic
/oops to an MTD buffer
686 $(eval
$(call KernelPackage
,mtdoops
))
689 define KernelPackage
/mtdram
690 SUBMENU
:=$(OTHER_MENU
)
691 TITLE
:=Test MTD driver using RAM
692 KCONFIG
:=CONFIG_MTD_MTDRAM \
693 CONFIG_MTDRAM_TOTAL_SIZE
=4096 \
694 CONFIG_MTDRAM_ERASE_SIZE
=128
695 FILES
:=$(LINUX_DIR
)/drivers
/mtd
/devices
/mtdram.ko
698 define KernelPackage
/mtdram
/description
699 Test MTD driver using RAM
702 $(eval
$(call KernelPackage
,mtdram
))
705 define KernelPackage
/serial-8250
706 SUBMENU
:=$(OTHER_MENU
)
708 KCONFIG
:= CONFIG_SERIAL_8250 \
709 CONFIG_SERIAL_8250_PCI \
710 CONFIG_SERIAL_8250_NR_UARTS
=16 \
711 CONFIG_SERIAL_8250_RUNTIME_UARTS
=16 \
712 CONFIG_SERIAL_8250_EXTENDED
=y \
713 CONFIG_SERIAL_8250_MANY_PORTS
=y \
714 CONFIG_SERIAL_8250_SHARE_IRQ
=y \
715 CONFIG_SERIAL_8250_DETECT_IRQ
=n \
716 CONFIG_SERIAL_8250_RSA
=n
718 $(LINUX_DIR
)/drivers
/tty
/serial
/8250/8250.ko \
719 $(LINUX_DIR
)/drivers
/tty
/serial
/8250/8250_base.ko@ge4.4 \
720 $(if
$(CONFIG_PCI
),$(LINUX_DIR
)/drivers
/tty
/serial
/8250/8250_pci.ko@ge4.4
)
721 AUTOLOAD
:=$(call AutoProbe
,8250 8250_base
8250_pci
)
724 define KernelPackage
/serial-8250
/description
725 Kernel module for
8250 UART based serial ports
728 $(eval
$(call KernelPackage
,serial-8250
))
731 define KernelPackage
/serial-8250-exar
732 SUBMENU
:=$(OTHER_MENU
)
733 TITLE
:=Exar
8250 UARTs
734 KCONFIG
:= CONFIG_SERIAL_8250_EXAR
735 FILES
:=$(LINUX_DIR
)/drivers
/tty
/serial
/8250/8250_exar.ko
736 AUTOLOAD
:=$(call AutoProbe
,8250 8250_base
8250_exar
)
737 DEPENDS
:=+kmod-serial-8250
740 define KernelPackage
/serial-8250-exar
/description
741 Kernel module for Exar serial ports
744 $(eval
$(call KernelPackage
,serial-8250-exar
))
747 define KernelPackage
/regmap-core
748 SUBMENU
:=$(OTHER_MENU
)
749 TITLE
:=Generic register map support
751 KCONFIG
:=CONFIG_REGMAP
752 ifneq ($(wildcard $(LINUX_DIR
)/drivers
/base
/regmap
/regmap-core.ko
),)
753 FILES
:=$(LINUX_DIR
)/drivers
/base
/regmap
/regmap-core.ko
757 define KernelPackage
/regmap-core
/description
758 Generic register map support
761 $(eval
$(call KernelPackage
,regmap-core
))
764 define KernelPackage
/regmap-spi
765 SUBMENU
:=$(OTHER_MENU
)
766 TITLE
:=SPI register map support
767 DEPENDS
:=+kmod-regmap-core
769 KCONFIG
:=CONFIG_REGMAP_SPI \
771 FILES
:=$(LINUX_DIR
)/drivers
/base
/regmap
/regmap-spi.ko
774 define KernelPackage
/regmap-spi
/description
775 SPI register map support
778 $(eval
$(call KernelPackage
,regmap-spi
))
781 define KernelPackage
/regmap-i2c
782 SUBMENU
:=$(OTHER_MENU
)
783 TITLE
:=I2C register map support
784 DEPENDS
:=+kmod-regmap-core
+kmod-i2c-core
786 KCONFIG
:=CONFIG_REGMAP_I2C
787 FILES
:=$(LINUX_DIR
)/drivers
/base
/regmap
/regmap-i2c.ko
790 define KernelPackage
/regmap-i2c
/description
791 I2C register map support
794 $(eval
$(call KernelPackage
,regmap-i2c
))
797 define KernelPackage
/regmap-mmio
798 SUBMENU
:=$(OTHER_MENU
)
799 TITLE
:=MMIO register map support
800 DEPENDS
:=+kmod-regmap-core
802 KCONFIG
:=CONFIG_REGMAP_MMIO
803 FILES
:=$(LINUX_DIR
)/drivers
/base
/regmap
/regmap-mmio.ko
806 define KernelPackage
/regmap-mmio
/description
807 MMIO register map support
810 $(eval
$(call KernelPackage
,regmap-mmio
))
813 define KernelPackage
/ikconfig
814 SUBMENU
:=$(OTHER_MENU
)
815 TITLE
:=Kernel configuration via
/proc
/config.gz
816 KCONFIG
:=CONFIG_IKCONFIG \
817 CONFIG_IKCONFIG_PROC
=y
818 FILES
:=$(LINUX_DIR
)/kernel
/configs.ko
819 AUTOLOAD
:=$(call AutoLoad
,70,configs
)
822 define KernelPackage
/ikconfig
/description
823 Kernel configuration via
/proc
/config.gz
826 $(eval
$(call KernelPackage
,ikconfig
))
829 define KernelPackage
/zram
830 SUBMENU
:=$(OTHER_MENU
)
832 DEPENDS
:=+kmod-lib-lzo
+kmod-lib-lz4
836 CONFIG_ZRAM_DEBUG
=n \
837 CONFIG_PGTABLE_MAPPING
=n \
838 CONFIG_ZRAM_WRITEBACK
=n \
839 CONFIG_ZSMALLOC_STAT
=n \
840 CONFIG_ZRAM_LZ4_COMPRESS
=y
842 $(LINUX_DIR
)/mm
/zsmalloc.ko \
843 $(LINUX_DIR
)/drivers
/block
/zram
/zram.ko
844 AUTOLOAD
:=$(call AutoLoad
,20,zsmalloc zram
)
847 define KernelPackage
/zram
/description
848 Compressed RAM block device support
851 $(eval
$(call KernelPackage
,zram
))
854 define KernelPackage
/pps
855 SUBMENU
:=$(OTHER_MENU
)
858 FILES
:=$(LINUX_DIR
)/drivers
/pps
/pps_core.ko
859 AUTOLOAD
:=$(call AutoLoad
,17,pps_core
,1)
862 define KernelPackage
/pps
/description
863 PPS
(Pulse Per Second
) is a special pulse provided by some GPS
864 antennae. Userland can use it to
get a high-precision time
868 $(eval
$(call KernelPackage
,pps
))
871 define KernelPackage
/pps-gpio
872 SUBMENU
:=$(OTHER_MENU
)
873 TITLE
:=PPS client using GPIO
875 KCONFIG
:=CONFIG_PPS_CLIENT_GPIO
876 FILES
:=$(LINUX_DIR
)/drivers
/pps
/clients
/pps-gpio.ko
877 AUTOLOAD
:=$(call AutoLoad
,18,pps-gpio
,1)
880 define KernelPackage
/pps-gpio
/description
881 Support for a PPS source using GPIO. To be useful you must
882 also register a platform device specifying the GPIO pin and
883 other options
, usually in your board setup.
886 $(eval
$(call KernelPackage
,pps-gpio
))
889 define KernelPackage
/pps-ldisc
890 SUBMENU
:=$(OTHER_MENU
)
891 TITLE
:=PPS line discipline
893 KCONFIG
:=CONFIG_PPS_CLIENT_LDISC
894 FILES
:=$(LINUX_DIR
)/drivers
/pps
/clients
/pps-ldisc.ko
895 AUTOLOAD
:=$(call AutoLoad
,18,pps-ldisc
,1)
898 define KernelPackage
/pps-ldisc
/description
899 Support for a PPS source connected with the CD
(Carrier
900 Detect
) pin of your serial port.
903 $(eval
$(call KernelPackage
,pps-ldisc
))
906 define KernelPackage
/ptp
907 SUBMENU
:=$(OTHER_MENU
)
908 TITLE
:=PTP clock support
911 CONFIG_PTP_1588_CLOCK \
912 CONFIG_NET_PTP_CLASSIFY
=y
913 FILES
:=$(LINUX_DIR
)/drivers
/ptp
/ptp.ko
914 AUTOLOAD
:=$(call AutoLoad
,18,ptp
,1)
917 define KernelPackage
/ptp
/description
918 The IEEE
1588 standard defines a method to precisely
919 synchronize distributed clocks over Ethernet networks.
922 $(eval
$(call KernelPackage
,ptp
))
925 define KernelPackage
/ptp-gianfar
926 SUBMENU
:=$(OTHER_MENU
)
927 TITLE
:=Freescale Gianfar PTP support
928 DEPENDS
:=@TARGET_mpc85xx
+kmod-ptp @
!LINUX_4_19
929 KCONFIG
:=CONFIG_PTP_1588_CLOCK_GIANFAR
930 FILES
:=$(LINUX_DIR
)/drivers
/net
/ethernet
/freescale
/gianfar_ptp.ko
931 AUTOLOAD
:=$(call AutoProbe
,gianfar_ptp
)
934 define KernelPackage
/ptp-gianfar
/description
935 Kernel module for IEEE
1588 support for Freescale
936 Gianfar Ethernet drivers
939 $(eval
$(call KernelPackage
,ptp-gianfar
))
941 define KernelPackage
/ptp-qoriq
942 SUBMENU
:=$(OTHER_MENU
)
943 TITLE
:=Freescale QorIQ PTP support
944 DEPENDS
:=@TARGET_mpc85xx
+kmod-ptp @LINUX_4_19
945 KCONFIG
:=CONFIG_PTP_1588_CLOCK_QORIQ
946 FILES
:=$(LINUX_DIR
)/drivers
/ptp
/ptp_qoriq.o
947 AUTOLOAD
:=$(call AutoProbe
,ptp_qoriq
)
951 define KernelPackage
/ptp-qoriq
/description
952 Kernel module for IEEE
1588 support for Freescale
953 QorIQ Ethernet drivers
956 $(eval
$(call KernelPackage
,ptp-qoriq
))
958 define KernelPackage
/random-core
959 SUBMENU
:=$(OTHER_MENU
)
960 TITLE
:=Hardware Random Number Generator Core support
961 KCONFIG
:=CONFIG_HW_RANDOM
962 FILES
:=$(LINUX_DIR
)/drivers
/char
/hw_random
/rng-core.ko
965 define KernelPackage
/random-core
/description
966 Kernel module for the HW random number generator core infrastructure
969 $(eval
$(call KernelPackage
,random-core
))
972 define KernelPackage
/random-tpm
973 SUBMENU
:=$(OTHER_MENU
)
974 TITLE
:=Hardware Random Number Generator TPM support
975 KCONFIG
:=CONFIG_HW_RANDOM_TPM
976 FILES
:=$(LINUX_DIR
)/drivers
/char
/hw_random
/tpm-rng.ko
977 DEPENDS
:= +kmod-random-core
+kmod-tpm @
!LINUX_4_19
978 AUTOLOAD
:=$(call AutoProbe
,tpm-rng
)
981 define KernelPackage
/random-tpm
/description
982 Kernel module for the Random Number Generator
983 in the Trusted Platform Module.
986 $(eval
$(call KernelPackage
,random-tpm
))
988 define KernelPackage
/thermal
989 SUBMENU
:=$(OTHER_MENU
)
990 TITLE
:=Generic Thermal sysfs driver
991 DEPENDS
:=+kmod-hwmon-core
995 CONFIG_THERMAL_OF
=y \
996 CONFIG_CPU_THERMAL
=y \
997 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE
=y \
998 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE
=n \
999 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE
=n \
1000 CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS
=0 \
1001 CONFIG_THERMAL_GOV_FAIR_SHARE
=n \
1002 CONFIG_THERMAL_GOV_STEP_WISE
=y \
1003 CONFIG_THERMAL_GOV_USER_SPACE
=n \
1004 CONFIG_THERMAL_HWMON
=y \
1005 CONFIG_THERMAL_EMULATION
=n
1006 FILES
:=$(LINUX_DIR
)/drivers
/thermal
/thermal_sys.ko
1007 AUTOLOAD
:=$(call AutoProbe
,thermal_sys
)
1010 define KernelPackage
/thermal
/description
1011 Generic Thermal Sysfs driver offers a generic mechanism for thermal
1012 management. Usually it
's made up of one or more thermal zone and cooling
1016 $(eval $(call KernelPackage,thermal))
1019 define KernelPackage/gpio-beeper
1020 SUBMENU:=$(OTHER_MENU)
1021 TITLE:=GPIO beeper support
1022 DEPENDS:=+kmod-input-core
1024 CONFIG_INPUT_MISC=y \
1025 CONFIG_INPUT_GPIO_BEEPER
1027 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
1028 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
1031 define KernelPackage/gpio-beeper/description
1032 This enables playing beeps through an GPIO-connected buzzer
1035 $(eval $(call KernelPackage,gpio-beeper))
1038 define KernelPackage/echo
1039 SUBMENU:=$(OTHER_MENU)
1040 TITLE:=Line Echo Canceller
1041 KCONFIG:=CONFIG_ECHO
1042 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
1043 AUTOLOAD:=$(call AutoLoad,50,echo)
1046 define KernelPackage/echo/description
1047 This driver provides line echo cancelling support for mISDN and
1051 $(eval $(call KernelPackage,echo))
1054 define KernelPackage/bmp085
1055 SUBMENU:=$(OTHER_MENU)
1056 TITLE:=BMP085/BMP18x pressure sensor
1057 DEPENDS:= +kmod-regmap-core
1058 KCONFIG:= CONFIG_BMP085
1059 FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
1062 define KernelPackage/bmp085/description
1063 This driver adds support for Bosch Sensortec's digital pressure
1064 sensors BMP085 and BMP18x.
1067 $(eval
$(call KernelPackage
,bmp085
))
1070 define KernelPackage
/bmp085-i2c
1071 SUBMENU
:=$(OTHER_MENU
)
1072 TITLE
:=BMP085
/BMP18x pressure sensor I2C
1073 DEPENDS
:= +kmod-bmp085
1074 KCONFIG
:= CONFIG_BMP085_I2C
1075 FILES
:= $(LINUX_DIR
)/drivers
/misc
/bmp085-i2c.ko
1076 AUTOLOAD
:=$(call AutoProbe
,bmp085-i2c
)
1078 define KernelPackage
/bmp085-i2c
/description
1079 This driver adds support for Bosch Sensortec
's digital pressure
1080 sensor connected via I2C.
1083 $(eval $(call KernelPackage,bmp085-i2c))
1086 define KernelPackage/bmp085-spi
1087 SUBMENU:=$(OTHER_MENU)
1088 TITLE:=BMP085/BMP18x pressure sensor SPI
1089 DEPENDS:= +kmod-bmp085
1090 KCONFIG:= CONFIG_BMP085_SPI
1091 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
1092 AUTOLOAD:=$(call AutoProbe,bmp085-spi)
1094 define KernelPackage/bmp085-spi/description
1095 This driver adds support for Bosch Sensortec's digital pressure
1096 sensor connected via SPI.
1099 $(eval
$(call KernelPackage
,bmp085-spi
))
1101 define KernelPackage
/tpm
1102 SUBMENU
:=$(OTHER_MENU
)
1103 TITLE
:=TPM Hardware Support
1104 DEPENDS
:= +!LINUX_4_14
:kmod-random-core
1105 KCONFIG
:= CONFIG_TCG_TPM
1106 FILES
:= $(LINUX_DIR
)/drivers
/char
/tpm
/tpm.ko
1107 AUTOLOAD
:=$(call AutoLoad
,10,tpm
,1)
1110 define KernelPackage
/tpm
/description
1111 This enables TPM Hardware Support.
1114 $(eval
$(call KernelPackage
,tpm
))
1116 define KernelPackage
/tpm-tis
1117 SUBMENU
:=$(OTHER_MENU
)
1118 TITLE
:=TPM TIS
1.2 Interface
/ TPM
2.0 FIFO Interface
1119 DEPENDS
:= @TARGET_x86
+kmod-tpm
1120 KCONFIG
:= CONFIG_TCG_TIS
1122 $(LINUX_DIR
)/drivers
/char
/tpm
/tpm_tis.ko \
1123 $(LINUX_DIR
)/drivers
/char
/tpm
/tpm_tis_core.ko
1124 AUTOLOAD
:=$(call AutoLoad
,20,tpm_tis
,1)
1127 define KernelPackage
/tpm-tis
/description
1128 If you have a TPM security chip that is compliant with the
1129 TCG TIS
1.2 TPM specification
(TPM1.2
) or the TCG PTP FIFO
1130 specification
(TPM2.0
) say Yes and it will be accessible from
1134 $(eval
$(call KernelPackage
,tpm-tis
))
1136 define KernelPackage
/tpm-i2c-atmel
1137 SUBMENU
:=$(OTHER_MENU
)
1138 TITLE
:=TPM I2C Atmel Support
1139 DEPENDS
:= +kmod-tpm
+kmod-i2c-core
1140 KCONFIG
:= CONFIG_TCG_TIS_I2C_ATMEL
1141 FILES
:= $(LINUX_DIR
)/drivers
/char
/tpm
/tpm_i2c_atmel.ko
1142 AUTOLOAD
:=$(call AutoLoad
,40,tpm_i2c_atmel
,1)
1145 define KernelPackage
/tpm-i2c-atmel
/description
1146 This enables the TPM Interface Specification
1.2 Interface
(I2C
- Atmel
)
1149 $(eval
$(call KernelPackage
,tpm-i2c-atmel
))
1151 define KernelPackage
/tpm-i2c-infineon
1152 SUBMENU
:=$(OTHER_MENU
)
1153 TITLE
:= TPM I2C Infineon driver
1154 DEPENDS
:= +kmod-tpm
+kmod-i2c-core
1155 KCONFIG
:= CONFIG_TCG_TIS_I2C_INFINEON
1156 FILES
:= $(LINUX_DIR
)/drivers
/char
/tpm
/tpm_i2c_infineon.ko
1157 AUTOLOAD
:= $(call AutoLoad
,40,tpm_i2c_infineon
,1)
1160 define KernelPackage
/tpm-i2c-infineon
/description
1161 This enables the TPM Interface Specification
1.2 Interface
(I2C
- Infineon
)
1164 $(eval
$(call KernelPackage
,tpm-i2c-infineon
))
1167 define KernelPackage
/w83627hf-wdt
1168 SUBMENU
:=$(OTHER_MENU
)
1169 TITLE
:=Winbond
83627HF Watchdog Timer
1170 KCONFIG
:=CONFIG_W83627HF_WDT
1171 FILES
:=$(LINUX_DIR
)/drivers
/$(WATCHDOG_DIR
)/w83627hf_wdt.ko
1172 AUTOLOAD
:=$(call AutoLoad
,50,w83627hf-wdt
,1)
1175 define KernelPackage
/w83627hf-wdt
/description
1176 Kernel module for Winbond
83627HF Watchdog Timer
1179 $(eval
$(call KernelPackage
,w83627hf-wdt
))
1182 define KernelPackage
/itco-wdt
1183 SUBMENU
:=$(OTHER_MENU
)
1184 TITLE
:=Intel iTCO Watchdog Timer
1185 KCONFIG
:=CONFIG_ITCO_WDT \
1186 CONFIG_ITCO_VENDOR_SUPPORT
=y
1187 FILES
:=$(LINUX_DIR
)/drivers
/$(WATCHDOG_DIR
)/iTCO_wdt.ko \
1188 $(LINUX_DIR
)/drivers
/$(WATCHDOG_DIR
)/iTCO_vendor_support.ko
1189 AUTOLOAD
:=$(call AutoLoad
,50,iTCO_vendor_support iTCO_wdt
,1)
1192 define KernelPackage
/itco-wdt
/description
1193 Kernel module for Intel iTCO Watchdog Timer
1196 $(eval
$(call KernelPackage
,itco-wdt
))
1199 define KernelPackage
/it87-wdt
1200 SUBMENU
:=$(OTHER_MENU
)
1201 TITLE
:=ITE IT87 Watchdog Timer
1202 KCONFIG
:=CONFIG_IT87_WDT
1203 FILES
:=$(LINUX_DIR
)/drivers
/$(WATCHDOG_DIR
)/it87_wdt.ko
1204 AUTOLOAD
:=$(call AutoLoad
,50,it87-wdt
,1)
1205 MODPARAMS.it87-wdt
:= \
1210 define KernelPackage
/it87-wdt
/description
1211 Kernel module for ITE IT87 Watchdog Timer
1214 $(eval
$(call KernelPackage
,it87-wdt
))