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