omap: build various core drivers into the kernel instead of packaging them
[oweals/openwrt.git] / package / kernel / linux / modules / other.mk
1 #
2 # Copyright (C) 2006-2015 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 OTHER_MENU:=Other modules
9
10 WATCHDOG_DIR:=watchdog
11
12
13 define KernelPackage/6lowpan
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
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-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 +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/gpio-beeper
894   SUBMENU:=$(OTHER_MENU)
895   TITLE:=GPIO beeper support
896   DEPENDS:=+kmod-input-core
897   KCONFIG:= \
898         CONFIG_INPUT_MISC=y \
899         CONFIG_INPUT_GPIO_BEEPER
900   FILES:= \
901         $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
902   AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
903 endef
904
905 define KernelPackage/gpio-beeper/description
906  This enables playing beeps through an GPIO-connected buzzer
907 endef
908
909 $(eval $(call KernelPackage,gpio-beeper))
910
911
912 define KernelPackage/echo
913   SUBMENU:=$(OTHER_MENU)
914   TITLE:=Line Echo Canceller
915   KCONFIG:=CONFIG_ECHO
916   FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
917   AUTOLOAD:=$(call AutoLoad,50,echo)
918 endef
919
920 define KernelPackage/echo/description
921  This driver provides line echo cancelling support for mISDN and
922  DAHDI drivers
923 endef
924
925 $(eval $(call KernelPackage,echo))
926
927
928 define KernelPackage/bmp085
929   SUBMENU:=$(OTHER_MENU)
930   TITLE:=BMP085/BMP18x pressure sensor
931   DEPENDS:= +kmod-regmap @!LINUX_3_18 @!LINUX_4_1
932   KCONFIG:= CONFIG_BMP085
933   FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
934 endef
935
936 define KernelPackage/bmp085/description
937  This driver adds support for Bosch Sensortec's digital pressure
938  sensors BMP085 and BMP18x.
939 endef
940
941 $(eval $(call KernelPackage,bmp085))
942
943
944 define KernelPackage/bmp085-i2c
945   SUBMENU:=$(OTHER_MENU)
946   TITLE:=BMP085/BMP18x pressure sensor I2C
947   DEPENDS:= +kmod-bmp085
948   KCONFIG:= CONFIG_BMP085_I2C
949   FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
950   AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
951 endef
952 define KernelPackage/bmp085-i2c/description
953  This driver adds support for Bosch Sensortec's digital pressure
954  sensor connected via I2C.
955 endef
956
957 $(eval $(call KernelPackage,bmp085-i2c))
958
959
960 define KernelPackage/bmp085-spi
961   SUBMENU:=$(OTHER_MENU)
962   TITLE:=BMP085/BMP18x pressure sensor SPI
963   DEPENDS:= +kmod-bmp085
964   KCONFIG:= CONFIG_BMP085_SPI
965   FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
966   AUTOLOAD:=$(call AutoProbe,bmp085-spi)
967 endef
968 define KernelPackage/bmp085-spi/description
969  This driver adds support for Bosch Sensortec's digital pressure
970  sensor connected via SPI.
971 endef
972
973 $(eval $(call KernelPackage,bmp085-spi))