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