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