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