b3ad4a051ebcd6722ed1069d5fd1cf47377125ca
[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
321 AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
322 endef
323
324 define KernelPackage/mmc/description
325 Kernel support for MMC/SD cards
326 endef
327
328 $(eval $(call KernelPackage,mmc))
329
330
331 define KernelPackage/sdhci
332 SUBMENU:=$(OTHER_MENU)
333 TITLE:=Secure Digital Host Controller Interface support
334 DEPENDS:=+kmod-mmc
335 KCONFIG:= \
336 CONFIG_MMC_SDHCI \
337 CONFIG_MMC_SDHCI_PLTFM \
338 CONFIG_MMC_SDHCI_PCI=n
339 FILES:= \
340 $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
341 $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
342
343 AUTOLOAD:=$(call AutoProbe,sdhci-pltfm,1)
344 endef
345
346 define KernelPackage/sdhci/description
347 Kernel support for SDHCI Hosts
348 endef
349
350 $(eval $(call KernelPackage,sdhci))
351
352
353 define KernelPackage/rfkill
354 SUBMENU:=$(OTHER_MENU)
355 TITLE:=RF switch subsystem support
356 DEPENDS:=@USE_RFKILL +kmod-input-core
357 KCONFIG:= \
358 CONFIG_RFKILL_FULL \
359 CONFIG_RFKILL_INPUT=y \
360 CONFIG_RFKILL_LEDS=y
361 FILES:= \
362 $(LINUX_DIR)/net/rfkill/rfkill.ko
363 AUTOLOAD:=$(call AutoLoad,20,rfkill)
364 endef
365
366 define KernelPackage/rfkill/description
367 Say Y here if you want to have control over RF switches
368 found on many WiFi and Bluetooth cards
369 endef
370
371 $(eval $(call KernelPackage,rfkill))
372
373
374 define KernelPackage/softdog
375 SUBMENU:=$(OTHER_MENU)
376 TITLE:=Software watchdog driver
377 KCONFIG:=CONFIG_SOFT_WATCHDOG
378 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
379 AUTOLOAD:=$(call AutoLoad,50,softdog,1)
380 endef
381
382 define KernelPackage/softdog/description
383 Software watchdog driver
384 endef
385
386 $(eval $(call KernelPackage,softdog))
387
388
389 define KernelPackage/ssb
390 SUBMENU:=$(OTHER_MENU)
391 TITLE:=Silicon Sonics Backplane glue code
392 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
393 KCONFIG:=\
394 CONFIG_SSB \
395 CONFIG_SSB_B43_PCI_BRIDGE=y \
396 CONFIG_SSB_DRIVER_MIPS=n \
397 CONFIG_SSB_DRIVER_PCICORE=y \
398 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
399 CONFIG_SSB_PCIHOST=y \
400 CONFIG_SSB_PCIHOST_POSSIBLE=y \
401 CONFIG_SSB_POSSIBLE=y \
402 CONFIG_SSB_SPROM=y \
403 CONFIG_SSB_SILENT=y
404 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
405 AUTOLOAD:=$(call AutoLoad,18,ssb,1)
406 endef
407
408 define KernelPackage/ssb/description
409 Silicon Sonics Backplane glue code.
410 endef
411
412 $(eval $(call KernelPackage,ssb))
413
414
415 define KernelPackage/bcma
416 SUBMENU:=$(OTHER_MENU)
417 TITLE:=BCMA support
418 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_bcm53xx
419 KCONFIG:=\
420 CONFIG_BCMA \
421 CONFIG_BCMA_POSSIBLE=y \
422 CONFIG_BCMA_BLOCKIO=y \
423 CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
424 CONFIG_BCMA_HOST_PCI=y \
425 CONFIG_BCMA_HOST_SOC=n \
426 CONFIG_BCMA_DRIVER_MIPS=n \
427 CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
428 CONFIG_BCMA_DRIVER_GMAC_CMN=n \
429 CONFIG_BCMA_DEBUG=n
430 FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
431 AUTOLOAD:=$(call AutoLoad,29,bcma)
432 endef
433
434 define KernelPackage/bcma/description
435 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
436 endef
437
438 $(eval $(call KernelPackage,bcma))
439
440
441 define KernelPackage/rtc-ds1307
442 SUBMENU:=$(OTHER_MENU)
443 TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
444 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
445 DEPENDS:=+kmod-i2c-core
446 KCONFIG:=CONFIG_RTC_DRV_DS1307 \
447 CONFIG_RTC_CLASS=y
448 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
449 AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
450 endef
451
452 define KernelPackage/rtc-ds1307/description
453 Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
454 Epson RX-8025 and various other compatible RTC chips connected via I2C.
455 endef
456
457 $(eval $(call KernelPackage,rtc-ds1307))
458
459
460 define KernelPackage/rtc-ds1374
461 SUBMENU:=$(OTHER_MENU)
462 TITLE:=Dallas/Maxim DS1374 RTC support
463 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
464 DEPENDS:=+kmod-i2c-core
465 KCONFIG:=CONFIG_RTC_DRV_DS1374 \
466 CONFIG_RTC_DRV_DS1374_WDT=n \
467 CONFIG_RTC_CLASS=y
468 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko
469 AUTOLOAD:=$(call AutoProbe,rtc-ds1374)
470 endef
471
472 define KernelPackage/rtc-ds1374/description
473 Kernel module for Dallas/Maxim DS1374.
474 endef
475
476 $(eval $(call KernelPackage,rtc-ds1374))
477
478
479 define KernelPackage/rtc-ds1672
480 SUBMENU:=$(OTHER_MENU)
481 TITLE:=Dallas/Maxim DS1672 RTC support
482 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
483 DEPENDS:=+kmod-i2c-core
484 KCONFIG:=CONFIG_RTC_DRV_DS1672 \
485 CONFIG_RTC_CLASS=y
486 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
487 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
488 endef
489
490 define KernelPackage/rtc-ds1672/description
491 Kernel module for Dallas/Maxim DS1672 RTC.
492 endef
493
494 $(eval $(call KernelPackage,rtc-ds1672))
495
496
497 define KernelPackage/rtc-isl1208
498 SUBMENU:=$(OTHER_MENU)
499 TITLE:=Intersil ISL1208 RTC support
500 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
501 DEPENDS:=+kmod-i2c-core
502 KCONFIG:=CONFIG_RTC_DRV_ISL1208 \
503 CONFIG_RTC_CLASS=y
504 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
505 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
506 endef
507
508 define KernelPackage/rtc-isl1208/description
509 Kernel module for Intersil ISL1208 RTC.
510 endef
511
512 $(eval $(call KernelPackage,rtc-isl1208))
513
514
515 define KernelPackage/rtc-pcf8563
516 SUBMENU:=$(OTHER_MENU)
517 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
518 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
519 DEPENDS:=+kmod-i2c-core
520 KCONFIG:=CONFIG_RTC_DRV_PCF8563 \
521 CONFIG_RTC_CLASS=y
522 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
523 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
524 endef
525
526 define KernelPackage/rtc-pcf8563/description
527 Kernel module for Philips PCF8563 RTC chip.
528 The Epson RTC8564 should work as well.
529 endef
530
531 $(eval $(call KernelPackage,rtc-pcf8563))
532
533
534 define KernelPackage/rtc-pcf2123
535 SUBMENU:=$(OTHER_MENU)
536 TITLE:=Philips PCF2123 RTC support
537 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
538 KCONFIG:=CONFIG_RTC_DRV_PCF2123 \
539 CONFIG_RTC_CLASS=y
540 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
541 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
542 endef
543
544 define KernelPackage/rtc-pcf2123/description
545 Kernel module for Philips PCF2123 RTC chip
546 endef
547
548 $(eval $(call KernelPackage,rtc-pcf2123))
549
550 define KernelPackage/rtc-pt7c4338
551 SUBMENU:=$(OTHER_MENU)
552 TITLE:=Pericom PT7C4338 RTC support
553 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
554 DEPENDS:=+kmod-i2c-core
555 KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \
556 CONFIG_RTC_CLASS=y
557 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
558 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
559 endef
560
561 define KernelPackage/rtc-pt7c4338/description
562 Kernel module for Pericom PT7C4338 i2c RTC chip
563 endef
564
565 $(eval $(call KernelPackage,rtc-pt7c4338))
566
567 define KernelPackage/rtc-rs5c372a
568 SUBMENU:=$(OTHER_MENU)
569 TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A
570 DEFAULT:=m if ALL_KMODS && RTC_SUPPORT
571 DEPENDS:=+kmod-i2c-core
572 KCONFIG:=CONFIG_RTC_DRV_RS5C372 \
573 CONFIG_RTC_CLASS=y
574 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko
575 AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1)
576 endef
577
578 define KernelPackage/rtc-rs5c372a/description
579 Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module
580 endef
581
582 $(eval $(call KernelPackage,rtc-rs5c372a))
583
584
585 define KernelPackage/mtdtests
586 SUBMENU:=$(OTHER_MENU)
587 TITLE:=MTD subsystem tests
588 KCONFIG:=CONFIG_MTD_TESTS
589 FILES:=\
590 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
591 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
592 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
593 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
594 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
595 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
596 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
597 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
598 endef
599
600 define KernelPackage/mtdtests/description
601 Kernel modules for MTD subsystem/driver testing
602 endef
603
604 $(eval $(call KernelPackage,mtdtests))
605
606
607 define KernelPackage/mtdoops
608 SUBMENU:=$(OTHER_MENU)
609 TITLE:=Log panic/oops to an MTD buffer
610 KCONFIG:=CONFIG_MTD_OOPS
611 FILES:=$(LINUX_DIR)/drivers/mtd/mtdoops.ko
612 endef
613
614 define KernelPackage/mtdoops/description
615 Kernel modules for Log panic/oops to an MTD buffer
616 endef
617
618 $(eval $(call KernelPackage,mtdoops))
619
620
621 define KernelPackage/serial-8250
622 SUBMENU:=$(OTHER_MENU)
623 TITLE:=8250 UARTs
624 KCONFIG:= CONFIG_SERIAL_8250 \
625 CONFIG_SERIAL_8250_PCI \
626 CONFIG_SERIAL_8250_NR_UARTS=16 \
627 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
628 CONFIG_SERIAL_8250_EXTENDED=y \
629 CONFIG_SERIAL_8250_MANY_PORTS=y \
630 CONFIG_SERIAL_8250_SHARE_IRQ=y \
631 CONFIG_SERIAL_8250_DETECT_IRQ=n \
632 CONFIG_SERIAL_8250_RSA=n
633 FILES:= \
634 $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \
635 $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko@ge4.4 \
636 $(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/8250_pci.ko@ge4.4)
637 AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci)
638 endef
639
640 define KernelPackage/serial-8250/description
641 Kernel module for 8250 UART based serial ports
642 endef
643
644 $(eval $(call KernelPackage,serial-8250))
645
646
647 define KernelPackage/regmap
648 SUBMENU:=$(OTHER_MENU)
649 TITLE:=Generic register map support
650 DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
651 KCONFIG:=CONFIG_REGMAP \
652 CONFIG_REGMAP_MMIO \
653 CONFIG_REGMAP_SPI \
654 CONFIG_REGMAP_I2C \
655 CONFIG_SPI=y
656 FILES:= \
657 $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
658 $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
659 $(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko \
660 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
661 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-mmio regmap-spi)
662 endef
663
664 define KernelPackage/regmap/description
665 Generic register map support
666 endef
667
668 $(eval $(call KernelPackage,regmap))
669
670 define KernelPackage/ikconfig
671 SUBMENU:=$(OTHER_MENU)
672 TITLE:=Kernel configuration via /proc/config.gz
673 KCONFIG:=CONFIG_IKCONFIG \
674 CONFIG_IKCONFIG_PROC=y
675 FILES:=$(LINUX_DIR)/kernel/configs.ko
676 AUTOLOAD:=$(call AutoLoad,70,configs)
677 endef
678
679 define KernelPackage/ikconfig/description
680 Kernel configuration via /proc/config.gz
681 endef
682
683 $(eval $(call KernelPackage,ikconfig))
684
685
686 define KernelPackage/zram
687 SUBMENU:=$(OTHER_MENU)
688 TITLE:=ZRAM
689 DEPENDS:=+kmod-lib-lzo +kmod-lib-lz4
690 KCONFIG:= \
691 CONFIG_ZSMALLOC \
692 CONFIG_ZRAM \
693 CONFIG_ZRAM_DEBUG=n \
694 CONFIG_PGTABLE_MAPPING=n \
695 CONFIG_ZSMALLOC_STAT=n \
696 CONFIG_ZRAM_LZ4_COMPRESS=y
697 FILES:= \
698 $(LINUX_DIR)/mm/zsmalloc.ko \
699 $(LINUX_DIR)/drivers/block/zram/zram.ko
700 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
701 endef
702
703 define KernelPackage/zram/description
704 Compressed RAM block device support
705 endef
706
707 $(eval $(call KernelPackage,zram))
708
709
710 define KernelPackage/pps
711 SUBMENU:=$(OTHER_MENU)
712 TITLE:=PPS support
713 KCONFIG:=CONFIG_PPS
714 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
715 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
716 endef
717
718 define KernelPackage/pps/description
719 PPS (Pulse Per Second) is a special pulse provided by some GPS
720 antennae. Userland can use it to get a high-precision time
721 reference.
722 endef
723
724 $(eval $(call KernelPackage,pps))
725
726
727 define KernelPackage/pps-gpio
728 SUBMENU:=$(OTHER_MENU)
729 TITLE:=PPS client using GPIO
730 DEPENDS:=+kmod-pps
731 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
732 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
733 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
734 endef
735
736 define KernelPackage/pps-gpio/description
737 Support for a PPS source using GPIO. To be useful you must
738 also register a platform device specifying the GPIO pin and
739 other options, usually in your board setup.
740 endef
741
742 $(eval $(call KernelPackage,pps-gpio))
743
744
745 define KernelPackage/pps-ldisc
746 SUBMENU:=$(OTHER_MENU)
747 TITLE:=PPS line discipline
748 DEPENDS:=+kmod-pps
749 KCONFIG:=CONFIG_PPS_CLIENT_LDISC
750 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko
751 AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1)
752 endef
753
754 define KernelPackage/pps-ldisc/description
755 Support for a PPS source connected with the CD (Carrier
756 Detect) pin of your serial port.
757 endef
758
759 $(eval $(call KernelPackage,pps-ldisc))
760
761
762 define KernelPackage/ptp
763 SUBMENU:=$(OTHER_MENU)
764 TITLE:=PTP clock support
765 DEPENDS:=+kmod-pps
766 KCONFIG:= \
767 CONFIG_PTP_1588_CLOCK \
768 CONFIG_NET_PTP_CLASSIFY=y
769 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
770 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
771 endef
772
773 define KernelPackage/ptp/description
774 The IEEE 1588 standard defines a method to precisely
775 synchronize distributed clocks over Ethernet networks.
776 endef
777
778 $(eval $(call KernelPackage,ptp))
779
780
781 define KernelPackage/ptp-gianfar
782 SUBMENU:=$(OTHER_MENU)
783 TITLE:=Freescale Gianfar PTP support
784 DEPENDS:=@TARGET_mpc85xx +kmod-ptp
785 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
786 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
787 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
788 endef
789
790 define KernelPackage/ptp-gianfar/description
791 Kernel module for IEEE 1588 support for Freescale
792 Gianfar Ethernet drivers
793 endef
794
795 $(eval $(call KernelPackage,ptp-gianfar))
796
797
798 define KernelPackage/random-core
799 SUBMENU:=$(OTHER_MENU)
800 TITLE:=Hardware Random Number Generator Core support
801 KCONFIG:=CONFIG_HW_RANDOM
802 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
803 endef
804
805 define KernelPackage/random-core/description
806 Kernel module for the HW random number generator core infrastructure
807 endef
808
809 $(eval $(call KernelPackage,random-core))
810
811 define KernelPackage/random-omap
812 SUBMENU:=$(OTHER_MENU)
813 TITLE:=Hardware Random Number Generator OMAP support
814 KCONFIG:=CONFIG_HW_RANDOM_OMAP
815 FILES:=$(LINUX_DIR)/drivers/char/hw_random/omap-rng.ko
816 DEPENDS:=@TARGET_omap24xx +kmod-random-core
817 AUTOLOAD:=$(call AutoProbe,random-omap)
818 endef
819
820 define KernelPackage/random-omap/description
821 Kernel module for the OMAP Random Number Generator
822 found on OMAP16xx, OMAP2/3/4/5 and AM33xx/AM43xx multimedia processors.
823 endef
824
825 $(eval $(call KernelPackage,random-omap))
826
827 define KernelPackage/thermal
828 SUBMENU:=$(OTHER_MENU)
829 TITLE:=Generic Thermal sysfs driver
830 DEPENDS:=+kmod-hwmon-core
831 HIDDEN:=1
832 KCONFIG:= \
833 CONFIG_THERMAL \
834 CONFIG_THERMAL_OF=y \
835 CONFIG_CPU_THERMAL=y \
836 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
837 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
838 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
839 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
840 CONFIG_THERMAL_GOV_STEP_WISE=y \
841 CONFIG_THERMAL_GOV_USER_SPACE=n \
842 CONFIG_THERMAL_HWMON=y \
843 CONFIG_THERMAL_EMULATION=n
844 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
845 AUTOLOAD:=$(call AutoProbe,thermal_sys)
846 endef
847
848 define KernelPackage/thermal/description
849 Generic Thermal Sysfs driver offers a generic mechanism for thermal
850 management. Usually it's made up of one or more thermal zone and cooling
851 device.
852 endef
853
854 $(eval $(call KernelPackage,thermal))
855
856
857 define KernelPackage/gpio-beeper
858 SUBMENU:=$(OTHER_MENU)
859 TITLE:=GPIO beeper support
860 DEPENDS:=+kmod-input-core
861 KCONFIG:= \
862 CONFIG_INPUT_MISC=y \
863 CONFIG_INPUT_GPIO_BEEPER
864 FILES:= \
865 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
866 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
867 endef
868
869 define KernelPackage/gpio-beeper/description
870 This enables playing beeps through an GPIO-connected buzzer
871 endef
872
873 $(eval $(call KernelPackage,gpio-beeper))
874
875
876 define KernelPackage/echo
877 SUBMENU:=$(OTHER_MENU)
878 TITLE:=Line Echo Canceller
879 KCONFIG:=CONFIG_ECHO
880 FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko
881 AUTOLOAD:=$(call AutoLoad,50,echo)
882 endef
883
884 define KernelPackage/echo/description
885 This driver provides line echo cancelling support for mISDN and
886 DAHDI drivers
887 endef
888
889 $(eval $(call KernelPackage,echo))
890
891
892 define KernelPackage/bmp085
893 SUBMENU:=$(OTHER_MENU)
894 TITLE:=BMP085/BMP18x pressure sensor
895 DEPENDS:= +kmod-regmap @!LINUX_3_18 @!LINUX_4_1
896 KCONFIG:= CONFIG_BMP085
897 FILES:= $(LINUX_DIR)/drivers/misc/bmp085.ko
898 endef
899
900 define KernelPackage/bmp085/description
901 This driver adds support for Bosch Sensortec's digital pressure
902 sensors BMP085 and BMP18x.
903 endef
904
905 $(eval $(call KernelPackage,bmp085))
906
907
908 define KernelPackage/bmp085-i2c
909 SUBMENU:=$(OTHER_MENU)
910 TITLE:=BMP085/BMP18x pressure sensor I2C
911 DEPENDS:= +kmod-bmp085
912 KCONFIG:= CONFIG_BMP085_I2C
913 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-i2c.ko
914 AUTOLOAD:=$(call AutoProbe,bmp085-i2c)
915 endef
916 define KernelPackage/bmp085-i2c/description
917 This driver adds support for Bosch Sensortec's digital pressure
918 sensor connected via I2C.
919 endef
920
921 $(eval $(call KernelPackage,bmp085-i2c))
922
923
924 define KernelPackage/bmp085-spi
925 SUBMENU:=$(OTHER_MENU)
926 TITLE:=BMP085/BMP18x pressure sensor SPI
927 DEPENDS:= +kmod-bmp085
928 KCONFIG:= CONFIG_BMP085_SPI
929 FILES:= $(LINUX_DIR)/drivers/misc/bmp085-spi.ko
930 AUTOLOAD:=$(call AutoProbe,bmp085-spi)
931 endef
932 define KernelPackage/bmp085-spi/description
933 This driver adds support for Bosch Sensortec's digital pressure
934 sensor connected via SPI.
935 endef
936
937 $(eval $(call KernelPackage,bmp085-spi))
938
939 define KernelPackage/tpm
940 SUBMENU:=$(OTHER_MENU)
941 TITLE:=TPM Hardware Support
942 KCONFIG:= CONFIG_TCG_TPM
943 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko
944 AUTOLOAD:=$(call AutoLoad,10,tpm,1)
945 endef
946
947 define KernelPackage/tpm/description
948 This enables TPM Hardware Support.
949 endef
950
951 $(eval $(call KernelPackage,tpm))
952
953 define KernelPackage/tpm-tis
954 SUBMENU:=$(OTHER_MENU)
955 TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface
956 DEPENDS:= @TARGET_x86 +kmod-tpm
957 KCONFIG:= CONFIG_TCG_TIS
958 FILES:= \
959 $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \
960 $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko
961 AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1)
962 endef
963
964 define KernelPackage/tpm-tis/description
965 If you have a TPM security chip that is compliant with the
966 TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO
967 specification (TPM2.0) say Yes and it will be accessible from
968 within Linux.
969 endef
970
971 $(eval $(call KernelPackage,tpm-tis))
972
973 define KernelPackage/tpm-i2c-atmel
974 SUBMENU:=$(OTHER_MENU)
975 TITLE:=TPM I2C Atmel Support
976 DEPENDS:= +kmod-tpm +kmod-i2c-core
977 KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL
978 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko
979 AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1)
980 endef
981
982 define KernelPackage/tpm-i2c-atmel/description
983 This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel)
984 endef
985
986 $(eval $(call KernelPackage,tpm-i2c-atmel))
987
988 define KernelPackage/tpm-i2c-infineon
989 SUBMENU:=$(OTHER_MENU)
990 TITLE:= TPM I2C Infineon driver
991 DEPENDS:= +kmod-tpm +kmod-i2c-core
992 KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON
993 FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko
994 AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1)
995 endef
996
997 define KernelPackage/tpm-i2c-infineon/description
998 This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon)
999 endef
1000
1001 $(eval $(call KernelPackage,tpm-i2c-infineon))
1002
1003
1004 define KernelPackage/w83627hf-wdt
1005 SUBMENU:=$(OTHER_MENU)
1006 TITLE:=Winbond 83627HF Watchdog Timer
1007 KCONFIG:=CONFIG_W83627HF_WDT
1008 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/w83627hf_wdt.ko
1009 AUTOLOAD:=$(call AutoLoad,50,w83627hf-wdt,1)
1010 endef
1011
1012 define KernelPackage/w83627hf-wdt/description
1013 Kernel module for Winbond 83627HF Watchdog Timer
1014 endef
1015
1016 $(eval $(call KernelPackage,w83627hf-wdt))
1017
1018
1019 define KernelPackage/itco-wdt
1020 SUBMENU:=$(OTHER_MENU)
1021 TITLE:=Intel iTCO Watchdog Timer
1022 KCONFIG:=CONFIG_ITCO_WDT \
1023 CONFIG_ITCO_VENDOR_SUPPORT=y
1024 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_wdt.ko \
1025 $(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_vendor_support.ko
1026 AUTOLOAD:=$(call AutoLoad,50,iTCO_vendor_support iTCO_wdt,1)
1027 endef
1028
1029 define KernelPackage/itco-wdt/description
1030 Kernel module for Intel iTCO Watchdog Timer
1031 endef
1032
1033 $(eval $(call KernelPackage,itco-wdt))
1034
1035
1036 define KernelPackage/it87-wdt
1037 SUBMENU:=$(OTHER_MENU)
1038 TITLE:=ITE IT87 Watchdog Timer
1039 KCONFIG:=CONFIG_IT87_WDT
1040 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/it87_wdt.ko
1041 AUTOLOAD:=$(call AutoLoad,50,it87-wdt,1)
1042 MODPARAMS.it87-wdt:= \
1043 nogameport=1 \
1044 nocir=1
1045 endef
1046
1047 define KernelPackage/it87-wdt/description
1048 Kernel module for ITE IT87 Watchdog Timer
1049 endef
1050
1051 $(eval $(call KernelPackage,it87-wdt))