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