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