ef2740296aac386be769c0afde5703bf5f681c41
[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
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_ZSMALLOC_STAT=n \
697 CONFIG_ZRAM_LZ4_COMPRESS=y
698 FILES:= \
699 $(LINUX_DIR)/mm/zsmalloc.ko \
700 $(LINUX_DIR)/drivers/block/zram/zram.ko
701 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
702 endef
703
704 define KernelPackage/zram/description
705 Compressed RAM block device support
706 endef
707
708 $(eval $(call KernelPackage,zram))
709
710
711 define KernelPackage/pps
712 SUBMENU:=$(OTHER_MENU)
713 TITLE:=PPS support
714 KCONFIG:=CONFIG_PPS
715 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
716 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
717 endef
718
719 define KernelPackage/pps/description
720 PPS (Pulse Per Second) is a special pulse provided by some GPS
721 antennae. Userland can use it to get a high-precision time
722 reference.
723 endef
724
725 $(eval $(call KernelPackage,pps))
726
727
728 define KernelPackage/pps-gpio
729 SUBMENU:=$(OTHER_MENU)
730 TITLE:=PPS client using GPIO
731 DEPENDS:=+kmod-pps
732 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
733 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
734 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
735 endef
736
737 define KernelPackage/pps-gpio/description
738 Support for a PPS source using GPIO. To be useful you must
739 also register a platform device specifying the GPIO pin and
740 other options, usually in your board setup.
741 endef
742
743 $(eval $(call KernelPackage,pps-gpio))
744
745
746 define KernelPackage/pps-ldisc
747 SUBMENU:=$(OTHER_MENU)
748 TITLE:=PPS line discipline
749 DEPENDS:=+kmod-pps
750 KCONFIG:=CONFIG_PPS_CLIENT_LDISC
751 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
752 AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
753 endef
754
755 define KernelPackage/pps-ldisc/description
756 Support for a PPS source connected with the CD (Carrier
757 Detect) pin of your serial port.
758 endef
759
760 $(eval $(call KernelPackage,pps-ldisc))
761
762
763 define KernelPackage/ptp
764 SUBMENU:=$(OTHER_MENU)
765 TITLE:=PTP clock support
766 DEPENDS:=+kmod-pps
767 KCONFIG:= \
768 CONFIG_PTP_1588_CLOCK \
769 CONFIG_NET_PTP_CLASSIFY=y
770 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
771 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
772 endef
773
774 define KernelPackage/ptp/description
775 The IEEE 1588 standard defines a method to precisely
776 synchronize distributed clocks over Ethernet networks.
777 endef
778
779 $(eval $(call KernelPackage,ptp))
780
781
782 define KernelPackage/ptp-gianfar
783 SUBMENU:=$(OTHER_MENU)
784 TITLE:=Freescale Gianfar PTP support
785 DEPENDS:=@TARGET_mpc85xx +kmod-ptp
786 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
787 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
788 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
789 endef
790
791 define KernelPackage/ptp-gianfar/description
792 Kernel module for IEEE 1588 support for Freescale
793 Gianfar Ethernet drivers
794 endef
795
796 $(eval $(call KernelPackage,ptp-gianfar))
797
798
799 define KernelPackage/random-core
800 SUBMENU:=$(OTHER_MENU)
801 TITLE:=Hardware Random Number Generator Core support
802 KCONFIG:=CONFIG_HW_RANDOM
803 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
804 endef
805
806 define KernelPackage/random-core/description
807 Kernel module for the HW random number generator core infrastructure
808 endef
809
810 $(eval $(call KernelPackage,random-core))
811
812 define KernelPackage/random-omap
813 SUBMENU:=$(OTHER_MENU)
814 TITLE:=Hardware Random Number Generator OMAP support
815 KCONFIG:=CONFIG_HW_RANDOM_OMAP
816 FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
817 DEPENDS:=@TARGET_omap24xx +kmod-random-core
818 AUTOLOAD:=$(call AutoProbe,random-omap)
819 endef
820
821 define KernelPackage/random-omap/description
822 Kernel module for the OMAP Random Number Generator
823 found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
824 endef
825
826 $(eval $(call KernelPackage,random-omap))
827
828 define KernelPackage/thermal
829 SUBMENU:=$(OTHER_MENU)
830 TITLE:=Generic Thermal sysfs driver
831 DEPENDS:=+kmod-hwmon-core
832 HIDDEN:=1
833 KCONFIG:= \
834 CONFIG_THERMAL \
835 CONFIG_THERMAL_OF=y \
836 CONFIG_CPU_THERMAL=y \
837 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
838 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
839 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
840 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
841 CONFIG_THERMAL_GOV_STEP_WISE=y \
842 CONFIG_THERMAL_GOV_USER_SPACE=n \
843 CONFIG_THERMAL_HWMON=y \
844 CONFIG_THERMAL_EMULATION=n
845 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
846 AUTOLOAD:=$(call AutoProbe,thermal_sys)
847 endef
848
849 define KernelPackage/thermal/description
850 Generic Thermal Sysfs driver offers a generic mechanism for thermal
851 management. Usually it's made up of one or more thermal zone and cooling
852 device.
853 endef
854
855 $(eval $(call KernelPackage,thermal))
856
857
858 define KernelPackage/gpio-beeper
859 SUBMENU:=$(OTHER_MENU)
860 TITLE:=GPIO beeper support
861 DEPENDS:=+kmod-input-core
862 KCONFIG:= \
863 CONFIG_INPUT_MISC=y \
864 CONFIG_INPUT_GPIO_BEEPER
865 FILES:= \
866 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
867 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
868 endef
869
870 define KernelPackage/gpio-beeper/description
871 This enables playing beeps through an GPIO-connected buzzer
872 endef
873
874 $(eval $(call KernelPackage,gpio-beeper))
875
876
877 define KernelPackage/echo
878 SUBMENU:=$(OTHER_MENU)
879 TITLE:=Line Echo Canceller
880 KCONFIG:=CONFIG_ECHO
881 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
882 AUTOLOAD:=$(call AutoLoad,50,echo)
883 endef
884
885 define KernelPackage/echo/description
886 This driver provides line echo cancelling support for mISDN and
887 DAHDI drivers
888 endef
889
890 $(eval $(call KernelPackage,echo))
891
892
893 define KernelPackage/bmp085
894 SUBMENU:=$(OTHER_MENU)
895 TITLE:=BMP085/BMP18x pressure sensor
896 DEPENDS:= +kmod-regmap @!LINUX_3_18 @!LINUX_4_1
897 KCONFIG:= CONFIG_BMP085
898 FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
899 endef
900
901 define KernelPackage/bmp085/description
902 This driver adds support for Bosch Sensortec's digital pressure
903 sensors BMP085 and BMP18x.
904 endef
905
906 $(eval $(call KernelPackage,bmp085))
907
908
909 define KernelPackage/bmp085-i2c
910 SUBMENU:=$(OTHER_MENU)
911 TITLE:=BMP085/BMP18x pressure sensor I2C
912 DEPENDS:= +kmod-bmp085
913 KCONFIG:= CONFIG_BMP085_I2C
914 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
915 AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
916 endef
917 define KernelPackage/bmp085-i2c/description
918 This driver adds support for Bosch Sensortec's digital pressure
919 sensor connected via I2C.
920 endef
921
922 $(eval $(call KernelPackage,bmp085-i2c))
923
924
925 define KernelPackage/bmp085-spi
926 SUBMENU:=$(OTHER_MENU)
927 TITLE:=BMP085/BMP18x pressure sensor SPI
928 DEPENDS:= +kmod-bmp085
929 KCONFIG:= CONFIG_BMP085_SPI
930 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
931 AUTOLOAD:=$(call AutoProbe,bmp085-spi)
932 endef
933 define KernelPackage/bmp085-spi/description
934 This driver adds support for Bosch Sensortec's digital pressure
935 sensor connected via SPI.
936 endef
937
938 $(eval $(call KernelPackage,bmp085-spi))
939
940 define KernelPackage/tpm
941 SUBMENU:=$(OTHER_MENU)
942 TITLE:=TPM Hardware Support
943 KCONFIG:= CONFIG_TCG_TPM
944 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
945 AUTOLOAD:=$(call AutoLoad,10,tpm,1)
946 endef
947
948 define KernelPackage/tpm/description
949 This enables TPM Hardware Support.
950 endef
951
952 $(eval $(call KernelPackage,tpm))
953
954 define KernelPackage/tpm-tis
955 SUBMENU:=$(OTHER_MENU)
956 TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
957 DEPENDS:= @TARGET_x86 +kmod-tpm
958 KCONFIG:= CONFIG_TCG_TIS
959 FILES:= \
960 $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
961 $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
962 AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
963 endef
964
965 define KernelPackage/tpm-tis/description
966 If you have a TPM security chip that is compliant with the
967 TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
968 specification (TPM2.0) say Yes and it will be accessible from
969 within Linux.
970 endef
971
972 $(eval $(call KernelPackage,tpm-tis))
973
974 define KernelPackage/tpm-i2c-atmel
975 SUBMENU:=$(OTHER_MENU)
976 TITLE:=TPM I2C Atmel Support
977 DEPENDS:= +kmod-tpm +kmod-i2c-core
978 KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
979 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
980 AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
981 endef
982
983 define KernelPackage/tpm-i2c-atmel/description
984 This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
985 endef
986
987 $(eval $(call KernelPackage,tpm-i2c-atmel))
988
989 define KernelPackage/tpm-i2c-infineon
990 SUBMENU:=$(OTHER_MENU)
991 TITLE:= TPM I2C Infineon driver
992 DEPENDS:= +kmod-tpm +kmod-i2c-core
993 KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
994 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
995 AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
996 endef
997
998 define KernelPackage/tpm-i2c-infineon/description
999 This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
1000 endef
1001
1002 $(eval $(call KernelPackage,tpm-i2c-infineon))
1003
1004
1005 define KernelPackage/w83627hf-wdt
1006 SUBMENU:=$(OTHER_MENU)
1007 TITLE:=Winbond 83627HF Watchdog Timer
1008 KCONFIG:=CONFIG_W83627HF_WDT
1009 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/w83627hf_wdt.ko
1010 AUTOLOAD:=$(call AutoLoad,50,w83627hf-wdt,1)
1011 endef
1012
1013 define KernelPackage/w83627hf-wdt/description
1014 Kernel module for Winbond 83627HF Watchdog Timer
1015 endef
1016
1017 $(eval $(call KernelPackage,w83627hf-wdt))
1018
1019
1020 define KernelPackage/itco-wdt
1021 SUBMENU:=$(OTHER_MENU)
1022 TITLE:=Intel iTCO Watchdog Timer
1023 KCONFIG:=CONFIG_ITCO_WDT \
1024 CONFIG_ITCO_VENDOR_SUPPORT=y
1025 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_wdt.ko \
1026 $(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_vendor_support.ko
1027 AUTOLOAD:=$(call AutoLoad,50,iTCO_vendor_support iTCO_wdt,1)
1028 endef
1029
1030 define KernelPackage/itco-wdt/description
1031 Kernel module for Intel iTCO Watchdog Timer
1032 endef
1033
1034 $(eval $(call KernelPackage,itco-wdt))
1035
1036
1037 define KernelPackage/it87-wdt
1038 SUBMENU:=$(OTHER_MENU)
1039 TITLE:=ITE IT87 Watchdog Timer
1040 KCONFIG:=CONFIG_IT87_WDT
1041 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/it87_wdt.ko
1042 AUTOLOAD:=$(call AutoLoad,50,it87-wdt,1)
1043 MODPARAMS.it87-wdt:= \
1044 nogameport=1 \
1045 nocir=1
1046 endef
1047
1048 define KernelPackage/it87-wdt/description
1049 Kernel module for ITE IT87 Watchdog Timer
1050 endef
1051
1052 $(eval $(call KernelPackage,it87-wdt))