428bde6529d44c9afe2b8739f442719257c32909
[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-isl1208
489 SUBMENU:=$(OTHER_MENU)
490 TITLE:=Intersil ISL1208 RTC support
491 $(call AddDepends/rtc)
492 DEPENDS+=+kmod-i2c-core
493 KCONFIG:=CONFIG_RTC_DRV_ISL1208
494 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
495 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
496 endef
497
498 define KernelPackage/rtc-isl1208/description
499 Kernel module for Intersil ISL1208 RTC.
500 endef
501
502 $(eval $(call KernelPackage,rtc-isl1208))
503
504
505 define KernelPackage/rtc-marvell
506 SUBMENU:=$(OTHER_MENU)
507 TITLE:=Marvell SoC built-in RTC support
508 $(call AddDepends/rtc)
509 DEPENDS+=@TARGET_kirkwood||TARGET_orion||TARGET_mvebu
510 KCONFIG:=CONFIG_RTC_DRV_MV
511 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
512 AUTOLOAD:=$(call AutoProbe,rtc-mv)
513 endef
514
515 define KernelPackage/rtc-marvell/description
516 Kernel module for Marvell SoC built-in RTC.
517 endef
518
519 $(eval $(call KernelPackage,rtc-marvell))
520
521 define KernelPackage/rtc-pcf8563
522 SUBMENU:=$(OTHER_MENU)
523 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
524 $(call AddDepends/rtc,+kmod-i2c-core)
525 KCONFIG:=CONFIG_RTC_DRV_PCF8563
526 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
527 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
528 endef
529
530 define KernelPackage/rtc-pcf8563/description
531 Kernel module for Philips PCF8563 RTC chip.
532 The Epson RTC8564 should work as well.
533 endef
534
535 $(eval $(call KernelPackage,rtc-pcf8563))
536
537
538 define KernelPackage/rtc-pcf2123
539 SUBMENU:=$(OTHER_MENU)
540 TITLE:=Philips PCF2123 RTC support
541 $(call AddDepends/rtc)
542 KCONFIG:=CONFIG_RTC_DRV_PCF2123
543 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
544 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
545 endef
546
547 define KernelPackage/rtc-pcf2123/description
548 Kernel module for Philips PCF2123 RTC chip
549 endef
550
551 $(eval $(call KernelPackage,rtc-pcf2123))
552
553 define KernelPackage/rtc-pt7c4338
554 SUBMENU:=$(OTHER_MENU)
555 TITLE:=Pericom PT7C4338 RTC support
556 $(call AddDepends/rtc,+kmod-i2c-core)
557 KCONFIG:=CONFIG_RTC_DRV_PT7C4338
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
569 define KernelPackage/mtdtests
570 SUBMENU:=$(OTHER_MENU)
571 TITLE:=MTD subsystem tests
572 KCONFIG:=CONFIG_MTD_TESTS
573 DEPENDS:=+kmod-nand
574 FILES:=\
575 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
576 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
577 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
578 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
579 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
580 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
581 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
582 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
583 endef
584
585 define KernelPackage/mtdtests/description
586 Kernel modules for MTD subsystem/driver testing
587 endef
588
589 $(eval $(call KernelPackage,mtdtests))
590
591
592 define KernelPackage/nand
593 SUBMENU:=$(OTHER_MENU)
594 TITLE:=NAND flash support
595 KCONFIG:=CONFIG_MTD_NAND \
596 CONFIG_MTD_NAND_IDS \
597 CONFIG_MTD_NAND_ECC
598 FILES:= \
599 $(LINUX_DIR)/drivers/mtd/nand/nand_ids.ko \
600 $(LINUX_DIR)/drivers/mtd/nand/nand_ecc.ko \
601 $(LINUX_DIR)/drivers/mtd/nand/nand.ko
602 AUTOLOAD:=$(call AutoLoad,20,nand_ids nand_ecc nand)
603 endef
604
605 define KernelPackage/nand/description
606 Kernel module for NAND support
607 endef
608
609 $(eval $(call KernelPackage,nand))
610
611
612 define KernelPackage/nandsim
613 SUBMENU:=$(OTHER_MENU)
614 TITLE:=NAND simulator
615 DEPENDS:=+kmod-nand
616 KCONFIG:=CONFIG_MTD_NAND_NANDSIM
617 FILES:=$(LINUX_DIR)/drivers/mtd/nand/nandsim.ko
618 endef
619
620 define KernelPackage/nandsim/description
621 Kernel module for NAND flash simulation.
622 endef
623
624 $(eval $(call KernelPackage,nandsim))
625
626 define KernelPackage/serial-8250
627 SUBMENU:=$(OTHER_MENU)
628 TITLE:=8250 UARTs
629 KCONFIG:= CONFIG_SERIAL_8250 \
630 CONFIG_SERIAL_8250_NR_UARTS=16 \
631 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
632 CONFIG_SERIAL_8250_EXTENDED=y \
633 CONFIG_SERIAL_8250_MANY_PORTS=y \
634 CONFIG_SERIAL_8250_SHARE_IRQ=y \
635 CONFIG_SERIAL_8250_DETECT_IRQ=n \
636 CONFIG_SERIAL_8250_RSA=n
637 FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250$(if $(call kernel_patchver_ge,3.7),$(if $(call kernel_patchver_le,3.8),_core)).ko
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_SPI \
653 CONFIG_REGMAP_I2C \
654 CONFIG_SPI=y
655 FILES:= \
656 $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
657 $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
658 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
659 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-spi)
660 endef
661
662 define KernelPackage/regmap/description
663 Generic register map support
664 endef
665
666 $(eval $(call KernelPackage,regmap))
667
668 define KernelPackage/ikconfig
669 SUBMENU:=$(OTHER_MENU)
670 TITLE:=Kernel configuration via /proc/config.gz
671 KCONFIG:=CONFIG_IKCONFIG \
672 CONFIG_IKCONFIG_PROC=y
673 FILES:=$(LINUX_DIR)/kernel/configs.ko
674 AUTOLOAD:=$(call AutoLoad,70,configs)
675 endef
676
677 define KernelPackage/ikconfig/description
678 Kernel configuration via /proc/config.gz
679 endef
680
681 $(eval $(call KernelPackage,ikconfig))
682
683
684 define KernelPackage/zram
685 SUBMENU:=$(OTHER_MENU)
686 TITLE:=ZRAM
687 DEPENDS:=@!LINUX_3_3 +kmod-lib-lzo
688 KCONFIG:= \
689 CONFIG_ZSMALLOC \
690 CONFIG_ZRAM \
691 CONFIG_ZRAM_DEBUG=n
692 FILES:= \
693 $(LINUX_DIR)/drivers/staging/zsmalloc/zsmalloc.ko \
694 $(LINUX_DIR)/drivers/staging/zram/zram.ko
695 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
696 endef
697
698 define KernelPackage/zram/description
699 Compressed RAM block device support
700 endef
701
702 $(eval $(call KernelPackage,zram))
703
704
705 define KernelPackage/mvsdio
706 SUBMENU:=$(OTHER_MENU)
707 TITLE:=Marvell SDIO support
708 DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu +kmod-mmc
709 KCONFIG:=CONFIG_MMC_MVSDIO
710 FILES:=$(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
711 AUTOLOAD:=$(call AutoProbe,mvsdio)
712 endef
713
714 define KernelPacakge/mvsdio/description
715 Kernel support for the Marvell SDIO controller
716 endef
717
718 $(eval $(call KernelPackage,mvsdio))
719
720
721 define KernelPackage/pps
722 SUBMENU:=$(OTHER_MENU)
723 TITLE:=PPS support
724 KCONFIG:=CONFIG_PPS
725 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
726 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
727 endef
728
729 define KernelPacakge/pps/description
730 PPS (Pulse Per Second) is a special pulse provided by some GPS
731 antennae. Userland can use it to get a high-precision time
732 reference.
733 endef
734
735 $(eval $(call KernelPackage,pps))
736
737
738 define KernelPackage/ptp
739 SUBMENU:=$(OTHER_MENU)
740 TITLE:=PTP clock support
741 DEPENDS:=+kmod-pps
742 KCONFIG:=CONFIG_PTP_1588_CLOCK
743 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
744 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
745 endef
746
747 define KernelPacakge/ptp/description
748 The IEEE 1588 standard defines a method to precisely
749 synchronize distributed clocks over Ethernet networks.
750 endef
751
752 $(eval $(call KernelPackage,ptp))
753
754
755 define KernelPackage/ptp-gianfar
756 SUBMENU:=$(OTHER_MENU)
757 TITLE:=Freescale Gianfar PTP support
758 DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
759 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
760 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
761 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
762 endef
763
764 define KernelPacakge/ptp-gianfar/description
765 Kernel module for IEEE 1588 support for Freescale
766 Gianfar Ethernet drivers
767 endef
768
769 $(eval $(call KernelPackage,ptp-gianfar))
770
771
772 define KernelPackage/random-core
773 SUBMENU:=$(OTHER_MENU)
774 TITLE:=Hardware Random Number Generator Core support
775 KCONFIG:=CONFIG_HW_RANDOM
776 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
777 endef
778
779 define KernelPackage/random-core/description
780 Kernel module for the HW random number generator core infrastructure
781 endef
782
783 $(eval $(call KernelPackage,random-core))
784
785
786 define KernelPackage/thermal
787 SUBMENU:=$(OTHER_MENU)
788 TITLE:=Generic Thermal sysfs driver
789 HIDDEN:=1
790 KCONFIG:= \
791 CONFIG_THERMAL \
792 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
793 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
794 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
795 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
796 CONFIG_THERMAL_GOV_STEP_WISE=y \
797 CONFIG_THERMAL_GOV_USER_SPACE=n \
798 CONFIG_THERMAL_EMULATION=n
799 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
800 AUTOLOAD:=$(call AutoProbe,thermal_sys)
801 endef
802
803 define KernelPackage/thermal/description
804 Generic Thermal Sysfs driver offers a generic mechanism for thermal
805 management. Usually it's made up of one or more thermal zone and cooling
806 device.
807 endef
808
809 $(eval $(call KernelPackage,thermal))
810
811
812 define KernelPackage/thermal-armada
813 SUBMENU:=$(OTHER_MENU)
814 TITLE:=Armada 370/XP thermal management
815 DEPENDS:=@TARGET_mvebu +kmod-thermal
816 KCONFIG:=CONFIG_ARMADA_THERMAL
817 FILES:=$(LINUX_DIR)/drivers/thermal/armada_thermal.ko
818 AUTOLOAD:=$(call AutoProbe,armada_thermal)
819 endef
820
821 define KernelPackage/thermal-armada/description
822 Enable this module if you want to have support for thermal management
823 controller present in Armada 370 and Armada XP SoC.
824 endef
825
826 $(eval $(call KernelPackage,thermal-armada))
827
828
829 define KernelPackage/thermal-imx
830 SUBMENU:=$(OTHER_MENU)
831 TITLE:=Temperature sensor driver for Freescale i.MX SoCs
832 DEPENDS:=@TARGET_imx6 +kmod-thermal
833 KCONFIG:= \
834 CONFIG_CPU_THERMAL=y \
835 CONFIG_IMX_THERMAL
836 FILES:=$(LINUX_DIR)/drivers/thermal/imx_thermal.ko
837 AUTOLOAD:=$(call AutoProbe,imx_thermal)
838 endef
839
840 define KernelPackage/thermal-imx/description
841 Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
842 It supports one critical trip point and one passive trip point. The
843 cpufreq is used as the cooling device to throttle CPUs when the
844 passive trip is crossed.
845 endef
846
847 $(eval $(call KernelPackage,thermal-imx))
848
849
850 define KernelPackage/thermal-kirkwood
851 SUBMENU:=$(OTHER_MENU)
852 TITLE:=Temperature sensor on Marvell Kirkwood SoCs
853 DEPENDS:=@TARGET_kirkwood +kmod-thermal
854 KCONFIG:=CONFIG_KIRKWOOD_THERMAL
855 FILES:=$(LINUX_DIR)/drivers/thermal/kirkwood_thermal.ko
856 AUTOLOAD:=$(call AutoProbe,kirkwood_thermal)
857 endef
858
859 define KernelPackage/thermal-kirkwood/description
860 Support for the Kirkwood thermal sensor driver into the Linux thermal
861 framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
862 endef
863
864 $(eval $(call KernelPackage,thermal-kirkwood))