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