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