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