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