package: kernel: update dependencies for 4.4
[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_4_4:kmod-regmap
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_HIDP \
59         CONFIG_HID_SUPPORT=y
60   $(call AddDepends/rfkill)
61   FILES:= \
62         $(LINUX_DIR)/net/bluetooth/bluetooth.ko \
63         $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \
64         $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \
65         $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \
66         $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \
67         $(LINUX_DIR)/drivers/bluetooth/btusb.ko
68 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,4.1.0)),1)
69   FILES+= \
70         $(LINUX_DIR)/drivers/bluetooth/btintel.ko
71 endif
72   AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb)
73 endef
74
75 define KernelPackage/bluetooth/description
76  Kernel support for Bluetooth devices
77 endef
78
79 $(eval $(call KernelPackage,bluetooth))
80
81 define KernelPackage/ath3k
82   SUBMENU:=$(OTHER_MENU)
83   TITLE:=ATH3K Kernel Module support
84   DEPENDS:=+kmod-bluetooth +ar3k-firmware
85   KCONFIG:= \
86         CONFIG_BT_ATH3K \
87         CONFIG_BT_HCIUART_ATH3K=y
88   $(call AddDepends/bluetooth)
89   FILES:= \
90         $(LINUX_DIR)/drivers/bluetooth/ath3k.ko
91   AUTOLOAD:=$(call AutoProbe,ath3k)
92 endef
93
94 define KernelPackage/ath3k/description
95  Kernel support for ATH3K Module
96 endef
97
98 $(eval $(call KernelPackage,ath3k))
99
100
101 define KernelPackage/bluetooth_6lowpan
102   SUBMENU:=$(OTHER_MENU)
103   TITLE:=Bluetooth 6LoWPAN support
104   DEPENDS:=+kmod-6lowpan +kmod-bluetooth
105   KCONFIG:=CONFIG_BT_6LOWPAN
106   FILES:=$(LINUX_DIR)/net/bluetooth/bluetooth_6lowpan.ko
107   AUTOLOAD:=$(call AutoProbe,bluetooth_6lowpan)
108 endef
109
110 define KernelPackage/bluetooth_6lowpan/description
111  Kernel support for 6LoWPAN over Bluetooth Low Energy devices
112 endef
113
114 $(eval $(call KernelPackage,bluetooth_6lowpan))
115
116
117 define KernelPackage/bluetooth-hci-h4p
118   SUBMENU:=$(OTHER_MENU)
119   TITLE:=HCI driver with H4 Nokia extensions
120   DEPENDS:=@TARGET_omap24xx +kmod-bluetooth
121   KCONFIG:=CONFIG_BT_HCIH4P
122   FILES:=$(LINUX_DIR)/drivers/bluetooth/hci_h4p/hci_h4p.ko
123   AUTOLOAD:=$(call AutoProbe,hci_h4p)
124 endef
125
126 define KernelPackage/bluetooth-hci-h4p/description
127  HCI driver with H4 Nokia extensions
128 endef
129
130 $(eval $(call KernelPackage,bluetooth-hci-h4p))
131
132
133 define KernelPackage/eeprom-93cx6
134   SUBMENU:=$(OTHER_MENU)
135   TITLE:=EEPROM 93CX6 support
136   KCONFIG:=CONFIG_EEPROM_93CX6
137   FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
138   AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
139 endef
140
141 define KernelPackage/eeprom-93cx6/description
142  Kernel module for EEPROM 93CX6 support
143 endef
144
145 $(eval $(call KernelPackage,eeprom-93cx6))
146
147
148 define KernelPackage/eeprom-at24
149   SUBMENU:=$(OTHER_MENU)
150   TITLE:=EEPROM AT24 support
151   KCONFIG:=CONFIG_EEPROM_AT24
152   DEPENDS:=+kmod-i2c-core
153   FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
154   AUTOLOAD:=$(call AutoProbe,at24)
155 endef
156
157 define KernelPackage/eeprom-at24/description
158  Kernel module for most I2C EEPROMs
159 endef
160
161 $(eval $(call KernelPackage,eeprom-at24))
162
163
164 define KernelPackage/eeprom-at25
165   SUBMENU:=$(OTHER_MENU)
166   TITLE:=EEPROM AT25 support
167   KCONFIG:=CONFIG_EEPROM_AT25
168   FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
169   AUTOLOAD:=$(call AutoProbe,at25)
170 endef
171
172 define KernelPackage/eeprom-at25/description
173  Kernel module for most SPI EEPROMs
174 endef
175
176 $(eval $(call KernelPackage,eeprom-at25))
177
178
179 define KernelPackage/gpio-dev
180   SUBMENU:=$(OTHER_MENU)
181   TITLE:=Generic GPIO char device support
182   DEPENDS:=@GPIO_SUPPORT
183   KCONFIG:=CONFIG_GPIO_DEVICE
184   FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
185   AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
186 endef
187
188 define KernelPackage/gpio-dev/description
189  Kernel module to allows control of GPIO pins using a character device.
190 endef
191
192 $(eval $(call KernelPackage,gpio-dev))
193
194
195 define KernelPackage/gpio-mcp23s08
196   SUBMENU:=$(OTHER_MENU)
197   TITLE:=Microchip MCP23xxx I/O expander
198   DEPENDS:=@GPIO_SUPPORT +PACKAGE_kmod-i2c-core:kmod-i2c-core
199   KCONFIG:=CONFIG_GPIO_MCP23S08
200   FILES:=$(LINUX_DIR)/drivers/gpio/gpio-mcp23s08.ko
201   AUTOLOAD:=$(call AutoLoad,40,gpio-mcp23s08)
202 endef
203
204 define KernelPackage/gpio-mcp23s08/description
205  Kernel module for Microchip MCP23xxx SPI/I2C I/O expander
206 endef
207
208 $(eval $(call KernelPackage,gpio-mcp23s08))
209
210
211 define KernelPackage/gpio-nxp-74hc164
212   SUBMENU:=$(OTHER_MENU)
213   TITLE:=NXP 74HC164 GPIO expander support
214   KCONFIG:=CONFIG_GPIO_NXP_74HC164
215   FILES:=$(LINUX_DIR)/drivers/gpio/nxp_74hc164.ko
216   AUTOLOAD:=$(call AutoProbe,nxp_74hc164)
217 endef
218
219 define KernelPackage/gpio-nxp-74hc164/description
220  Kernel module for NXP 74HC164 GPIO expander
221 endef
222
223 $(eval $(call KernelPackage,gpio-nxp-74hc164))
224
225 define KernelPackage/gpio-pca953x
226   SUBMENU:=$(OTHER_MENU)
227   DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
228   TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
229   KCONFIG:=CONFIG_GPIO_PCA953X
230   FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
231   AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
232 endef
233
234 define KernelPackage/gpio-pca953x/description
235  Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7},
236  PCA957{4,5} and TCA64{08,16} I2C GPIO expanders
237 endef
238
239 $(eval $(call KernelPackage,gpio-pca953x))
240
241 define KernelPackage/gpio-pcf857x
242   SUBMENU:=$(OTHER_MENU)
243   DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
244   TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
245   KCONFIG:=CONFIG_GPIO_PCF857X
246   FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
247   AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
248 endef
249
250 define KernelPackage/gpio-pcf857x/description
251  Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
252 endef
253
254 $(eval $(call KernelPackage,gpio-pcf857x))
255
256 define KernelPackage/iio-core
257   SUBMENU:=$(OTHER_MENU)
258   TITLE:=Industrial IO core
259   KCONFIG:= \
260         CONFIG_IIO \
261         CONFIG_IIO_BUFFER=y \
262         CONFIG_IIO_KFIFO_BUF \
263         CONFIG_IIO_TRIGGER=y \
264         CONFIG_IIO_TRIGGERED_BUFFER
265   FILES:= \
266         $(LINUX_DIR)/drivers/iio/industrialio.ko \
267         $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/industrialio-triggered-buffer.ko@lt4.4) \
268         $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/buffer/industrialio-triggered-buffer.ko@ge4.4) \
269         $(LINUX_DIR)/drivers/iio/kfifo_buf.ko@lt4.4 \
270         $(LINUX_DIR)/drivers/iio/buffer/kfifo_buf.ko@ge4.4
271   AUTOLOAD:=$(call AutoLoad,55,industrialio kfifo_buf industrialio-triggered-buffer)
272 endef
273
274 define KernelPackage/iio-core/description
275  The industrial I/O subsystem provides a unified framework for
276  drivers for many different types of embedded sensors using a
277  number of different physical interfaces (i2c, spi, etc)
278 endef
279
280 $(eval $(call KernelPackage,iio-core))
281
282
283 define KernelPackage/iio-ad799x
284   SUBMENU:=$(OTHER_MENU)
285   DEPENDS:=kmod-i2c-core kmod-iio-core
286   TITLE:=Analog Devices AD799x ADC driver
287   KCONFIG:= \
288         CONFIG_AD799X_RING_BUFFER=y \
289         CONFIG_AD799X
290   FILES:=$(LINUX_DIR)/drivers/iio/adc/ad799x.ko
291   AUTOLOAD:=$(call AutoLoad,56,ad799x)
292 endef
293
294 define KernelPackage/iio-ad799x/description
295  support for Analog Devices:
296  ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
297  i2c analog to digital converters (ADC).
298 endef
299
300 $(eval $(call KernelPackage,iio-ad799x))
301
302
303 define KernelPackage/iio-dht11
304   SUBMENU:=$(OTHER_MENU)
305   DEPENDS:=kmod-iio-core @GPIO_SUPPORT @USES_DEVICETREE
306   TITLE:=DHT11 (and compatible) humidity and temperature sensors
307   KCONFIG:= \
308         CONFIG_DHT11
309   FILES:=$(LINUX_DIR)/drivers/iio/humidity/dht11.ko
310   AUTOLOAD:=$(call AutoLoad,56,dht11)
311 endef
312
313 define KernelPackage/iio-dht11/description
314  support for DHT11 and DHT22 digitial humidity and temperature sensors
315  attached at GPIO lines. You will need a custom device tree file to
316  specify the GPIO line to use.
317 endef
318
319 $(eval $(call KernelPackage,iio-dht11))
320
321
322 define KernelPackage/lp
323   SUBMENU:=$(OTHER_MENU)
324   TITLE:=Parallel port and line printer support
325   KCONFIG:= \
326         CONFIG_PARPORT \
327         CONFIG_PRINTER \
328         CONFIG_PPDEV
329   FILES:= \
330         $(LINUX_DIR)/drivers/parport/parport.ko \
331         $(LINUX_DIR)/drivers/char/lp.ko \
332         $(LINUX_DIR)/drivers/char/ppdev.ko
333   AUTOLOAD:=$(call AutoLoad,50,parport lp ppdev)
334 endef
335
336 $(eval $(call KernelPackage,lp))
337
338
339 define KernelPackage/mmc
340   SUBMENU:=$(OTHER_MENU)
341   TITLE:=MMC/SD Card Support
342   KCONFIG:= \
343         CONFIG_MMC \
344         CONFIG_MMC_BLOCK \
345         CONFIG_MMC_DEBUG=n \
346         CONFIG_MMC_UNSAFE_RESUME=n \
347         CONFIG_MMC_BLOCK_BOUNCE=y \
348         CONFIG_MMC_TIFM_SD=n \
349         CONFIG_MMC_WBSD=n \
350         CONFIG_SDIO_UART=n
351   FILES:= \
352         $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
353         $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
354   AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
355 endef
356
357 define KernelPackage/mmc/description
358  Kernel support for MMC/SD cards
359 endef
360
361 $(eval $(call KernelPackage,mmc))
362
363
364 define KernelPackage/sdhci
365   SUBMENU:=$(OTHER_MENU)
366   TITLE:=Secure Digital Host Controller Interface support
367   DEPENDS:=+kmod-mmc
368   KCONFIG:= \
369         CONFIG_MMC_SDHCI \
370         CONFIG_MMC_SDHCI_PLTFM \
371         CONFIG_MMC_SDHCI_PCI=n
372   FILES:= \
373         $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
374         $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
375
376   AUTOLOAD:=$(call AutoProbe,sdhci sdhci-pltfm,1)
377 endef
378
379 define KernelPackage/sdhci/description
380  Kernel support for SDHCI Hosts
381 endef
382
383 $(eval $(call KernelPackage,sdhci))
384
385
386 define KernelPackage/rfkill
387   SUBMENU:=$(OTHER_MENU)
388   TITLE:=RF switch subsystem support
389   DEPENDS:=@USE_RFKILL +kmod-input-core
390   KCONFIG:= \
391     CONFIG_RFKILL \
392     CONFIG_RFKILL_INPUT=y \
393     CONFIG_RFKILL_LEDS=y \
394     CONFIG_RFKILL_GPIO=y
395   FILES:= \
396     $(LINUX_DIR)/net/rfkill/rfkill.ko
397   AUTOLOAD:=$(call AutoLoad,20,rfkill)
398 endef
399
400 define KernelPackage/rfkill/description
401  Say Y here if you want to have control over RF switches
402  found on many WiFi and Bluetooth cards
403 endef
404
405 $(eval $(call KernelPackage,rfkill))
406
407
408 define KernelPackage/softdog
409   SUBMENU:=$(OTHER_MENU)
410   TITLE:=Software watchdog driver
411   KCONFIG:=CONFIG_SOFT_WATCHDOG
412   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
413   AUTOLOAD:=$(call AutoLoad,50,softdog,1)
414 endef
415
416 define KernelPackage/softdog/description
417  Software watchdog driver
418 endef
419
420 $(eval $(call KernelPackage,softdog))
421
422
423 define KernelPackage/ssb
424   SUBMENU:=$(OTHER_MENU)
425   TITLE:=Silicon Sonics Backplane glue code
426   DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
427   KCONFIG:=\
428         CONFIG_SSB \
429         CONFIG_SSB_B43_PCI_BRIDGE=y \
430         CONFIG_SSB_DRIVER_MIPS=n \
431         CONFIG_SSB_DRIVER_PCICORE=y \
432         CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
433         CONFIG_SSB_PCIHOST=y \
434         CONFIG_SSB_PCIHOST_POSSIBLE=y \
435         CONFIG_SSB_POSSIBLE=y \
436         CONFIG_SSB_SPROM=y \
437         CONFIG_SSB_SILENT=y
438   FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
439   AUTOLOAD:=$(call AutoLoad,18,ssb,1)
440 endef
441
442 define KernelPackage/ssb/description
443  Silicon Sonics Backplane glue code.
444 endef
445
446 $(eval $(call KernelPackage,ssb))
447
448
449 define KernelPackage/bcma
450   SUBMENU:=$(OTHER_MENU)
451   TITLE:=BCMA support
452   DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_bcm53xx
453   KCONFIG:=\
454         CONFIG_BCMA \
455         CONFIG_BCMA_POSSIBLE=y \
456         CONFIG_BCMA_BLOCKIO=y \
457         CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
458         CONFIG_BCMA_HOST_PCI=y \
459         CONFIG_BCMA_HOST_SOC=n \
460         CONFIG_BCMA_DRIVER_MIPS=n \
461         CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
462         CONFIG_BCMA_DRIVER_GMAC_CMN=n \
463         CONFIG_BCMA_DEBUG=n
464   FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
465   AUTOLOAD:=$(call AutoLoad,29,bcma)
466 endef
467
468 define KernelPackage/bcma/description
469  Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
470 endef
471
472 $(eval $(call KernelPackage,bcma))
473
474
475 define KernelPackage/wdt-omap
476   SUBMENU:=$(OTHER_MENU)
477   TITLE:=OMAP Watchdog timer
478   DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
479   KCONFIG:=CONFIG_OMAP_WATCHDOG
480   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
481   AUTOLOAD:=$(call AutoLoad,50,omap_wdt,1)
482 endef
483
484 define KernelPackage/wdt-omap/description
485  Kernel module for TI omap watchdog timer
486 endef
487
488 $(eval $(call KernelPackage,wdt-omap))
489
490
491 define KernelPackage/wdt-orion
492   SUBMENU:=$(OTHER_MENU)
493   TITLE:=Marvell Orion Watchdog timer
494   DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu
495   KCONFIG:=CONFIG_ORION_WATCHDOG
496   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
497   AUTOLOAD:=$(call AutoLoad,50,orion_wdt,1)
498 endef
499
500 define KernelPackage/wdt-orion/description
501  Kernel module for Marvell Orion, Kirkwood and Armada XP/370 watchdog timer
502 endef
503
504 $(eval $(call KernelPackage,wdt-orion))
505
506
507 define KernelPackage/booke-wdt
508   SUBMENU:=$(OTHER_MENU)
509   TITLE:=PowerPC Book-E Watchdog Timer
510   DEPENDS:=@(TARGET_mpc85xx||TARGET_ppc40x||TARGET_ppc44x)
511   KCONFIG:=CONFIG_BOOKE_WDT
512   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/booke_wdt.ko
513   AUTOLOAD:=$(call AutoLoad,50,booke_wdt,1)
514 endef
515
516 define KernelPackage/booke-wdt/description
517  Kernel module for PowerPC Book-E Watchdog Timer
518 endef
519
520 $(eval $(call KernelPackage,booke-wdt))
521
522
523 define KernelPackage/rtc-ds1307
524   SUBMENU:=$(OTHER_MENU)
525   TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
526   DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
527   KCONFIG:=CONFIG_RTC_DRV_DS1307 \
528         CONFIG_RTC_CLASS=y
529   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
530   AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
531 endef
532
533 define KernelPackage/rtc-ds1307/description
534  Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
535  Epson RX-8025 and various other compatible RTC chips connected via I2C.
536 endef
537
538 $(eval $(call KernelPackage,rtc-ds1307))
539
540
541 define KernelPackage/rtc-ds1672
542   SUBMENU:=$(OTHER_MENU)
543   TITLE:=Dallas/Maxim DS1672 RTC support
544   DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
545   KCONFIG:=CONFIG_RTC_DRV_DS1672 \
546         CONFIG_RTC_CLASS=y
547   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
548   AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
549 endef
550
551 define KernelPackage/rtc-ds1672/description
552  Kernel module for Dallas/Maxim DS1672 RTC.
553 endef
554
555 $(eval $(call KernelPackage,rtc-ds1672))
556
557
558 define KernelPackage/rtc-isl1208
559   SUBMENU:=$(OTHER_MENU)
560   TITLE:=Intersil ISL1208 RTC support
561   DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
562   KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
563         CONFIG_RTC_CLASS=y
564   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
565   AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
566 endef
567
568 define KernelPackage/rtc-isl1208/description
569  Kernel module for Intersil ISL1208 RTC.
570 endef
571
572 $(eval $(call KernelPackage,rtc-isl1208))
573
574
575 define KernelPackage/rtc-marvell
576   SUBMENU:=$(OTHER_MENU)
577   TITLE:=Marvell SoC built-in RTC support
578   DEPENDS:=@RTC_SUPPORT @TARGET_kirkwood||TARGET_orion||TARGET_mvebu
579   KCONFIG:=CONFIG_RTC_DRV_MV \
580         CONFIG_RTC_CLASS=y
581   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
582   AUTOLOAD:=$(call AutoProbe,rtc-mv)
583 endef
584
585 define KernelPackage/rtc-marvell/description
586  Kernel module for Marvell SoC built-in RTC.
587 endef
588
589 $(eval $(call KernelPackage,rtc-marvell))
590
591
592 define KernelPackage/rtc-armada38x
593   SUBMENU:=$(OTHER_MENU)
594   TITLE:=Marvell Armada 38x SoC built-in RTC support
595   DEPENDS:=@RTC_SUPPORT @TARGET_mvebu
596   KCONFIG:=CONFIG_RTC_DRV_ARMADA38X \
597         CONFIG_RTC_CLASS=y
598   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-armada38x.ko
599   AUTOLOAD:=$(call AutoProbe,rtc-armada38x)
600 endef
601
602 define KernelPackage/rtc-armada38x/description
603  Kernel module for Marvell Armada 38x SoC built-in RTC.
604 endef
605
606 $(eval $(call KernelPackage,rtc-armada38x))
607
608
609 define KernelPackage/rtc-pcf8563
610   SUBMENU:=$(OTHER_MENU)
611   TITLE:=Philips PCF8563/Epson RTC8564 RTC support
612   DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
613   KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
614         CONFIG_RTC_CLASS=y
615   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
616   AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
617 endef
618
619 define KernelPackage/rtc-pcf8563/description
620  Kernel module for Philips PCF8563 RTC chip.
621  The Epson RTC8564 should work as well.
622 endef
623
624 $(eval $(call KernelPackage,rtc-pcf8563))
625
626
627 define KernelPackage/rtc-pcf2123
628   SUBMENU:=$(OTHER_MENU)
629   TITLE:=Philips PCF2123 RTC support
630   DEPENDS:=@RTC_SUPPORT
631   KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
632         CONFIG_RTC_CLASS=y
633   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
634   AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
635 endef
636
637 define KernelPackage/rtc-pcf2123/description
638  Kernel module for Philips PCF2123 RTC chip
639 endef
640
641 $(eval $(call KernelPackage,rtc-pcf2123))
642
643 define KernelPackage/rtc-pt7c4338
644   SUBMENU:=$(OTHER_MENU)
645   TITLE:=Pericom PT7C4338 RTC support
646   DEPENDS:=@RTC_SUPPORT +kmod-i2c-core
647   KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
648         CONFIG_RTC_CLASS=y
649   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
650   AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
651 endef
652
653 define KernelPackage/rtc-pt7c4338/description
654  Kernel module for Pericom PT7C4338 i2c RTC chip
655 endef
656
657 $(eval $(call KernelPackage,rtc-pt7c4338))
658
659
660 define KernelPackage/mtdtests
661   SUBMENU:=$(OTHER_MENU)
662   TITLE:=MTD subsystem tests
663   KCONFIG:=CONFIG_MTD_TESTS
664   FILES:=\
665         $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
666         $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
667         $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
668         $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
669         $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
670         $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
671         $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
672         $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
673 endef
674
675 define KernelPackage/mtdtests/description
676  Kernel modules for MTD subsystem/driver testing
677 endef
678
679 $(eval $(call KernelPackage,mtdtests))
680
681
682 define KernelPackage/serial-8250
683   SUBMENU:=$(OTHER_MENU)
684   TITLE:=8250 UARTs
685   KCONFIG:= CONFIG_SERIAL_8250 \
686         CONFIG_SERIAL_8250_NR_UARTS=16 \
687         CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
688         CONFIG_SERIAL_8250_EXTENDED=y \
689         CONFIG_SERIAL_8250_MANY_PORTS=y \
690         CONFIG_SERIAL_8250_SHARE_IRQ=y \
691         CONFIG_SERIAL_8250_DETECT_IRQ=n \
692         CONFIG_SERIAL_8250_RSA=n
693   FILES:= \
694         $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
695         $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko@ge4.4
696 endef
697
698 define KernelPackage/serial-8250/description
699  Kernel module for 8250 UART based serial ports
700 endef
701
702 $(eval $(call KernelPackage,serial-8250))
703
704
705 define KernelPackage/regmap
706   SUBMENU:=$(OTHER_MENU)
707   TITLE:=Generic register map support
708   DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
709   KCONFIG:=CONFIG_REGMAP \
710            CONFIG_REGMAP_MMIO \
711            CONFIG_REGMAP_SPI \
712            CONFIG_REGMAP_I2C \
713            CONFIG_SPI=y
714   FILES:= \
715         $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
716         $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
717         $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
718         $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
719   AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
720 endef
721
722 define KernelPackage/regmap/description
723  Generic register map support
724 endef
725
726 $(eval $(call KernelPackage,regmap))
727
728 define KernelPackage/ikconfig
729   SUBMENU:=$(OTHER_MENU)
730   TITLE:=Kernel configuration via /proc/config.gz
731   KCONFIG:=CONFIG_IKCONFIG \
732            CONFIG_IKCONFIG_PROC=y
733   FILES:=$(LINUX_DIR)/kernel/configs.ko
734   AUTOLOAD:=$(call AutoLoad,70,configs)
735 endef
736
737 define KernelPackage/ikconfig/description
738  Kernel configuration via /proc/config.gz
739 endef
740
741 $(eval $(call KernelPackage,ikconfig))
742
743
744 define KernelPackage/zram
745   SUBMENU:=$(OTHER_MENU)
746   TITLE:=ZRAM
747   DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
748   KCONFIG:= \
749         CONFIG_ZSMALLOC \
750         CONFIG_ZRAM \
751         CONFIG_ZRAM_DEBUG=n \
752         CONFIG_PGTABLE_MAPPING=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/mvsdio
769   SUBMENU:=$(OTHER_MENU)
770   TITLE:=Marvell SDIO support
771   DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu +kmod-mmc
772   KCONFIG:=CONFIG_MMC_MVSDIO
773   FILES:=$(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
774   AUTOLOAD:=$(call AutoProbe,mvsdio)
775 endef
776
777 define KernelPackage/mvsdio/description
778  Kernel support for the Marvell SDIO controller
779 endef
780
781 $(eval $(call KernelPackage,mvsdio))
782
783
784 define KernelPackage/pps
785   SUBMENU:=$(OTHER_MENU)
786   TITLE:=PPS support
787   KCONFIG:=CONFIG_PPS
788   FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
789   AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
790 endef
791
792 define KernelPackage/pps/description
793  PPS (Pulse Per Second) is a special pulse provided by some GPS
794  antennae. Userland can use it to get a high-precision time
795  reference.
796 endef
797
798 $(eval $(call KernelPackage,pps))
799
800
801 define KernelPackage/pps-gpio
802   SUBMENU:=$(OTHER_MENU)
803   TITLE:=PPS client using GPIO
804   DEPENDS:=+kmod-pps
805   KCONFIG:=CONFIG_PPS_CLIENT_GPIO
806   FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
807   AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
808 endef
809
810 define KernelPackage/pps-gpio/description
811  Support for a PPS source using GPIO. To be useful you must
812  also register a platform device specifying the GPIO pin and
813  other options, usually in your board setup.
814 endef
815
816 $(eval $(call KernelPackage,pps-gpio))
817
818
819 define KernelPackage/ptp
820   SUBMENU:=$(OTHER_MENU)
821   TITLE:=PTP clock support
822   DEPENDS:=+kmod-pps
823   KCONFIG:=CONFIG_PTP_1588_CLOCK
824   FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
825   AUTOLOAD:=$(call AutoLoad,18,ptp,1)
826 endef
827
828 define KernelPackage/ptp/description
829  The IEEE 1588 standard defines a method to precisely
830  synchronize distributed clocks over Ethernet networks.
831 endef
832
833 $(eval $(call KernelPackage,ptp))
834
835
836 define KernelPackage/ptp-gianfar
837   SUBMENU:=$(OTHER_MENU)
838   TITLE:=Freescale Gianfar PTP support
839   DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
840   KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
841   FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
842   AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
843 endef
844
845 define KernelPackage/ptp-gianfar/description
846  Kernel module for IEEE 1588 support for Freescale
847  Gianfar Ethernet drivers
848 endef
849
850 $(eval $(call KernelPackage,ptp-gianfar))
851
852
853 define KernelPackage/random-core
854   SUBMENU:=$(OTHER_MENU)
855   TITLE:=Hardware Random Number Generator Core support
856   KCONFIG:=CONFIG_HW_RANDOM
857   FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
858 endef
859
860 define KernelPackage/random-core/description
861  Kernel module for the HW random number generator core infrastructure
862 endef
863
864 $(eval $(call KernelPackage,random-core))
865
866
867 define KernelPackage/thermal
868   SUBMENU:=$(OTHER_MENU)
869   TITLE:=Generic Thermal sysfs driver
870   DEPENDS:=+kmod-hwmon-core
871   HIDDEN:=1
872   KCONFIG:= \
873         CONFIG_THERMAL \
874         CONFIG_THERMAL_OF=y \
875         CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
876         CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
877         CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
878         CONFIG_THERMAL_GOV_FAIR_SHARE=n \
879         CONFIG_THERMAL_GOV_STEP_WISE=y \
880         CONFIG_THERMAL_GOV_USER_SPACE=n \
881         CONFIG_THERMAL_HWMON=y \
882         CONFIG_THERMAL_EMULATION=n
883   FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
884   AUTOLOAD:=$(call AutoProbe,thermal_sys)
885 endef
886
887 define KernelPackage/thermal/description
888  Generic Thermal Sysfs driver offers a generic mechanism for thermal
889  management. Usually it's made up of one or more thermal zone and cooling
890  device.
891 endef
892
893 $(eval $(call KernelPackage,thermal))
894
895
896 define KernelPackage/thermal-armada
897   SUBMENU:=$(OTHER_MENU)
898   TITLE:=Armada 370/XP thermal management
899   DEPENDS:=@TARGET_mvebu +kmod-thermal
900   KCONFIG:=CONFIG_ARMADA_THERMAL
901   FILES:=$(LINUX_DIR)/drivers/thermal/armada_thermal.ko
902   AUTOLOAD:=$(call AutoProbe,armada_thermal)
903 endef
904
905 define KernelPackage/thermal-armada/description
906  Enable this module if you want to have support for thermal management
907  controller present in Armada 370 and Armada XP SoC.
908 endef
909
910 $(eval $(call KernelPackage,thermal-armada))
911
912
913 define KernelPackage/thermal-imx
914   SUBMENU:=$(OTHER_MENU)
915   TITLE:=Temperature sensor driver for Freescale i.MX SoCs
916   DEPENDS:=@TARGET_imx6 +kmod-thermal
917   KCONFIG:= \
918         CONFIG_CPU_THERMAL=y \
919         CONFIG_IMX_THERMAL
920   FILES:=$(LINUX_DIR)/drivers/thermal/imx_thermal.ko
921   AUTOLOAD:=$(call AutoProbe,imx_thermal)
922 endef
923
924 define KernelPackage/thermal-imx/description
925  Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
926  It supports one critical trip point and one passive trip point. The
927  cpufreq is used as the cooling device to throttle CPUs when the
928  passive trip is crossed.
929 endef
930
931 $(eval $(call KernelPackage,thermal-imx))
932
933
934 define KernelPackage/thermal-kirkwood
935   SUBMENU:=$(OTHER_MENU)
936   TITLE:=Temperature sensor on Marvell Kirkwood SoCs
937   DEPENDS:=@TARGET_kirkwood +kmod-thermal
938   KCONFIG:=CONFIG_KIRKWOOD_THERMAL
939   FILES:=$(LINUX_DIR)/drivers/thermal/kirkwood_thermal.ko
940   AUTOLOAD:=$(call AutoProbe,kirkwood_thermal)
941 endef
942
943 define KernelPackage/thermal-kirkwood/description
944  Support for the Kirkwood thermal sensor driver into the Linux thermal
945  framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
946 endef
947
948 $(eval $(call KernelPackage,thermal-kirkwood))
949
950
951 define KernelPackage/gpio-beeper
952   SUBMENU:=$(OTHER_MENU)
953   TITLE:=GPIO beeper support
954   DEPENDS:=+kmod-input-core
955   KCONFIG:= \
956         CONFIG_INPUT_MISC=y \
957         CONFIG_INPUT_GPIO_BEEPER
958   FILES:= \
959         $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
960   AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
961 endef
962
963 define KernelPackage/gpio-beeper/description
964  This enables playing beeps through an GPIO-connected buzzer
965 endef
966
967 $(eval $(call KernelPackage,gpio-beeper))
968
969
970 define KernelPackage/echo
971   SUBMENU:=$(OTHER_MENU)
972   TITLE:=Line Echo Canceller
973   KCONFIG:=CONFIG_ECHO
974   FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
975   AUTOLOAD:=$(call AutoLoad,50,echo)
976 endef
977
978 define KernelPackage/echo/description
979  This driver provides line echo cancelling support for mISDN and
980  DAHDI drivers
981 endef
982
983 $(eval $(call KernelPackage,echo))