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