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