kirkwood: move sata features to modules
[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/sdhci
395   SUBMENU:=$(OTHER_MENU)
396   TITLE:=Secure Digital Host Controller Interface support
397   DEPENDS:=+kmod-mmc
398   KCONFIG:= \
399         CONFIG_MMC_SDHCI \
400         CONFIG_MMC_SDHCI_PLTFM \
401         CONFIG_MMC_SDHCI_PCI=n
402   FILES:= \
403         $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
404         $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
405
406   AUTOLOAD:=$(call AutoProbe,sdhci-pltfm,1)
407 endef
408
409 define KernelPackage/sdhci/description
410  Kernel support for SDHCI Hosts
411 endef
412
413 $(eval $(call KernelPackage,sdhci))
414
415
416 define KernelPackage/rfkill
417   SUBMENU:=$(OTHER_MENU)
418   TITLE:=RF switch subsystem support
419   DEPENDS:=@USE_RFKILL +kmod-input-core
420   KCONFIG:= \
421     CONFIG_RFKILL_FULL \
422     CONFIG_RFKILL_INPUT=y \
423     CONFIG_RFKILL_LEDS=y
424   FILES:= \
425     $(LINUX_DIR)/net/rfkill/rfkill.ko
426   AUTOLOAD:=$(call AutoLoad,20,rfkill)
427 endef
428
429 define KernelPackage/rfkill/description
430  Say Y here if you want to have control over RF switches
431  found on many WiFi and Bluetooth cards
432 endef
433
434 $(eval $(call KernelPackage,rfkill))
435
436
437 define KernelPackage/softdog
438   SUBMENU:=$(OTHER_MENU)
439   TITLE:=Software watchdog driver
440   KCONFIG:=CONFIG_SOFT_WATCHDOG \
441         CONFIG_SOFT_WATCHDOG_PRETIMEOUT=n
442   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
443   AUTOLOAD:=$(call AutoLoad,50,softdog,1)
444 endef
445
446 define KernelPackage/softdog/description
447  Software watchdog driver
448 endef
449
450 $(eval $(call KernelPackage,softdog))
451
452
453 define KernelPackage/ssb
454   SUBMENU:=$(OTHER_MENU)
455   TITLE:=Silicon Sonics Backplane glue code
456   DEPENDS:=@PCI_SUPPORT @!TARGET_bcm47xx @!TARGET_bcm63xx
457   KCONFIG:=\
458         CONFIG_SSB \
459         CONFIG_SSB_B43_PCI_BRIDGE=y \
460         CONFIG_SSB_DRIVER_MIPS=n \
461         CONFIG_SSB_DRIVER_PCICORE=y \
462         CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
463         CONFIG_SSB_PCIHOST=y \
464         CONFIG_SSB_PCIHOST_POSSIBLE=y \
465         CONFIG_SSB_POSSIBLE=y \
466         CONFIG_SSB_SPROM=y \
467         CONFIG_SSB_SILENT=y
468   FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
469   AUTOLOAD:=$(call AutoLoad,18,ssb,1)
470 endef
471
472 define KernelPackage/ssb/description
473  Silicon Sonics Backplane glue code.
474 endef
475
476 $(eval $(call KernelPackage,ssb))
477
478
479 define KernelPackage/bcma
480   SUBMENU:=$(OTHER_MENU)
481   TITLE:=BCMA support
482   DEPENDS:=@PCI_SUPPORT @!TARGET_bcm47xx @!TARGET_bcm53xx
483   KCONFIG:=\
484         CONFIG_BCMA \
485         CONFIG_BCMA_POSSIBLE=y \
486         CONFIG_BCMA_BLOCKIO=y \
487         CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
488         CONFIG_BCMA_HOST_PCI=y \
489         CONFIG_BCMA_HOST_SOC=n \
490         CONFIG_BCMA_DRIVER_MIPS=n \
491         CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
492         CONFIG_BCMA_DRIVER_GMAC_CMN=n \
493         CONFIG_BCMA_DEBUG=n
494   FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
495   AUTOLOAD:=$(call AutoLoad,29,bcma)
496 endef
497
498 define KernelPackage/bcma/description
499  Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
500 endef
501
502 $(eval $(call KernelPackage,bcma))
503
504
505 define KernelPackage/rtc-ds1307
506   SUBMENU:=$(OTHER_MENU)
507   TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
508   DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
509   DEPENDS:=+kmod-i2c-core +kmod-regmap-i2c +kmod-hwmon-core
510   KCONFIG:=CONFIG_RTC_DRV_DS1307 \
511         CONFIG_RTC_CLASS=y
512   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
513   AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
514 endef
515
516 define KernelPackage/rtc-ds1307/description
517  Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
518  Epson RX-8025 and various other compatible RTC chips connected via I2C.
519 endef
520
521 $(eval $(call KernelPackage,rtc-ds1307))
522
523
524 define KernelPackage/rtc-ds1374
525   SUBMENU:=$(OTHER_MENU)
526   TITLE:=Dallas/Maxim DS1374 RTC support
527   DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
528   DEPENDS:=+kmod-i2c-core
529   KCONFIG:=CONFIG_RTC_DRV_DS1374 \
530         CONFIG_RTC_DRV_DS1374_WDT=n \
531         CONFIG_RTC_CLASS=y
532   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko
533   AUTOLOAD:=$(call AutoProbe,rtc-ds1374)
534 endef
535
536 define KernelPackage/rtc-ds1374/description
537  Kernel module for Dallas/Maxim DS1374.
538 endef
539
540 $(eval $(call KernelPackage,rtc-ds1374))
541
542
543 define KernelPackage/rtc-ds1672
544   SUBMENU:=$(OTHER_MENU)
545   TITLE:=Dallas/Maxim DS1672 RTC support
546   DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
547   DEPENDS:=+kmod-i2c-core
548   KCONFIG:=CONFIG_RTC_DRV_DS1672 \
549         CONFIG_RTC_CLASS=y
550   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
551   AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
552 endef
553
554 define KernelPackage/rtc-ds1672/description
555  Kernel module for Dallas/Maxim DS1672 RTC.
556 endef
557
558 $(eval $(call KernelPackage,rtc-ds1672))
559
560
561 define KernelPackage/rtc-em3027
562   SUBMENU:=$(OTHER_MENU)
563   TITLE:=Microelectronic EM3027 RTC support
564   DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
565   DEPENDS:=+kmod-i2c-core
566   KCONFIG:=CONFIG_RTC_DRV_EM3027 \
567         CONFIG_RTC_CLASS=y
568   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-em3027.ko
569   AUTOLOAD:=$(call AutoProbe,rtc-em3027)
570 endef
571
572 define KernelPackage/rtc-em3027/description
573  Kernel module for Microelectronic EM3027 RTC.
574 endef
575
576 $(eval $(call KernelPackage,rtc-em3027))
577
578
579 define KernelPackage/rtc-isl1208
580   SUBMENU:=$(OTHER_MENU)
581   TITLE:=Intersil ISL1208 RTC support
582   DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
583   DEPENDS:=+kmod-i2c-core
584   KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
585         CONFIG_RTC_CLASS=y
586   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
587   AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
588 endef
589
590 define KernelPackage/rtc-isl1208/description
591  Kernel module for Intersil ISL1208 RTC.
592 endef
593
594 $(eval $(call KernelPackage,rtc-isl1208))
595
596
597 define KernelPackage/rtc-pcf8563
598   SUBMENU:=$(OTHER_MENU)
599   TITLE:=Philips PCF8563/Epson RTC8564 RTC support
600   DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
601   DEPENDS:=+kmod-i2c-core
602   KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
603         CONFIG_RTC_CLASS=y
604   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
605   AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
606 endef
607
608 define KernelPackage/rtc-pcf8563/description
609  Kernel module for Philips PCF8563 RTC chip.
610  The Epson RTC8564 should work as well.
611 endef
612
613 $(eval $(call KernelPackage,rtc-pcf8563))
614
615
616 define KernelPackage/rtc-pcf2123
617   SUBMENU:=$(OTHER_MENU)
618   TITLE:=Philips PCF2123 RTC support
619   DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
620   DEPENDS:=+LINUX_5_4:kmod-regmap-spi
621   KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
622         CONFIG_RTC_CLASS=y
623   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
624   AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
625 endef
626
627 define KernelPackage/rtc-pcf2123/description
628  Kernel module for Philips PCF2123 RTC chip
629 endef
630
631 $(eval $(call KernelPackage,rtc-pcf2123))
632
633 define KernelPackage/rtc-pcf2127
634   SUBMENU:=$(OTHER_MENU)
635   TITLE:=NXP PCF2127 and PCF2129 RTC support
636   DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
637   DEPENDS:=+kmod-i2c-core +kmod-regmap-spi
638   KCONFIG:=CONFIG_RTC_DRV_PCF2127 \
639         CONFIG_RTC_CLASS=y
640   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2127.ko
641   AUTOLOAD:=$(call AutoProbe,rtc-pcf2127)
642 endef
643
644 define KernelPackage/rtc-pcf2127/description
645  Kernel module for NXP PCF2127 and PCF2129 RTC chip
646 endef
647
648 $(eval $(call KernelPackage,rtc-pcf2127))
649
650 define KernelPackage/rtc-pt7c4338
651   SUBMENU:=$(OTHER_MENU)
652   TITLE:=Pericom PT7C4338 RTC support
653   DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
654   DEPENDS:=+kmod-i2c-core
655   KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
656         CONFIG_RTC_CLASS=y
657   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
658   AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
659 endef
660
661 define KernelPackage/rtc-pt7c4338/description
662  Kernel module for Pericom PT7C4338 i2c RTC chip
663 endef
664
665 $(eval $(call KernelPackage,rtc-pt7c4338))
666
667 define KernelPackage/rtc-rs5c372a
668   SUBMENU:=$(OTHER_MENU)
669   TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
670   DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
671   DEPENDS:=+kmod-i2c-core
672   KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
673         CONFIG_RTC_CLASS=y
674   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
675   AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
676 endef
677
678 define KernelPackage/rtc-rs5c372a/description
679  Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
680 endef
681
682 $(eval $(call KernelPackage,rtc-rs5c372a))
683
684 define KernelPackage/rtc-rx8025
685   SUBMENU:=$(OTHER_MENU)
686   TITLE:=Epson RX-8025 / RX-8035
687   DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
688   DEPENDS:=+kmod-i2c-core
689   KCONFIG:=CONFIG_RTC_DRV_RX8025 \
690         CONFIG_RTC_CLASS=y
691   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rx8025.ko
692   AUTOLOAD:=$(call AutoLoad,50,rtc-rx8025,1)
693 endef
694
695 define KernelPackage/rtc-rx8025/description
696  Kernel module for Epson RX-8025 and RX-8035 I2C RTC chip
697 endef
698
699 $(eval $(call KernelPackage,rtc-rx8025))
700
701
702 define KernelPackage/mtdtests
703   SUBMENU:=$(OTHER_MENU)
704   TITLE:=MTD subsystem tests
705   KCONFIG:=CONFIG_MTD_TESTS
706   FILES:=\
707         $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
708         $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
709         $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
710         $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
711         $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
712         $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
713         $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
714         $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
715 endef
716
717 define KernelPackage/mtdtests/description
718  Kernel modules for MTD subsystem/driver testing
719 endef
720
721 $(eval $(call KernelPackage,mtdtests))
722
723
724 define KernelPackage/mtdoops
725   SUBMENU:=$(OTHER_MENU)
726   TITLE:=Log panic/oops to an MTD buffer
727   KCONFIG:=CONFIG_MTD_OOPS
728   FILES:=$(LINUX_DIR)/drivers/mtd/mtdoops.ko
729 endef
730
731 define KernelPackage/mtdoops/description
732  Kernel modules for Log panic/oops to an MTD buffer
733 endef
734
735 $(eval $(call KernelPackage,mtdoops))
736
737
738 define KernelPackage/mtdram
739   SUBMENU:=$(OTHER_MENU)
740   TITLE:=Test MTD driver using RAM
741   KCONFIG:=CONFIG_MTD_MTDRAM \
742     CONFIG_MTDRAM_TOTAL_SIZE=4096 \
743     CONFIG_MTDRAM_ERASE_SIZE=128
744   FILES:=$(LINUX_DIR)/drivers/mtd/devices/mtdram.ko
745 endef
746
747 define KernelPackage/mtdram/description
748   Test MTD driver using RAM
749 endef
750
751 $(eval $(call KernelPackage,mtdram))
752
753
754 define KernelPackage/serial-8250
755   SUBMENU:=$(OTHER_MENU)
756   TITLE:=8250 UARTs
757   KCONFIG:= CONFIG_SERIAL_8250 \
758         CONFIG_SERIAL_8250_PCI \
759         CONFIG_SERIAL_8250_NR_UARTS=16 \
760         CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
761         CONFIG_SERIAL_8250_EXTENDED=y \
762         CONFIG_SERIAL_8250_MANY_PORTS=y \
763         CONFIG_SERIAL_8250_SHARE_IRQ=y \
764         CONFIG_SERIAL_8250_DETECT_IRQ=n \
765         CONFIG_SERIAL_8250_RSA=n
766   FILES:= \
767         $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
768         $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko \
769         $(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/8250_pci.ko) \
770         $(if $(CONFIG_GPIOLIB),$(LINUX_DIR)/drivers/tty/serial/serial_mctrl_gpio.ko@ge5.3)
771   AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci)
772 endef
773
774 define KernelPackage/serial-8250/description
775  Kernel module for 8250 UART based serial ports
776 endef
777
778 $(eval $(call KernelPackage,serial-8250))
779
780
781 define KernelPackage/serial-8250-exar
782   SUBMENU:=$(OTHER_MENU)
783   TITLE:=Exar 8250 UARTs
784   KCONFIG:= CONFIG_SERIAL_8250_EXAR
785   FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250_exar.ko
786   AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_exar)
787   DEPENDS:=+kmod-serial-8250
788 endef
789
790 define KernelPackage/serial-8250-exar/description
791  Kernel module for Exar serial ports
792 endef
793
794 $(eval $(call KernelPackage,serial-8250-exar))
795
796
797 define KernelPackage/regmap-core
798   SUBMENU:=$(OTHER_MENU)
799   TITLE:=Generic register map support
800   HIDDEN:=1
801   KCONFIG:=CONFIG_REGMAP
802 ifneq ($(wildcard $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko),)
803   FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-core.ko
804 endif
805 endef
806
807 define KernelPackage/regmap-core/description
808  Generic register map support
809 endef
810
811 $(eval $(call KernelPackage,regmap-core))
812
813
814 define KernelPackage/regmap-spi
815   SUBMENU:=$(OTHER_MENU)
816   TITLE:=SPI register map support
817   DEPENDS:=+kmod-regmap-core
818   HIDDEN:=1
819   KCONFIG:=CONFIG_REGMAP_SPI \
820            CONFIG_SPI=y
821   FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko
822 endef
823
824 define KernelPackage/regmap-spi/description
825  SPI register map support
826 endef
827
828 $(eval $(call KernelPackage,regmap-spi))
829
830
831 define KernelPackage/regmap-i2c
832   SUBMENU:=$(OTHER_MENU)
833   TITLE:=I2C register map support
834   DEPENDS:=+kmod-regmap-core +kmod-i2c-core
835   HIDDEN:=1
836   KCONFIG:=CONFIG_REGMAP_I2C
837   FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko
838 endef
839
840 define KernelPackage/regmap-i2c/description
841  I2C register map support
842 endef
843
844 $(eval $(call KernelPackage,regmap-i2c))
845
846
847 define KernelPackage/regmap-mmio
848   SUBMENU:=$(OTHER_MENU)
849   TITLE:=MMIO register map support
850   DEPENDS:=+kmod-regmap-core
851   HIDDEN:=1
852   KCONFIG:=CONFIG_REGMAP_MMIO
853   FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko
854 endef
855
856 define KernelPackage/regmap-mmio/description
857  MMIO register map support
858 endef
859
860 $(eval $(call KernelPackage,regmap-mmio))
861
862
863 define KernelPackage/ikconfig
864   SUBMENU:=$(OTHER_MENU)
865   TITLE:=Kernel configuration via /proc/config.gz
866   KCONFIG:=CONFIG_IKCONFIG \
867            CONFIG_IKCONFIG_PROC=y
868   FILES:=$(LINUX_DIR)/kernel/configs.ko
869   AUTOLOAD:=$(call AutoLoad,70,configs)
870 endef
871
872 define KernelPackage/ikconfig/description
873  Kernel configuration via /proc/config.gz
874 endef
875
876 $(eval $(call KernelPackage,ikconfig))
877
878
879 define KernelPackage/zram
880   SUBMENU:=$(OTHER_MENU)
881   TITLE:=ZRAM
882   DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
883   KCONFIG:= \
884         CONFIG_ZSMALLOC \
885         CONFIG_ZRAM \
886         CONFIG_ZRAM_DEBUG=n \
887         CONFIG_PGTABLE_MAPPING=n \
888         CONFIG_ZRAM_WRITEBACK=n \
889         CONFIG_ZSMALLOC_STAT=n \
890         CONFIG_ZRAM_LZ4_COMPRESS=y
891   FILES:= \
892         $(LINUX_DIR)/mm/zsmalloc.ko \
893         $(LINUX_DIR)/drivers/block/zram/zram.ko
894   AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
895 endef
896
897 define KernelPackage/zram/description
898  Compressed RAM block device support
899 endef
900
901 $(eval $(call KernelPackage,zram))
902
903
904 define KernelPackage/pps
905   SUBMENU:=$(OTHER_MENU)
906   TITLE:=PPS support
907   KCONFIG:=CONFIG_PPS
908   FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
909   AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
910 endef
911
912 define KernelPackage/pps/description
913  PPS (Pulse Per Second) is a special pulse provided by some GPS
914  antennae. Userland can use it to get a high-precision time
915  reference.
916 endef
917
918 $(eval $(call KernelPackage,pps))
919
920
921 define KernelPackage/pps-gpio
922   SUBMENU:=$(OTHER_MENU)
923   TITLE:=PPS client using GPIO
924   DEPENDS:=+kmod-pps
925   KCONFIG:=CONFIG_PPS_CLIENT_GPIO
926   FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
927   AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
928 endef
929
930 define KernelPackage/pps-gpio/description
931  Support for a PPS source using GPIO. To be useful you must
932  also register a platform device specifying the GPIO pin and
933  other options, usually in your board setup.
934 endef
935
936 $(eval $(call KernelPackage,pps-gpio))
937
938
939 define KernelPackage/pps-ldisc
940   SUBMENU:=$(OTHER_MENU)
941   TITLE:=PPS line discipline
942   DEPENDS:=+kmod-pps
943   KCONFIG:=CONFIG_PPS_CLIENT_LDISC
944   FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
945   AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
946 endef
947
948 define KernelPackage/pps-ldisc/description
949  Support for a PPS source connected with the CD (Carrier
950  Detect) pin of your serial port.
951 endef
952
953 $(eval $(call KernelPackage,pps-ldisc))
954
955
956 define KernelPackage/ptp
957   SUBMENU:=$(OTHER_MENU)
958   TITLE:=PTP clock support
959   DEPENDS:=+kmod-pps
960   KCONFIG:= \
961         CONFIG_PTP_1588_CLOCK \
962         CONFIG_NET_PTP_CLASSIFY=y
963   FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
964   AUTOLOAD:=$(call AutoLoad,18,ptp,1)
965 endef
966
967 define KernelPackage/ptp/description
968  The IEEE 1588 standard defines a method to precisely
969  synchronize distributed clocks over Ethernet networks.
970 endef
971
972 $(eval $(call KernelPackage,ptp))
973
974
975 define KernelPackage/ptp-gianfar
976   SUBMENU:=$(OTHER_MENU)
977   TITLE:=Freescale Gianfar PTP support
978   DEPENDS:=@TARGET_mpc85xx +kmod-ptp @LINUX_4_14
979   KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
980   FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
981   AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
982 endef
983
984 define KernelPackage/ptp-gianfar/description
985  Kernel module for IEEE 1588 support for Freescale
986  Gianfar Ethernet drivers
987 endef
988
989 $(eval $(call KernelPackage,ptp-gianfar))
990
991 define KernelPackage/ptp-qoriq
992   SUBMENU:=$(OTHER_MENU)
993   TITLE:=Freescale QorIQ PTP support
994   DEPENDS:=@TARGET_mpc85xx +kmod-ptp @!LINUX_4_14
995   KCONFIG:=CONFIG_PTP_1588_CLOCK_QORIQ
996   FILES:=$(LINUX_DIR)/drivers/ptp/ptp-qoriq.ko
997   AUTOLOAD:=$(call AutoProbe,ptp-qoriq)
998 endef
999
1000
1001 define KernelPackage/ptp-qoriq/description
1002  Kernel module for IEEE 1588 support for Freescale
1003  QorIQ Ethernet drivers
1004 endef
1005
1006 $(eval $(call KernelPackage,ptp-qoriq))
1007
1008 define KernelPackage/random-core
1009   SUBMENU:=$(OTHER_MENU)
1010   TITLE:=Hardware Random Number Generator Core support
1011   KCONFIG:=CONFIG_HW_RANDOM
1012   FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
1013 endef
1014
1015 define KernelPackage/random-core/description
1016  Kernel module for the HW random number generator core infrastructure
1017 endef
1018
1019 $(eval $(call KernelPackage,random-core))
1020
1021
1022 define KernelPackage/random-tpm
1023   SUBMENU:=$(OTHER_MENU)
1024   TITLE:=Hardware Random Number Generator TPM support
1025   KCONFIG:=CONFIG_HW_RANDOM_TPM
1026   FILES:=$(LINUX_DIR)/drivers/char/hw_random/tpm-rng.ko
1027   DEPENDS:= +kmod-random-core +kmod-tpm @LINUX_4_14
1028   AUTOLOAD:=$(call AutoProbe,tpm-rng)
1029 endef
1030
1031 define KernelPackage/random-tpm/description
1032  Kernel module for the Random Number Generator
1033  in the Trusted Platform Module.
1034 endef
1035
1036 $(eval $(call KernelPackage,random-tpm))
1037
1038 define KernelPackage/thermal
1039   SUBMENU:=$(OTHER_MENU)
1040   TITLE:=Generic Thermal sysfs driver
1041   DEPENDS:=+kmod-hwmon-core
1042   HIDDEN:=1
1043   KCONFIG:= \
1044         CONFIG_THERMAL \
1045         CONFIG_THERMAL_OF=y \
1046         CONFIG_CPU_THERMAL=y \
1047         CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
1048         CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
1049         CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
1050         CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 \
1051         CONFIG_THERMAL_GOV_FAIR_SHARE=n \
1052         CONFIG_THERMAL_GOV_STEP_WISE=y \
1053         CONFIG_THERMAL_GOV_USER_SPACE=n \
1054         CONFIG_THERMAL_HWMON=y \
1055         CONFIG_THERMAL_EMULATION=n
1056   FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
1057   AUTOLOAD:=$(call AutoProbe,thermal_sys)
1058 endef
1059
1060 define KernelPackage/thermal/description
1061  Generic Thermal Sysfs driver offers a generic mechanism for thermal
1062  management. Usually it's made up of one or more thermal zone and cooling
1063  device.
1064 endef
1065
1066 $(eval $(call KernelPackage,thermal))
1067
1068
1069 define KernelPackage/gpio-beeper
1070   SUBMENU:=$(OTHER_MENU)
1071   TITLE:=GPIO beeper support
1072   DEPENDS:=+kmod-input-core
1073   KCONFIG:= \
1074         CONFIG_INPUT_MISC=y \
1075         CONFIG_INPUT_GPIO_BEEPER
1076   FILES:= \
1077         $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
1078   AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
1079 endef
1080
1081 define KernelPackage/gpio-beeper/description
1082  This enables playing beeps through an GPIO-connected buzzer
1083 endef
1084
1085 $(eval $(call KernelPackage,gpio-beeper))
1086
1087
1088 define KernelPackage/echo
1089   SUBMENU:=$(OTHER_MENU)
1090   TITLE:=Line Echo Canceller
1091   KCONFIG:=CONFIG_ECHO
1092   FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
1093   AUTOLOAD:=$(call AutoLoad,50,echo)
1094 endef
1095
1096 define KernelPackage/echo/description
1097  This driver provides line echo cancelling support for mISDN and
1098  DAHDI drivers
1099 endef
1100
1101 $(eval $(call KernelPackage,echo))
1102
1103
1104 define KernelPackage/bmp085
1105   SUBMENU:=$(OTHER_MENU)
1106   TITLE:=BMP085/BMP18x pressure sensor
1107   DEPENDS:= +kmod-regmap-core
1108   KCONFIG:= CONFIG_BMP085
1109   FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
1110 endef
1111
1112 define KernelPackage/bmp085/description
1113  This driver adds support for Bosch Sensortec's digital pressure
1114  sensors BMP085 and BMP18x.
1115 endef
1116
1117 $(eval $(call KernelPackage,bmp085))
1118
1119
1120 define KernelPackage/bmp085-i2c
1121   SUBMENU:=$(OTHER_MENU)
1122   TITLE:=BMP085/BMP18x pressure sensor I2C
1123   DEPENDS:= +kmod-bmp085
1124   KCONFIG:= CONFIG_BMP085_I2C
1125   FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
1126   AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
1127 endef
1128 define KernelPackage/bmp085-i2c/description
1129  This driver adds support for Bosch Sensortec's digital pressure
1130  sensor connected via I2C.
1131 endef
1132
1133 $(eval $(call KernelPackage,bmp085-i2c))
1134
1135
1136 define KernelPackage/bmp085-spi
1137   SUBMENU:=$(OTHER_MENU)
1138   TITLE:=BMP085/BMP18x pressure sensor SPI
1139   DEPENDS:= +kmod-bmp085
1140   KCONFIG:= CONFIG_BMP085_SPI
1141   FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
1142   AUTOLOAD:=$(call AutoProbe,bmp085-spi)
1143 endef
1144 define KernelPackage/bmp085-spi/description
1145  This driver adds support for Bosch Sensortec's digital pressure
1146  sensor connected via SPI.
1147 endef
1148
1149 $(eval $(call KernelPackage,bmp085-spi))
1150
1151 define KernelPackage/tpm
1152   SUBMENU:=$(OTHER_MENU)
1153   TITLE:=TPM Hardware Support
1154   DEPENDS:= +!LINUX_4_14:kmod-random-core
1155   KCONFIG:= CONFIG_TCG_TPM
1156   FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
1157   AUTOLOAD:=$(call AutoLoad,10,tpm,1)
1158 endef
1159
1160 define KernelPackage/tpm/description
1161         This enables TPM Hardware Support.
1162 endef
1163
1164 $(eval $(call KernelPackage,tpm))
1165
1166 define KernelPackage/tpm-tis
1167   SUBMENU:=$(OTHER_MENU)
1168   TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
1169         DEPENDS:= @TARGET_x86 +kmod-tpm
1170   KCONFIG:= CONFIG_TCG_TIS
1171   FILES:= \
1172         $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
1173         $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
1174   AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
1175 endef
1176
1177 define KernelPackage/tpm-tis/description
1178         If you have a TPM security chip that is compliant with the
1179         TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
1180         specification (TPM2.0) say Yes and it will be accessible from
1181         within Linux.
1182 endef
1183
1184 $(eval $(call KernelPackage,tpm-tis))
1185
1186 define KernelPackage/tpm-i2c-atmel
1187   SUBMENU:=$(OTHER_MENU)
1188   TITLE:=TPM I2C Atmel Support
1189   DEPENDS:= +kmod-tpm +kmod-i2c-core
1190   KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
1191   FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
1192   AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
1193 endef
1194
1195 define KernelPackage/tpm-i2c-atmel/description
1196         This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
1197 endef
1198
1199 $(eval $(call KernelPackage,tpm-i2c-atmel))
1200
1201 define KernelPackage/tpm-i2c-infineon
1202   SUBMENU:=$(OTHER_MENU)
1203   TITLE:= TPM I2C Infineon driver
1204   DEPENDS:= +kmod-tpm +kmod-i2c-core
1205   KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
1206   FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
1207   AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
1208 endef
1209
1210 define KernelPackage/tpm-i2c-infineon/description
1211         This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
1212 endef
1213
1214 $(eval $(call KernelPackage,tpm-i2c-infineon))
1215
1216
1217 define KernelPackage/w83627hf-wdt
1218   SUBMENU:=$(OTHER_MENU)
1219   TITLE:=Winbond 83627HF Watchdog Timer
1220   KCONFIG:=CONFIG_W83627HF_WDT
1221   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/w83627hf_wdt.ko
1222   AUTOLOAD:=$(call AutoLoad,50,w83627hf-wdt,1)
1223 endef
1224
1225 define KernelPackage/w83627hf-wdt/description
1226   Kernel module for Winbond 83627HF Watchdog Timer
1227 endef
1228
1229 $(eval $(call KernelPackage,w83627hf-wdt))
1230
1231
1232 define KernelPackage/itco-wdt
1233   SUBMENU:=$(OTHER_MENU)
1234   TITLE:=Intel iTCO Watchdog Timer
1235   KCONFIG:=CONFIG_ITCO_WDT \
1236            CONFIG_ITCO_VENDOR_SUPPORT=y
1237   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_wdt.ko \
1238          $(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_vendor_support.ko
1239   AUTOLOAD:=$(call AutoLoad,50,iTCO_vendor_support iTCO_wdt,1)
1240 endef
1241
1242 define KernelPackage/itco-wdt/description
1243   Kernel module for Intel iTCO Watchdog Timer
1244 endef
1245
1246 $(eval $(call KernelPackage,itco-wdt))
1247
1248
1249 define KernelPackage/it87-wdt
1250   SUBMENU:=$(OTHER_MENU)
1251   TITLE:=ITE IT87 Watchdog Timer
1252   KCONFIG:=CONFIG_IT87_WDT
1253   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/it87_wdt.ko
1254   AUTOLOAD:=$(call AutoLoad,50,it87-wdt,1)
1255   MODPARAMS.it87-wdt:= \
1256         nogameport=1 \
1257         nocir=1
1258 endef
1259
1260 define KernelPackage/it87-wdt/description
1261   Kernel module for ITE IT87 Watchdog Timer
1262 endef
1263
1264 $(eval $(call KernelPackage,it87-wdt))
1265
1266
1267 define KernelPackage/f71808e-wdt
1268   SUBMENU:=$(OTHER_MENU)
1269   TITLE:=Fintek F718xx/F818xx Watchdog Timer
1270   DEPENDS:=@TARGET_x86
1271   KCONFIG:=CONFIG_F71808E_WDT
1272   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/f71808e_wdt.ko
1273   AUTOLOAD:=$(call AutoProbe,f71808e-wdt,1)
1274 endef
1275
1276 define KernelPackage/f71808e-wdt/description
1277   Kernel module for the watchdog timer found on many Fintek Super-IO chips.
1278 endef
1279
1280 $(eval $(call KernelPackage,f71808e-wdt))