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