kernel: whitespace fixes
[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-i2c.ko \
711         $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
712         $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
713   AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
714   ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
715    ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
716     FILES += $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko
717    endif
718   endif
719 endef
720
721 define KernelPackage/regmap/description
722  Generic register map support
723 endef
724
725 $(eval $(call KernelPackage,regmap))
726
727 define KernelPackage/ikconfig
728   SUBMENU:=$(OTHER_MENU)
729   TITLE:=Kernel configuration via /proc/config.gz
730   KCONFIG:=CONFIG_IKCONFIG \
731            CONFIG_IKCONFIG_PROC=y
732   FILES:=$(LINUX_DIR)/kernel/configs.ko
733   AUTOLOAD:=$(call AutoLoad,70,configs)
734 endef
735
736 define KernelPackage/ikconfig/description
737  Kernel configuration via /proc/config.gz
738 endef
739
740 $(eval $(call KernelPackage,ikconfig))
741
742
743 define KernelPackage/zram
744   SUBMENU:=$(OTHER_MENU)
745   TITLE:=ZRAM
746   DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
747   KCONFIG:= \
748         CONFIG_ZSMALLOC \
749         CONFIG_ZRAM \
750         CONFIG_ZRAM_DEBUG=n \
751         CONFIG_PGTABLE_MAPPING=n \
752         CONFIG_ZRAM_WRITEBACK=n \
753         CONFIG_ZSMALLOC_STAT=n \
754         CONFIG_ZRAM_LZ4_COMPRESS=y
755   FILES:= \
756         $(LINUX_DIR)/mm/zsmalloc.ko \
757         $(LINUX_DIR)/drivers/block/zram/zram.ko
758   AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
759 endef
760
761 define KernelPackage/zram/description
762  Compressed RAM block device support
763 endef
764
765 $(eval $(call KernelPackage,zram))
766
767
768 define KernelPackage/pps
769   SUBMENU:=$(OTHER_MENU)
770   TITLE:=PPS support
771   KCONFIG:=CONFIG_PPS
772   FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
773   AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
774 endef
775
776 define KernelPackage/pps/description
777  PPS (Pulse Per Second) is a special pulse provided by some GPS
778  antennae. Userland can use it to get a high-precision time
779  reference.
780 endef
781
782 $(eval $(call KernelPackage,pps))
783
784
785 define KernelPackage/pps-gpio
786   SUBMENU:=$(OTHER_MENU)
787   TITLE:=PPS client using GPIO
788   DEPENDS:=+kmod-pps
789   KCONFIG:=CONFIG_PPS_CLIENT_GPIO
790   FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
791   AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
792 endef
793
794 define KernelPackage/pps-gpio/description
795  Support for a PPS source using GPIO. To be useful you must
796  also register a platform device specifying the GPIO pin and
797  other options, usually in your board setup.
798 endef
799
800 $(eval $(call KernelPackage,pps-gpio))
801
802
803 define KernelPackage/pps-ldisc
804   SUBMENU:=$(OTHER_MENU)
805   TITLE:=PPS line discipline
806   DEPENDS:=+kmod-pps
807   KCONFIG:=CONFIG_PPS_CLIENT_LDISC
808   FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
809   AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
810 endef
811
812 define KernelPackage/pps-ldisc/description
813  Support for a PPS source connected with the CD (Carrier
814  Detect) pin of your serial port.
815 endef
816
817 $(eval $(call KernelPackage,pps-ldisc))
818
819
820 define KernelPackage/ptp
821   SUBMENU:=$(OTHER_MENU)
822   TITLE:=PTP clock support
823   DEPENDS:=+kmod-pps
824   KCONFIG:= \
825         CONFIG_PTP_1588_CLOCK \
826         CONFIG_NET_PTP_CLASSIFY=y
827   FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
828   AUTOLOAD:=$(call AutoLoad,18,ptp,1)
829 endef
830
831 define KernelPackage/ptp/description
832  The IEEE 1588 standard defines a method to precisely
833  synchronize distributed clocks over Ethernet networks.
834 endef
835
836 $(eval $(call KernelPackage,ptp))
837
838
839 define KernelPackage/ptp-gianfar
840   SUBMENU:=$(OTHER_MENU)
841   TITLE:=Freescale Gianfar PTP support
842   DEPENDS:=@TARGET_mpc85xx +kmod-ptp
843   KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
844   FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
845   AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
846 endef
847
848 define KernelPackage/ptp-gianfar/description
849  Kernel module for IEEE 1588 support for Freescale
850  Gianfar Ethernet drivers
851 endef
852
853 $(eval $(call KernelPackage,ptp-gianfar))
854
855
856 define KernelPackage/random-core
857   SUBMENU:=$(OTHER_MENU)
858   TITLE:=Hardware Random Number Generator Core support
859   KCONFIG:=CONFIG_HW_RANDOM
860   FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
861 endef
862
863 define KernelPackage/random-core/description
864  Kernel module for the HW random number generator core infrastructure
865 endef
866
867 $(eval $(call KernelPackage,random-core))
868
869 define KernelPackage/random-omap
870   SUBMENU:=$(OTHER_MENU)
871   TITLE:=Hardware Random Number Generator OMAP support
872   KCONFIG:=CONFIG_HW_RANDOM_OMAP
873   FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
874   DEPENDS:=@TARGET_omap24xx +kmod-random-core
875   AUTOLOAD:=$(call AutoProbe,random-omap)
876 endef
877
878 define KernelPackage/random-omap/description
879  Kernel module for the OMAP Random Number Generator
880  found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
881 endef
882
883 $(eval $(call KernelPackage,random-omap))
884
885 define KernelPackage/thermal
886   SUBMENU:=$(OTHER_MENU)
887   TITLE:=Generic Thermal sysfs driver
888   DEPENDS:=+kmod-hwmon-core
889   HIDDEN:=1
890   KCONFIG:= \
891         CONFIG_THERMAL \
892         CONFIG_THERMAL_OF=y \
893         CONFIG_CPU_THERMAL=y \
894         CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
895         CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
896         CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
897         CONFIG_THERMAL_GOV_FAIR_SHARE=n \
898         CONFIG_THERMAL_GOV_STEP_WISE=y \
899         CONFIG_THERMAL_GOV_USER_SPACE=n \
900         CONFIG_THERMAL_HWMON=y \
901         CONFIG_THERMAL_EMULATION=n
902   FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
903   AUTOLOAD:=$(call AutoProbe,thermal_sys)
904 endef
905
906 define KernelPackage/thermal/description
907  Generic Thermal Sysfs driver offers a generic mechanism for thermal
908  management. Usually it's made up of one or more thermal zone and cooling
909  device.
910 endef
911
912 $(eval $(call KernelPackage,thermal))
913
914
915 define KernelPackage/gpio-beeper
916   SUBMENU:=$(OTHER_MENU)
917   TITLE:=GPIO beeper support
918   DEPENDS:=+kmod-input-core
919   KCONFIG:= \
920         CONFIG_INPUT_MISC=y \
921         CONFIG_INPUT_GPIO_BEEPER
922   FILES:= \
923         $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
924   AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
925 endef
926
927 define KernelPackage/gpio-beeper/description
928  This enables playing beeps through an GPIO-connected buzzer
929 endef
930
931 $(eval $(call KernelPackage,gpio-beeper))
932
933
934 define KernelPackage/echo
935   SUBMENU:=$(OTHER_MENU)
936   TITLE:=Line Echo Canceller
937   KCONFIG:=CONFIG_ECHO
938   FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
939   AUTOLOAD:=$(call AutoLoad,50,echo)
940 endef
941
942 define KernelPackage/echo/description
943  This driver provides line echo cancelling support for mISDN and
944  DAHDI drivers
945 endef
946
947 $(eval $(call KernelPackage,echo))
948
949
950 define KernelPackage/bmp085
951   SUBMENU:=$(OTHER_MENU)
952   TITLE:=BMP085/BMP18x pressure sensor
953   DEPENDS:= +kmod-regmap @!LINUX_3_18 @!LINUX_4_1
954   KCONFIG:= CONFIG_BMP085
955   FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
956 endef
957
958 define KernelPackage/bmp085/description
959  This driver adds support for Bosch Sensortec's digital pressure
960  sensors BMP085 and BMP18x.
961 endef
962
963 $(eval $(call KernelPackage,bmp085))
964
965
966 define KernelPackage/bmp085-i2c
967   SUBMENU:=$(OTHER_MENU)
968   TITLE:=BMP085/BMP18x pressure sensor I2C
969   DEPENDS:= +kmod-bmp085
970   KCONFIG:= CONFIG_BMP085_I2C
971   FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
972   AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
973 endef
974 define KernelPackage/bmp085-i2c/description
975  This driver adds support for Bosch Sensortec's digital pressure
976  sensor connected via I2C.
977 endef
978
979 $(eval $(call KernelPackage,bmp085-i2c))
980
981
982 define KernelPackage/bmp085-spi
983   SUBMENU:=$(OTHER_MENU)
984   TITLE:=BMP085/BMP18x pressure sensor SPI
985   DEPENDS:= +kmod-bmp085
986   KCONFIG:= CONFIG_BMP085_SPI
987   FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
988   AUTOLOAD:=$(call AutoProbe,bmp085-spi)
989 endef
990 define KernelPackage/bmp085-spi/description
991  This driver adds support for Bosch Sensortec's digital pressure
992  sensor connected via SPI.
993 endef
994
995 $(eval $(call KernelPackage,bmp085-spi))
996
997 define KernelPackage/tpm
998   SUBMENU:=$(OTHER_MENU)
999   TITLE:=TPM Hardware Support
1000   KCONFIG:= CONFIG_TCG_TPM
1001   FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
1002   AUTOLOAD:=$(call AutoLoad,10,tpm,1)
1003 endef
1004
1005 define KernelPackage/tpm/description
1006         This enables TPM Hardware Support.
1007 endef
1008
1009 $(eval $(call KernelPackage,tpm))
1010
1011 define KernelPackage/tpm-tis
1012   SUBMENU:=$(OTHER_MENU)
1013   TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
1014         DEPENDS:= @TARGET_x86 +kmod-tpm
1015   KCONFIG:= CONFIG_TCG_TIS
1016   FILES:= \
1017         $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
1018         $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
1019   AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
1020 endef
1021
1022 define KernelPackage/tpm-tis/description
1023         If you have a TPM security chip that is compliant with the
1024         TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
1025         specification (TPM2.0) say Yes and it will be accessible from
1026         within Linux.
1027 endef
1028
1029 $(eval $(call KernelPackage,tpm-tis))
1030
1031 define KernelPackage/tpm-i2c-atmel
1032   SUBMENU:=$(OTHER_MENU)
1033   TITLE:=TPM I2C Atmel Support
1034   DEPENDS:= +kmod-tpm +kmod-i2c-core
1035   KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
1036   FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
1037   AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
1038 endef
1039
1040 define KernelPackage/tpm-i2c-atmel/description
1041         This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
1042 endef
1043
1044 $(eval $(call KernelPackage,tpm-i2c-atmel))
1045
1046 define KernelPackage/tpm-i2c-infineon
1047   SUBMENU:=$(OTHER_MENU)
1048   TITLE:= TPM I2C Infineon driver
1049   DEPENDS:= +kmod-tpm +kmod-i2c-core
1050   KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
1051   FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
1052   AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
1053 endef
1054
1055 define KernelPackage/tpm-i2c-infineon/description
1056         This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
1057 endef
1058
1059 $(eval $(call KernelPackage,tpm-i2c-infineon))
1060
1061
1062 define KernelPackage/w83627hf-wdt
1063   SUBMENU:=$(OTHER_MENU)
1064   TITLE:=Winbond 83627HF Watchdog Timer
1065   KCONFIG:=CONFIG_W83627HF_WDT
1066   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/w83627hf_wdt.ko
1067   AUTOLOAD:=$(call AutoLoad,50,w83627hf-wdt,1)
1068 endef
1069
1070 define KernelPackage/w83627hf-wdt/description
1071   Kernel module for Winbond 83627HF Watchdog Timer
1072 endef
1073
1074 $(eval $(call KernelPackage,w83627hf-wdt))
1075
1076
1077 define KernelPackage/itco-wdt
1078   SUBMENU:=$(OTHER_MENU)
1079   TITLE:=Intel iTCO Watchdog Timer
1080   KCONFIG:=CONFIG_ITCO_WDT \
1081            CONFIG_ITCO_VENDOR_SUPPORT=y
1082   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_wdt.ko \
1083          $(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_vendor_support.ko
1084   AUTOLOAD:=$(call AutoLoad,50,iTCO_vendor_support iTCO_wdt,1)
1085 endef
1086
1087 define KernelPackage/itco-wdt/description
1088   Kernel module for Intel iTCO Watchdog Timer
1089 endef
1090
1091 $(eval $(call KernelPackage,itco-wdt))
1092
1093
1094 define KernelPackage/it87-wdt
1095   SUBMENU:=$(OTHER_MENU)
1096   TITLE:=ITE IT87 Watchdog Timer
1097   KCONFIG:=CONFIG_IT87_WDT
1098   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/it87_wdt.ko
1099   AUTOLOAD:=$(call AutoLoad,50,it87-wdt,1)
1100   MODPARAMS.it87-wdt:= \
1101         nogameport=1 \
1102         nocir=1
1103 endef
1104
1105 define KernelPackage/it87-wdt/description
1106   Kernel module for ITE IT87 Watchdog Timer
1107 endef
1108
1109 $(eval $(call KernelPackage,it87-wdt))