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