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