linux: kmod-zram requires kmod-lib-lz4 for >= 3.15
[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-iphc
14 USBMENU:=$(OTHER_MENU)
15 TITLE:=6lowpan shared code
16 DEPENDS:=@!LINUX_3_8 @!LINUX_3_10 @!LINUX_3_13
17 KCONFIG:=CONFIG_6LOWPAN_IPHC
18 HIDDEN:=1
19 FILES:=$(LINUX_DIR)/net/ieee802154/6lowpan_iphc.ko
20 AUTOLOAD:=$(call Autoprobe,6lowpan_iphc)
21 endef
22
23 define KernelPackage/6lowpan-iphc/description
24 Shared 6lowpan code for IEEE 802.15.4 and Bluetooth.
25 endef
26
27 $(eval $(call KernelPackage,6lowpan-iphc))
28
29 define KernelPackage/bluetooth
30 SUBMENU:=$(OTHER_MENU)
31 TITLE:=Bluetooth support
32 DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-crypto-hash +(!LINUX_3_8&&!LINUX_3_10&&!LINUX_3_13):kmod-6lowpan-iphc
33 KCONFIG:= \
34 CONFIG_BLUEZ \
35 CONFIG_BLUEZ_L2CAP \
36 CONFIG_BLUEZ_SCO \
37 CONFIG_BLUEZ_RFCOMM \
38 CONFIG_BLUEZ_BNEP \
39 CONFIG_BLUEZ_HCIUART \
40 CONFIG_BLUEZ_HCIUSB \
41 CONFIG_BLUEZ_HIDP \
42 CONFIG_BT \
43 CONFIG_BT_L2CAP=y \
44 CONFIG_BT_SCO=y \
45 CONFIG_BT_RFCOMM \
46 CONFIG_BT_BNEP \
47 CONFIG_BT_HCIBTUSB \
48 CONFIG_BT_HCIUSB \
49 CONFIG_BT_HCIUART \
50 CONFIG_BT_HCIUART_H4 \
51 CONFIG_BT_HIDP \
52 CONFIG_HID_SUPPORT=y
53 $(call AddDepends/crc16)
54 $(call AddDepends/hid)
55 $(call AddDepends/rfkill)
56 FILES:= \
57 $(LINUX_DIR)/net/bluetooth/bluetooth.ko \
58 $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \
59 $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \
60 $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \
61 $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \
62 $(LINUX_DIR)/drivers/bluetooth/btusb.ko
63 AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb)
64 endef
65
66 define KernelPackage/bluetooth/description
67 Kernel support for Bluetooth devices
68 endef
69
70 $(eval $(call KernelPackage,bluetooth))
71
72
73 define KernelPackage/bluetooth_6lowpan
74 SUBMENU:=$(OTHER_MENU)
75 TITLE:=Bluetooth 6LoWPAN support
76 DEPENDS:=+kmod-bluetooth @!(LINUX_3_8||LINUX_3_10||LINUX_3_13||LINUX_3_14)
77 KCONFIG:= \
78 CONFIG_6LOWPAN=m \
79 CONFIG_BT_6LOWPAN=m
80 FILES:= \
81 $(LINUX_DIR)/net/bluetooth/bluetooth_6lowpan.ko \
82 $(LINUX_DIR)/net/6lowpan/6lowpan.ko
83 AUTOLOAD:=$(call AutoProbe,bluetooth)
84 endef
85
86 define KernelPackage/bluetooth_6lowpan/description
87 Kernel support for 6LoWPAN over Bluetooth Low Energy devices
88 endef
89
90 $(eval $(call KernelPackage,bluetooth_6lowpan))
91
92
93 define KernelPackage/bluetooth-hci-h4p
94 SUBMENU:=$(OTHER_MENU)
95 TITLE:=HCI driver with H4 Nokia extensions
96 DEPENDS:=@TARGET_omap24xx +kmod-bluetooth
97 KCONFIG:=CONFIG_BT_HCIH4P
98 FILES:=$(LINUX_DIR)/drivers/bluetooth/hci_h4p/hci_h4p.ko
99 AUTOLOAD:=$(call AutoProbe,hci_h4p)
100 endef
101
102 define KernelPackage/bluetooth-hci-h4p/description
103 HCI driver with H4 Nokia extensions
104 endef
105
106 $(eval $(call KernelPackage,bluetooth-hci-h4p))
107
108
109 define KernelPackage/eeprom-93cx6
110 SUBMENU:=$(OTHER_MENU)
111 TITLE:=EEPROM 93CX6 support
112 KCONFIG:=CONFIG_EEPROM_93CX6
113 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
114 AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
115 endef
116
117 define KernelPackage/eeprom-93cx6/description
118 Kernel module for EEPROM 93CX6 support
119 endef
120
121 $(eval $(call KernelPackage,eeprom-93cx6))
122
123
124 define KernelPackage/eeprom-at24
125 SUBMENU:=$(OTHER_MENU)
126 TITLE:=EEPROM AT24 support
127 KCONFIG:=CONFIG_EEPROM_AT24
128 DEPENDS:=+kmod-i2c-core
129 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
130 AUTOLOAD:=$(call AutoProbe,at24)
131 endef
132
133 define KernelPackage/eeprom-at24/description
134 Kernel module for most I2C EEPROMs
135 endef
136
137 $(eval $(call KernelPackage,eeprom-at24))
138
139
140 define KernelPackage/eeprom-at25
141 SUBMENU:=$(OTHER_MENU)
142 TITLE:=EEPROM AT25 support
143 KCONFIG:=CONFIG_EEPROM_AT25
144 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
145 AUTOLOAD:=$(call AutoProbe,at25)
146 endef
147
148 define KernelPackage/eeprom-at25/description
149 Kernel module for most SPI EEPROMs
150 endef
151
152 $(eval $(call KernelPackage,eeprom-at25))
153
154
155 define KernelPackage/gpio-dev
156 SUBMENU:=$(OTHER_MENU)
157 TITLE:=Generic GPIO char device support
158 DEPENDS:=@GPIO_SUPPORT
159 KCONFIG:=CONFIG_GPIO_DEVICE
160 FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
161 AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
162 endef
163
164 define KernelPackage/gpio-dev/description
165 Kernel module to allows control of GPIO pins using a character device.
166 endef
167
168 $(eval $(call KernelPackage,gpio-dev))
169
170
171 define KernelPackage/gpio-mcp23s08
172 SUBMENU:=$(OTHER_MENU)
173 TITLE:=Microchip MCP23xxx I/O expander
174 DEPENDS:=@GPIO_SUPPORT +PACKAGE_kmod-i2c-core:kmod-i2c-core
175 KCONFIG:=CONFIG_GPIO_MCP23S08
176 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-mcp23s08.ko
177 AUTOLOAD:=$(call AutoLoad,40,gpio-mcp23s08)
178 endef
179
180 define KernelPackage/gpio-mcp23s08/description
181 Kernel module for Microchip MCP23xxx SPI/I2C I/O expander
182 endef
183
184 $(eval $(call KernelPackage,gpio-mcp23s08))
185
186
187 define KernelPackage/gpio-nxp-74hc164
188 SUBMENU:=$(OTHER_MENU)
189 TITLE:=NXP 74HC164 GPIO expander support
190 KCONFIG:=CONFIG_GPIO_NXP_74HC164
191 FILES:=$(LINUX_DIR)/drivers/gpio/nxp_74hc164.ko
192 AUTOLOAD:=$(call AutoProbe,nxp_74hc164)
193 endef
194
195 define KernelPackage/gpio-nxp-74hc164/description
196 Kernel module for NXP 74HC164 GPIO expander
197 endef
198
199 $(eval $(call KernelPackage,gpio-nxp-74hc164))
200
201 define KernelPackage/gpio-pca953x
202 SUBMENU:=$(OTHER_MENU)
203 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
204 TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports
205 KCONFIG:=CONFIG_GPIO_PCA953X
206 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko
207 AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x)
208 endef
209
210 define KernelPackage/gpio-pca953x/description
211 Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7},
212 PCA957{4,5} and TCA64{08,16} I2C GPIO expanders
213 endef
214
215 $(eval $(call KernelPackage,gpio-pca953x))
216
217 define KernelPackage/gpio-pcf857x
218 SUBMENU:=$(OTHER_MENU)
219 DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
220 TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
221 KCONFIG:=CONFIG_GPIO_PCF857X
222 FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
223 AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
224 endef
225
226 define KernelPackage/gpio-pcf857x/description
227 Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
228 endef
229
230 $(eval $(call KernelPackage,gpio-pcf857x))
231
232 define KernelPackage/iio-core
233 SUBMENU:=$(OTHER_MENU)
234 TITLE:=Industrial IO core
235 KCONFIG:= \
236 CONFIG_IIO \
237 CONFIG_IIO_BUFFER=y \
238 CONFIG_IIO_KFIFO_BUF \
239 CONFIG_IIO_TRIGGER=y \
240 CONFIG_IIO_TRIGGERED_BUFFER
241 FILES:= \
242 $(LINUX_DIR)/drivers/iio/industrialio.ko \
243 $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/industrialio-triggered-buffer.ko) \
244 $(LINUX_DIR)/drivers/iio/kfifo_buf.ko
245 AUTOLOAD:=$(call AutoLoad,55,industrialio kfifo_buf industrialio-triggered-buffer)
246 endef
247
248 define KernelPackage/iio-core/description
249 The industrial I/O subsystem provides a unified framework for
250 drivers for many different types of embedded sensors using a
251 number of different physical interfaces (i2c, spi, etc)
252 endef
253
254 $(eval $(call KernelPackage,iio-core))
255
256
257 define KernelPackage/iio-ad799x
258 SUBMENU:=$(OTHER_MENU)
259 DEPENDS:=kmod-i2c-core kmod-iio-core
260 TITLE:=Analog Devices AD799x ADC driver
261 KCONFIG:= \
262 CONFIG_AD799X_RING_BUFFER=y \
263 CONFIG_AD799X
264 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.16.0)),1)
265 FILES:=$(LINUX_DIR)/drivers/iio/adc/ad799x.ko
266 else
267 FILES:=$(LINUX_DIR)/drivers/staging/iio/adc/ad799x.ko
268 endif
269 AUTOLOAD:=$(call AutoLoad,56,ad799x)
270 endef
271
272 define KernelPackage/iio-ad799x/description
273 support for Analog Devices:
274 ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998
275 i2c analog to digital converters (ADC).
276 endef
277
278 $(eval $(call KernelPackage,iio-ad799x))
279
280
281 define KernelPackage/iio-dht11
282 SUBMENU:=$(OTHER_MENU)
283 DEPENDS:=kmod-iio-core @GPIO_SUPPORT @USES_DEVICETREE
284 TITLE:=DHT11 (and compatible) humidity and temperature sensors
285 KCONFIG:= \
286 CONFIG_DHT11
287 FILES:=$(LINUX_DIR)/drivers/iio/humidity/dht11.ko
288 AUTOLOAD:=$(call AutoLoad,56,dht11)
289 endef
290
291 define KernelPackage/iio-dht11/description
292 support for DHT11 and DHT22 digitial humidity and temperature sensors
293 attached at GPIO lines. You will need a custom device tree file to
294 specify the GPIO line to use.
295 endef
296
297 $(eval $(call KernelPackage,iio-dht11))
298
299
300 define KernelPackage/lp
301 SUBMENU:=$(OTHER_MENU)
302 TITLE:=Parallel port and line printer support
303 DEPENDS:=@BROKEN
304 KCONFIG:= \
305 CONFIG_PARPORT \
306 CONFIG_PRINTER \
307 CONFIG_PPDEV
308 FILES:= \
309 $(LINUX_DIR)/drivers/parport/parport.ko \
310 $(LINUX_DIR)/drivers/char/lp.ko \
311 $(LINUX_DIR)/drivers/char/ppdev.ko
312 AUTOLOAD:=$(call AutoLoad,50,parport lp)
313 endef
314
315 $(eval $(call KernelPackage,lp))
316
317
318 define KernelPackage/mmc
319 SUBMENU:=$(OTHER_MENU)
320 TITLE:=MMC/SD Card Support
321 KCONFIG:= \
322 CONFIG_MMC \
323 CONFIG_MMC_BLOCK \
324 CONFIG_MMC_DEBUG=n \
325 CONFIG_MMC_UNSAFE_RESUME=n \
326 CONFIG_MMC_BLOCK_BOUNCE=y \
327 CONFIG_MMC_TIFM_SD=n \
328 CONFIG_MMC_WBSD=n \
329 CONFIG_SDIO_UART=n
330 FILES:= \
331 $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
332 $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
333 AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
334 endef
335
336 define KernelPackage/mmc/description
337 Kernel support for MMC/SD cards
338 endef
339
340 $(eval $(call KernelPackage,mmc))
341
342
343 define KernelPackage/sdhci
344 SUBMENU:=$(OTHER_MENU)
345 TITLE:=Secure Digital Host Controller Interface support
346 DEPENDS:=+kmod-mmc
347 KCONFIG:= \
348 CONFIG_MMC_SDHCI \
349 CONFIG_MMC_SDHCI_PLTFM \
350 CONFIG_MMC_SDHCI_PCI=n
351 FILES:= \
352 $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \
353 $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko
354
355 AUTOLOAD:=$(call AutoProbe,sdhci sdhci-pltfm,1)
356 endef
357
358 define KernelPackage/sdhci/description
359 Kernel support for SDHCI Hosts
360 endef
361
362 $(eval $(call KernelPackage,sdhci))
363
364
365 define KernelPackage/oprofile
366 SUBMENU:=$(OTHER_MENU)
367 TITLE:=OProfile profiling support
368 KCONFIG:=CONFIG_OPROFILE
369 FILES:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/oprofile/oprofile.ko
370 DEPENDS:=@KERNEL_PROFILING
371 endef
372
373 define KernelPackage/oprofile/description
374 Kernel module for support for oprofile system profiling
375 endef
376
377 $(eval $(call KernelPackage,oprofile))
378
379
380 define KernelPackage/rfkill
381 SUBMENU:=$(OTHER_MENU)
382 TITLE:=RF switch subsystem support
383 DEPENDS:=@USE_RFKILL +kmod-input-core
384 KCONFIG:= \
385 CONFIG_RFKILL \
386 CONFIG_RFKILL_INPUT=y \
387 CONFIG_RFKILL_LEDS=y \
388 CONFIG_RFKILL_GPIO=y
389 FILES:= \
390 $(LINUX_DIR)/net/rfkill/rfkill.ko
391 AUTOLOAD:=$(call AutoLoad,20,rfkill)
392 endef
393
394 define KernelPackage/rfkill/description
395 Say Y here if you want to have control over RF switches
396 found on many WiFi and Bluetooth cards
397 endef
398
399 $(eval $(call KernelPackage,rfkill))
400
401
402 define KernelPackage/softdog
403 SUBMENU:=$(OTHER_MENU)
404 TITLE:=Software watchdog driver
405 KCONFIG:=CONFIG_SOFT_WATCHDOG
406 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
407 AUTOLOAD:=$(call AutoLoad,50,softdog)
408 endef
409
410 define KernelPackage/softdog/description
411 Software watchdog driver
412 endef
413
414 $(eval $(call KernelPackage,softdog))
415
416
417 define KernelPackage/ssb
418 SUBMENU:=$(OTHER_MENU)
419 TITLE:=Silicon Sonics Backplane glue code
420 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
421 KCONFIG:=\
422 CONFIG_SSB \
423 CONFIG_SSB_B43_PCI_BRIDGE=y \
424 CONFIG_SSB_DRIVER_MIPS=n \
425 CONFIG_SSB_DRIVER_PCICORE=y \
426 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
427 CONFIG_SSB_PCIHOST=y \
428 CONFIG_SSB_PCIHOST_POSSIBLE=y \
429 CONFIG_SSB_POSSIBLE=y \
430 CONFIG_SSB_SPROM=y \
431 CONFIG_SSB_SILENT=y
432 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
433 AUTOLOAD:=$(call AutoLoad,18,ssb,1)
434 endef
435
436 define KernelPackage/ssb/description
437 Silicon Sonics Backplane glue code.
438 endef
439
440 $(eval $(call KernelPackage,ssb))
441
442
443 define KernelPackage/bcma
444 SUBMENU:=$(OTHER_MENU)
445 TITLE:=BCMA support
446 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_ppc40x
447 KCONFIG:=\
448 CONFIG_BCMA \
449 CONFIG_BCMA_POSSIBLE=y \
450 CONFIG_BCMA_BLOCKIO=y \
451 CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
452 CONFIG_BCMA_HOST_PCI=y \
453 CONFIG_BCMA_HOST_SOC=n \
454 CONFIG_BCMA_DRIVER_MIPS=n \
455 CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
456 CONFIG_BCMA_DRIVER_GMAC_CMN=n \
457 CONFIG_BCMA_DEBUG=n
458 FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
459 AUTOLOAD:=$(call AutoLoad,29,bcma)
460 endef
461
462 define KernelPackage/bcma/description
463 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
464 endef
465
466 $(eval $(call KernelPackage,bcma))
467
468
469 define KernelPackage/wdt-omap
470 SUBMENU:=$(OTHER_MENU)
471 TITLE:=OMAP Watchdog timer
472 DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
473 KCONFIG:=CONFIG_OMAP_WATCHDOG
474 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
475 AUTOLOAD:=$(call AutoLoad,50,omap_wdt.ko)
476 endef
477
478 define KernelPackage/wdt-omap/description
479 Kernel module for TI omap watchdog timer
480 endef
481
482 $(eval $(call KernelPackage,wdt-omap))
483
484
485 define KernelPackage/wdt-orion
486 SUBMENU:=$(OTHER_MENU)
487 TITLE:=Marvell Orion Watchdog timer
488 DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu
489 KCONFIG:=CONFIG_ORION_WATCHDOG
490 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
491 AUTOLOAD:=$(call AutoLoad,50,orion_wdt)
492 endef
493
494 define KernelPackage/wdt-orion/description
495 Kernel module for Marvell Orion, Kirkwood and Armada XP/370 watchdog timer
496 endef
497
498 $(eval $(call KernelPackage,wdt-orion))
499
500
501 define KernelPackage/booke-wdt
502 SUBMENU:=$(OTHER_MENU)
503 TITLE:=PowerPC Book-E Watchdog Timer
504 DEPENDS:=@(TARGET_mpc85xx||TARGET_ppc40x||TARGET_ppc44x)
505 KCONFIG:=CONFIG_BOOKE_WDT
506 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/booke_wdt.ko
507 AUTOLOAD:=$(call AutoLoad,50,booke_wdt)
508 endef
509
510 define KernelPackage/booke-wdt/description
511 Kernel module for PowerPC Book-E Watchdog Timer
512 endef
513
514 $(eval $(call KernelPackage,booke-wdt))
515
516
517 define KernelPackage/rtc-ds1307
518 SUBMENU:=$(OTHER_MENU)
519 TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support
520 $(call AddDepends/rtc)
521 DEPENDS+=+kmod-i2c-core
522 KCONFIG:=CONFIG_RTC_DRV_DS1307
523 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko
524 AUTOLOAD:=$(call AutoProbe,rtc-ds1307)
525 endef
526
527 define KernelPackage/rtc-ds1307/description
528 Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231,
529 Epson RX-8025 and various other compatible RTC chips connected via I2C.
530 endef
531
532 $(eval $(call KernelPackage,rtc-ds1307))
533
534
535 define KernelPackage/rtc-ds1672
536 SUBMENU:=$(OTHER_MENU)
537 TITLE:=Dallas/Maxim DS1672 RTC support
538 $(call AddDepends/rtc)
539 DEPENDS+=+kmod-i2c-core
540 KCONFIG:=CONFIG_RTC_DRV_DS1672
541 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko
542 AUTOLOAD:=$(call AutoProbe,rtc-ds1672)
543 endef
544
545 define KernelPackage/rtc-ds1672/description
546 Kernel module for Dallas/Maxim DS1672 RTC.
547 endef
548
549 $(eval $(call KernelPackage,rtc-ds1672))
550
551
552 define KernelPackage/rtc-isl1208
553 SUBMENU:=$(OTHER_MENU)
554 TITLE:=Intersil ISL1208 RTC support
555 $(call AddDepends/rtc)
556 DEPENDS+=+kmod-i2c-core
557 KCONFIG:=CONFIG_RTC_DRV_ISL1208
558 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
559 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
560 endef
561
562 define KernelPackage/rtc-isl1208/description
563 Kernel module for Intersil ISL1208 RTC.
564 endef
565
566 $(eval $(call KernelPackage,rtc-isl1208))
567
568
569 define KernelPackage/rtc-marvell
570 SUBMENU:=$(OTHER_MENU)
571 TITLE:=Marvell SoC built-in RTC support
572 $(call AddDepends/rtc)
573 DEPENDS+=@TARGET_kirkwood||TARGET_orion||TARGET_mvebu
574 KCONFIG:=CONFIG_RTC_DRV_MV
575 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
576 AUTOLOAD:=$(call AutoProbe,rtc-mv)
577 endef
578
579 define KernelPackage/rtc-marvell/description
580 Kernel module for Marvell SoC built-in RTC.
581 endef
582
583 $(eval $(call KernelPackage,rtc-marvell))
584
585 define KernelPackage/rtc-pcf8563
586 SUBMENU:=$(OTHER_MENU)
587 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
588 $(call AddDepends/rtc,+kmod-i2c-core)
589 KCONFIG:=CONFIG_RTC_DRV_PCF8563
590 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
591 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
592 endef
593
594 define KernelPackage/rtc-pcf8563/description
595 Kernel module for Philips PCF8563 RTC chip.
596 The Epson RTC8564 should work as well.
597 endef
598
599 $(eval $(call KernelPackage,rtc-pcf8563))
600
601
602 define KernelPackage/rtc-pcf2123
603 SUBMENU:=$(OTHER_MENU)
604 TITLE:=Philips PCF2123 RTC support
605 $(call AddDepends/rtc)
606 KCONFIG:=CONFIG_RTC_DRV_PCF2123
607 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
608 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
609 endef
610
611 define KernelPackage/rtc-pcf2123/description
612 Kernel module for Philips PCF2123 RTC chip
613 endef
614
615 $(eval $(call KernelPackage,rtc-pcf2123))
616
617 define KernelPackage/rtc-pt7c4338
618 SUBMENU:=$(OTHER_MENU)
619 TITLE:=Pericom PT7C4338 RTC support
620 $(call AddDepends/rtc,+kmod-i2c-core)
621 KCONFIG:=CONFIG_RTC_DRV_PT7C4338
622 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
623 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
624 endef
625
626 define KernelPackage/rtc-pt7c4338/description
627 Kernel module for Pericom PT7C4338 i2c RTC chip
628 endef
629
630 $(eval $(call KernelPackage,rtc-pt7c4338))
631
632
633 define KernelPackage/mtdtests
634 SUBMENU:=$(OTHER_MENU)
635 TITLE:=MTD subsystem tests
636 KCONFIG:=CONFIG_MTD_TESTS
637 DEPENDS:=+kmod-nand
638 FILES:=\
639 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
640 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
641 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
642 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
643 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
644 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
645 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
646 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
647 endef
648
649 define KernelPackage/mtdtests/description
650 Kernel modules for MTD subsystem/driver testing
651 endef
652
653 $(eval $(call KernelPackage,mtdtests))
654
655
656 define KernelPackage/nand
657 SUBMENU:=$(OTHER_MENU)
658 TITLE:=NAND flash support
659 KCONFIG:=CONFIG_MTD_NAND \
660 CONFIG_MTD_NAND_IDS \
661 CONFIG_MTD_NAND_ECC
662 FILES:= \
663 $(LINUX_DIR)/drivers/mtd/nand/nand_ids.ko \
664 $(LINUX_DIR)/drivers/mtd/nand/nand_ecc.ko \
665 $(LINUX_DIR)/drivers/mtd/nand/nand.ko
666 AUTOLOAD:=$(call AutoLoad,20,nand_ids nand_ecc nand)
667 endef
668
669 define KernelPackage/nand/description
670 Kernel module for NAND support
671 endef
672
673 $(eval $(call KernelPackage,nand))
674
675
676 define KernelPackage/nandsim
677 SUBMENU:=$(OTHER_MENU)
678 TITLE:=NAND simulator
679 DEPENDS:=+kmod-nand
680 KCONFIG:=CONFIG_MTD_NAND_NANDSIM
681 FILES:=$(LINUX_DIR)/drivers/mtd/nand/nandsim.ko
682 endef
683
684 define KernelPackage/nandsim/description
685 Kernel module for NAND flash simulation.
686 endef
687
688 $(eval $(call KernelPackage,nandsim))
689
690 define KernelPackage/serial-8250
691 SUBMENU:=$(OTHER_MENU)
692 TITLE:=8250 UARTs
693 KCONFIG:= CONFIG_SERIAL_8250 \
694 CONFIG_SERIAL_8250_NR_UARTS=16 \
695 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
696 CONFIG_SERIAL_8250_EXTENDED=y \
697 CONFIG_SERIAL_8250_MANY_PORTS=y \
698 CONFIG_SERIAL_8250_SHARE_IRQ=y \
699 CONFIG_SERIAL_8250_DETECT_IRQ=n \
700 CONFIG_SERIAL_8250_RSA=n
701 FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250$(if $(CONFIG_LINUX_3_8),_core).ko
702 endef
703
704 define KernelPackage/serial-8250/description
705 Kernel module for 8250 UART based serial ports
706 endef
707
708 $(eval $(call KernelPackage,serial-8250))
709
710
711 define KernelPackage/regmap
712 SUBMENU:=$(OTHER_MENU)
713 TITLE:=Generic register map support
714 DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
715 KCONFIG:=CONFIG_REGMAP \
716 CONFIG_REGMAP_SPI \
717 CONFIG_REGMAP_I2C \
718 CONFIG_SPI=y
719 FILES:= \
720 $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
721 $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
722 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
723 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-spi)
724 endef
725
726 define KernelPackage/regmap/description
727 Generic register map support
728 endef
729
730 $(eval $(call KernelPackage,regmap))
731
732 define KernelPackage/ikconfig
733 SUBMENU:=$(OTHER_MENU)
734 TITLE:=Kernel configuration via /proc/config.gz
735 KCONFIG:=CONFIG_IKCONFIG \
736 CONFIG_IKCONFIG_PROC=y
737 FILES:=$(LINUX_DIR)/kernel/configs.ko
738 AUTOLOAD:=$(call AutoLoad,70,configs)
739 endef
740
741 define KernelPackage/ikconfig/description
742 Kernel configuration via /proc/config.gz
743 endef
744
745 $(eval $(call KernelPackage,ikconfig))
746
747
748 define KernelPackage/zram
749 SUBMENU:=$(OTHER_MENU)
750 TITLE:=ZRAM
751 DEPENDS:=+kmod-lib-lzo @!TARGET_ep93xx +(!LINUX_3_8&&!LINUX_3_10&&!LINUX_3_13&&!LINUX_3_14):kmod-lib-lz4
752 KCONFIG:= \
753 CONFIG_ZSMALLOC \
754 CONFIG_ZRAM \
755 CONFIG_ZRAM_DEBUG=n \
756 CONFIG_PGTABLE_MAPPING=n \
757 CONFIG_ZRAM_LZ4_COMPRESS=y
758 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.14.0)),1)
759 FILES:=\
760 $(LINUX_DIR)/mm/zsmalloc.ko \
761 $(LINUX_DIR)/drivers/block/zram/zram.ko
762 else
763 FILES:= \
764 $(LINUX_DIR)/drivers/staging/zsmalloc/zsmalloc.ko \
765 $(LINUX_DIR)/drivers/staging/zram/zram.ko
766 endif
767 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
768 endef
769
770 define KernelPackage/zram/description
771 Compressed RAM block device support
772 endef
773
774 $(eval $(call KernelPackage,zram))
775
776
777 define KernelPackage/mvsdio
778 SUBMENU:=$(OTHER_MENU)
779 TITLE:=Marvell SDIO support
780 DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu +kmod-mmc
781 KCONFIG:=CONFIG_MMC_MVSDIO
782 FILES:=$(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
783 AUTOLOAD:=$(call AutoProbe,mvsdio)
784 endef
785
786 define KernelPackage/mvsdio/description
787 Kernel support for the Marvell SDIO controller
788 endef
789
790 $(eval $(call KernelPackage,mvsdio))
791
792
793 define KernelPackage/pps
794 SUBMENU:=$(OTHER_MENU)
795 TITLE:=PPS support
796 KCONFIG:=CONFIG_PPS
797 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
798 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
799 endef
800
801 define KernelPackage/pps/description
802 PPS (Pulse Per Second) is a special pulse provided by some GPS
803 antennae. Userland can use it to get a high-precision time
804 reference.
805 endef
806
807 $(eval $(call KernelPackage,pps))
808
809
810 define KernelPackage/pps-gpio
811 SUBMENU:=$(OTHER_MENU)
812 TITLE:=PPS client using GPIO
813 DEPENDS:=+kmod-pps
814 KCONFIG:=CONFIG_PPS_CLIENT_GPIO
815 FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko
816 AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1)
817 endef
818
819 define KernelPackage/pps-gpio/description
820 Support for a PPS source using GPIO. To be useful you must
821 also register a platform device specifying the GPIO pin and
822 other options, usually in your board setup.
823 endef
824
825 $(eval $(call KernelPackage,pps-gpio))
826
827
828 define KernelPackage/ptp
829 SUBMENU:=$(OTHER_MENU)
830 TITLE:=PTP clock support
831 DEPENDS:=+kmod-pps
832 KCONFIG:=CONFIG_PTP_1588_CLOCK
833 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
834 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
835 endef
836
837 define KernelPackage/ptp/description
838 The IEEE 1588 standard defines a method to precisely
839 synchronize distributed clocks over Ethernet networks.
840 endef
841
842 $(eval $(call KernelPackage,ptp))
843
844
845 define KernelPackage/ptp-gianfar
846 SUBMENU:=$(OTHER_MENU)
847 TITLE:=Freescale Gianfar PTP support
848 DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
849 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
850 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
851 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
852 endef
853
854 define KernelPackage/ptp-gianfar/description
855 Kernel module for IEEE 1588 support for Freescale
856 Gianfar Ethernet drivers
857 endef
858
859 $(eval $(call KernelPackage,ptp-gianfar))
860
861
862 define KernelPackage/random-core
863 SUBMENU:=$(OTHER_MENU)
864 TITLE:=Hardware Random Number Generator Core support
865 KCONFIG:=CONFIG_HW_RANDOM
866 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
867 endef
868
869 define KernelPackage/random-core/description
870 Kernel module for the HW random number generator core infrastructure
871 endef
872
873 $(eval $(call KernelPackage,random-core))
874
875
876 define KernelPackage/thermal
877 SUBMENU:=$(OTHER_MENU)
878 TITLE:=Generic Thermal sysfs driver
879 DEPENDS:=+kmod-hwmon-core
880 HIDDEN:=1
881 KCONFIG:= \
882 CONFIG_THERMAL \
883 CONFIG_THERMAL_OF=y \
884 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
885 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
886 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
887 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
888 CONFIG_THERMAL_GOV_STEP_WISE=y \
889 CONFIG_THERMAL_GOV_USER_SPACE=n \
890 CONFIG_THERMAL_HWMON=y \
891 CONFIG_THERMAL_EMULATION=n
892 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
893 AUTOLOAD:=$(call AutoProbe,thermal_sys)
894 endef
895
896 define KernelPackage/thermal/description
897 Generic Thermal Sysfs driver offers a generic mechanism for thermal
898 management. Usually it's made up of one or more thermal zone and cooling
899 device.
900 endef
901
902 $(eval $(call KernelPackage,thermal))
903
904
905 define KernelPackage/thermal-armada
906 SUBMENU:=$(OTHER_MENU)
907 TITLE:=Armada 370/XP thermal management
908 DEPENDS:=@TARGET_mvebu +kmod-thermal
909 KCONFIG:=CONFIG_ARMADA_THERMAL
910 FILES:=$(LINUX_DIR)/drivers/thermal/armada_thermal.ko
911 AUTOLOAD:=$(call AutoProbe,armada_thermal)
912 endef
913
914 define KernelPackage/thermal-armada/description
915 Enable this module if you want to have support for thermal management
916 controller present in Armada 370 and Armada XP SoC.
917 endef
918
919 $(eval $(call KernelPackage,thermal-armada))
920
921
922 define KernelPackage/thermal-imx
923 SUBMENU:=$(OTHER_MENU)
924 TITLE:=Temperature sensor driver for Freescale i.MX SoCs
925 DEPENDS:=@TARGET_imx6 +kmod-thermal
926 KCONFIG:= \
927 CONFIG_CPU_THERMAL=y \
928 CONFIG_IMX_THERMAL
929 FILES:=$(LINUX_DIR)/drivers/thermal/imx_thermal.ko
930 AUTOLOAD:=$(call AutoProbe,imx_thermal)
931 endef
932
933 define KernelPackage/thermal-imx/description
934 Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
935 It supports one critical trip point and one passive trip point. The
936 cpufreq is used as the cooling device to throttle CPUs when the
937 passive trip is crossed.
938 endef
939
940 $(eval $(call KernelPackage,thermal-imx))
941
942
943 define KernelPackage/thermal-kirkwood
944 SUBMENU:=$(OTHER_MENU)
945 TITLE:=Temperature sensor on Marvell Kirkwood SoCs
946 DEPENDS:=@TARGET_kirkwood +kmod-thermal
947 KCONFIG:=CONFIG_KIRKWOOD_THERMAL
948 FILES:=$(LINUX_DIR)/drivers/thermal/kirkwood_thermal.ko
949 AUTOLOAD:=$(call AutoProbe,kirkwood_thermal)
950 endef
951
952 define KernelPackage/thermal-kirkwood/description
953 Support for the Kirkwood thermal sensor driver into the Linux thermal
954 framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
955 endef
956
957 $(eval $(call KernelPackage,thermal-kirkwood))
958
959
960 define KernelPackage/gpio-beeper
961 SUBMENU:=$(OTHER_MENU)
962 TITLE:=GPIO beeper support
963 KCONFIG:= \
964 CONFIG_INPUT_MISC=y \
965 CONFIG_INPUT_GPIO_BEEPER
966 FILES:= \
967 $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko
968 AUTOLOAD:=$(call AutoLoad,50,gpio-beeper)
969 $(call AddDepends/input)
970 endef
971
972 define KernelPackage/gpio-beeper/description
973 This enables playing beeps through an GPIO-connected buzzer
974 endef
975
976 $(eval $(call KernelPackage,gpio-beeper))