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