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