kernel: add industrialio-triggered-buffer.ko only when the config option is selected.
[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_SDHCI=n \
269 CONFIG_MMC_TIFM_SD=n \
270 CONFIG_MMC_WBSD=n \
271 CONFIG_SDIO_UART=n
272 FILES:= \
273 $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
274 $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
275 AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1)
276 endef
277
278 define KernelPackage/mmc/description
279 Kernel support for MMC/SD cards
280 endef
281
282 $(eval $(call KernelPackage,mmc))
283
284
285 define KernelPackage/oprofile
286 SUBMENU:=$(OTHER_MENU)
287 TITLE:=OProfile profiling support
288 KCONFIG:=CONFIG_OPROFILE
289 FILES:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/oprofile/oprofile.ko
290 DEPENDS:=@KERNEL_PROFILING
291 endef
292
293 define KernelPackage/oprofile/description
294 Kernel module for support for oprofile system profiling
295 endef
296
297 $(eval $(call KernelPackage,oprofile))
298
299
300 define KernelPackage/rfkill
301 SUBMENU:=$(OTHER_MENU)
302 TITLE:=RF switch subsystem support
303 DEPENDS:=@USE_RFKILL +kmod-input-core
304 KCONFIG:= \
305 CONFIG_RFKILL \
306 CONFIG_RFKILL_INPUT=y \
307 CONFIG_RFKILL_LEDS=y \
308 CONFIG_RFKILL_GPIO=y
309 FILES:= \
310 $(LINUX_DIR)/net/rfkill/rfkill.ko
311 AUTOLOAD:=$(call AutoLoad,20,rfkill)
312 endef
313
314 define KernelPackage/rfkill/description
315 Say Y here if you want to have control over RF switches
316 found on many WiFi and Bluetooth cards
317 endef
318
319 $(eval $(call KernelPackage,rfkill))
320
321
322 define KernelPackage/softdog
323 SUBMENU:=$(OTHER_MENU)
324 TITLE:=Software watchdog driver
325 KCONFIG:=CONFIG_SOFT_WATCHDOG
326 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
327 AUTOLOAD:=$(call AutoLoad,50,softdog)
328 endef
329
330 define KernelPackage/softdog/description
331 Software watchdog driver
332 endef
333
334 $(eval $(call KernelPackage,softdog))
335
336
337 define KernelPackage/ssb
338 SUBMENU:=$(OTHER_MENU)
339 TITLE:=Silicon Sonics Backplane glue code
340 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
341 KCONFIG:=\
342 CONFIG_SSB \
343 CONFIG_SSB_B43_PCI_BRIDGE=y \
344 CONFIG_SSB_DRIVER_MIPS=n \
345 CONFIG_SSB_DRIVER_PCICORE=y \
346 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
347 CONFIG_SSB_PCIHOST=y \
348 CONFIG_SSB_PCIHOST_POSSIBLE=y \
349 CONFIG_SSB_POSSIBLE=y \
350 CONFIG_SSB_SPROM=y \
351 CONFIG_SSB_SILENT=y
352 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
353 AUTOLOAD:=$(call AutoLoad,18,ssb,1)
354 endef
355
356 define KernelPackage/ssb/description
357 Silicon Sonics Backplane glue code.
358 endef
359
360 $(eval $(call KernelPackage,ssb))
361
362
363 define KernelPackage/bcma
364 SUBMENU:=$(OTHER_MENU)
365 TITLE:=BCMA support
366 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx
367 KCONFIG:=\
368 CONFIG_BCMA \
369 CONFIG_BCMA_POSSIBLE=y \
370 CONFIG_BCMA_BLOCKIO=y \
371 CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
372 CONFIG_BCMA_HOST_PCI=y \
373 CONFIG_BCMA_HOST_SOC=n \
374 CONFIG_BCMA_DRIVER_MIPS=n \
375 CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
376 CONFIG_BCMA_DRIVER_GMAC_CMN=n \
377 CONFIG_BCMA_DEBUG=n
378 FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
379 AUTOLOAD:=$(call AutoLoad,29,bcma)
380 endef
381
382 define KernelPackage/bcma/description
383 Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture
384 endef
385
386 $(eval $(call KernelPackage,bcma))
387
388
389 define KernelPackage/wdt-omap
390 SUBMENU:=$(OTHER_MENU)
391 TITLE:=OMAP Watchdog timer
392 DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
393 KCONFIG:=CONFIG_OMAP_WATCHDOG
394 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
395 AUTOLOAD:=$(call AutoLoad,50,omap_wdt.ko)
396 endef
397
398 define KernelPackage/wdt-omap/description
399 Kernel module for TI omap watchdog timer
400 endef
401
402 $(eval $(call KernelPackage,wdt-omap))
403
404
405 define KernelPackage/wdt-orion
406 SUBMENU:=$(OTHER_MENU)
407 TITLE:=Marvell Orion Watchdog timer
408 DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu
409 KCONFIG:=CONFIG_ORION_WATCHDOG
410 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
411 AUTOLOAD:=$(call AutoLoad,50,orion_wdt)
412 endef
413
414 define KernelPackage/wdt-orion/description
415 Kernel module for Marvell Orion, Kirkwood and Armada XP/370 watchdog timer
416 endef
417
418 $(eval $(call KernelPackage,wdt-orion))
419
420
421 define KernelPackage/booke-wdt
422 SUBMENU:=$(OTHER_MENU)
423 TITLE:=PowerPC Book-E Watchdog Timer
424 DEPENDS:=@(TARGET_mpc85xx||TARGET_ppc40x||TARGET_ppc44x)
425 KCONFIG:=CONFIG_BOOKE_WDT
426 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/booke_wdt.ko
427 AUTOLOAD:=$(call AutoLoad,50,booke_wdt)
428 endef
429
430 define KernelPackage/booke-wdt/description
431 Kernel module for PowerPC Book-E Watchdog Timer
432 endef
433
434 $(eval $(call KernelPackage,booke-wdt))
435
436
437 define KernelPackage/pwm
438 SUBMENU:=$(OTHER_MENU)
439 TITLE:=PWM generic API
440 KCONFIG:=CONFIG_GENERIC_PWM
441 FILES:=$(LINUX_DIR)/drivers/pwm/pwm.ko
442 endef
443
444 define KernelPackage/pwm/description
445 Kernel module that implement a generic PWM API
446 endef
447
448 $(eval $(call KernelPackage,pwm))
449
450
451 define KernelPackage/pwm-gpio
452 SUBMENU:=$(OTHER_MENU)
453 TITLE:=PWM over GPIO
454 DEPENDS:=+kmod-pwm
455 KCONFIG:=CONFIG_GPIO_PWM
456 FILES:=$(LINUX_DIR)/drivers/pwm/gpio-pwm.ko
457 AUTOLOAD:=$(call AutoProbe,gpio-pwm)
458 endef
459
460 define KernelPackage/pwm-gpio/description
461 Kernel module to models a single-channel PWM device using a timer and a GPIO pin
462 endef
463
464 $(eval $(call KernelPackage,pwm-gpio))
465
466
467 define KernelPackage/rtc-isl1208
468 SUBMENU:=$(OTHER_MENU)
469 TITLE:=Intersil ISL1208 RTC support
470 $(call AddDepends/rtc)
471 DEPENDS+=+kmod-i2c-core
472 KCONFIG:=CONFIG_RTC_DRV_ISL1208
473 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
474 AUTOLOAD:=$(call AutoProbe,rtc-isl1208)
475 endef
476
477 define KernelPackage/rtc-isl1208/description
478 Kernel module for Intersil ISL1208 RTC.
479 endef
480
481 $(eval $(call KernelPackage,rtc-isl1208))
482
483
484 define KernelPackage/rtc-marvell
485 SUBMENU:=$(OTHER_MENU)
486 TITLE:=Marvell SoC built-in RTC support
487 $(call AddDepends/rtc)
488 DEPENDS+=@TARGET_kirkwood||TARGET_orion||TARGET_mvebu
489 KCONFIG:=CONFIG_RTC_DRV_MV
490 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
491 AUTOLOAD:=$(call AutoProbe,rtc-mv)
492 endef
493
494 define KernelPackage/rtc-marvell/description
495 Kernel module for Marvell SoC built-in RTC.
496 endef
497
498 $(eval $(call KernelPackage,rtc-marvell))
499
500 define KernelPackage/rtc-pcf8563
501 SUBMENU:=$(OTHER_MENU)
502 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
503 $(call AddDepends/rtc,+kmod-i2c-core)
504 KCONFIG:=CONFIG_RTC_DRV_PCF8563
505 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
506 AUTOLOAD:=$(call AutoProbe,rtc-pcf8563)
507 endef
508
509 define KernelPackage/rtc-pcf8563/description
510 Kernel module for Philips PCF8563 RTC chip.
511 The Epson RTC8564 should work as well.
512 endef
513
514 $(eval $(call KernelPackage,rtc-pcf8563))
515
516
517 define KernelPackage/rtc-pcf2123
518 SUBMENU:=$(OTHER_MENU)
519 TITLE:=Philips PCF2123 RTC support
520 $(call AddDepends/rtc)
521 KCONFIG:=CONFIG_RTC_DRV_PCF2123
522 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
523 AUTOLOAD:=$(call AutoProbe,rtc-pcf2123)
524 endef
525
526 define KernelPackage/rtc-pcf2123/description
527 Kernel module for Philips PCF2123 RTC chip
528 endef
529
530 $(eval $(call KernelPackage,rtc-pcf2123))
531
532 define KernelPackage/rtc-pt7c4338
533 SUBMENU:=$(OTHER_MENU)
534 TITLE:=Pericom PT7C4338 RTC support
535 $(call AddDepends/rtc,+kmod-i2c-core)
536 KCONFIG:=CONFIG_RTC_DRV_PT7C4338
537 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
538 AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338)
539 endef
540
541 define KernelPackage/rtc-pt7c4338/description
542 Kernel module for Pericom PT7C4338 i2c RTC chip
543 endef
544
545 $(eval $(call KernelPackage,rtc-pt7c4338))
546
547
548 define KernelPackage/mtdtests
549 SUBMENU:=$(OTHER_MENU)
550 TITLE:=MTD subsystem tests
551 KCONFIG:=CONFIG_MTD_TESTS
552 DEPENDS:=+kmod-nand
553 FILES:=\
554 $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
555 $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
556 $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
557 $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
558 $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
559 $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
560 $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
561 $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
562 endef
563
564 define KernelPackage/mtdtests/description
565 Kernel modules for MTD subsystem/driver testing
566 endef
567
568 $(eval $(call KernelPackage,mtdtests))
569
570
571 define KernelPackage/nand
572 SUBMENU:=$(OTHER_MENU)
573 TITLE:=NAND flash support
574 KCONFIG:=CONFIG_MTD_NAND \
575 CONFIG_MTD_NAND_IDS \
576 CONFIG_MTD_NAND_ECC
577 FILES:= \
578 $(LINUX_DIR)/drivers/mtd/nand/nand_ids.ko \
579 $(LINUX_DIR)/drivers/mtd/nand/nand_ecc.ko \
580 $(LINUX_DIR)/drivers/mtd/nand/nand.ko
581 AUTOLOAD:=$(call AutoLoad,20,nand_ids nand_ecc nand)
582 endef
583
584 define KernelPackage/nand/description
585 Kernel module for NAND support
586 endef
587
588 $(eval $(call KernelPackage,nand))
589
590
591 define KernelPackage/nandsim
592 SUBMENU:=$(OTHER_MENU)
593 TITLE:=NAND simulator
594 DEPENDS:=+kmod-nand
595 KCONFIG:=CONFIG_MTD_NAND_NANDSIM
596 FILES:=$(LINUX_DIR)/drivers/mtd/nand/nandsim.ko
597 endef
598
599 define KernelPackage/nandsim/description
600 Kernel module for NAND flash simulation.
601 endef
602
603 $(eval $(call KernelPackage,nandsim))
604
605 define KernelPackage/serial-8250
606 SUBMENU:=$(OTHER_MENU)
607 TITLE:=8250 UARTs
608 KCONFIG:= CONFIG_SERIAL_8250 \
609 CONFIG_SERIAL_8250_NR_UARTS=16 \
610 CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
611 CONFIG_SERIAL_8250_EXTENDED=y \
612 CONFIG_SERIAL_8250_MANY_PORTS=y \
613 CONFIG_SERIAL_8250_SHARE_IRQ=y \
614 CONFIG_SERIAL_8250_DETECT_IRQ=n \
615 CONFIG_SERIAL_8250_RSA=n
616 FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250$(if $(call kernel_patchver_ge,3.7),$(if $(call kernel_patchver_le,3.8),_core)).ko
617 endef
618
619 define KernelPackage/serial-8250/description
620 Kernel module for 8250 UART based serial ports
621 endef
622
623 $(eval $(call KernelPackage,serial-8250))
624
625
626 define KernelPackage/regmap
627 SUBMENU:=$(OTHER_MENU)
628 TITLE:=Generic register map support
629 DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
630 KCONFIG:=CONFIG_REGMAP \
631 CONFIG_REGMAP_SPI \
632 CONFIG_REGMAP_I2C \
633 CONFIG_SPI=y
634 FILES:= \
635 $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
636 $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
637 $(if $(CONFIG_SPI),$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko)
638 AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-spi)
639 endef
640
641 define KernelPackage/regmap/description
642 Generic register map support
643 endef
644
645 $(eval $(call KernelPackage,regmap))
646
647 define KernelPackage/ikconfig
648 SUBMENU:=$(OTHER_MENU)
649 TITLE:=Kernel configuration via /proc/config.gz
650 KCONFIG:=CONFIG_IKCONFIG \
651 CONFIG_IKCONFIG_PROC=y
652 FILES:=$(LINUX_DIR)/kernel/configs.ko
653 AUTOLOAD:=$(call AutoLoad,70,configs)
654 endef
655
656 define KernelPackage/ikconfig/description
657 Kernel configuration via /proc/config.gz
658 endef
659
660 $(eval $(call KernelPackage,ikconfig))
661
662
663 define KernelPackage/zram
664 SUBMENU:=$(OTHER_MENU)
665 TITLE:=ZRAM
666 DEPENDS:=@!LINUX_3_3 +kmod-lib-lzo
667 KCONFIG:= \
668 CONFIG_ZSMALLOC \
669 CONFIG_ZRAM \
670 CONFIG_ZRAM_DEBUG=n
671 FILES:= \
672 $(LINUX_DIR)/drivers/staging/zsmalloc/zsmalloc.ko \
673 $(LINUX_DIR)/drivers/staging/zram/zram.ko
674 AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
675 endef
676
677 define KernelPackage/zram/description
678 Compressed RAM block device support
679 endef
680
681 $(eval $(call KernelPackage,zram))
682
683
684 define KernelPackage/mvsdio
685 SUBMENU:=$(OTHER_MENU)
686 TITLE:=Marvell SDIO support
687 DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu +kmod-mmc
688 KCONFIG:=CONFIG_MMC_MVSDIO
689 FILES:=$(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
690 AUTOLOAD:=$(call AutoProbe,mvsdio)
691 endef
692
693 define KernelPacakge/mvsdio/description
694 Kernel support for the Marvell SDIO controller
695 endef
696
697 $(eval $(call KernelPackage,mvsdio))
698
699
700 define KernelPackage/pps
701 SUBMENU:=$(OTHER_MENU)
702 TITLE:=PPS support
703 KCONFIG:=CONFIG_PPS
704 FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
705 AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
706 endef
707
708 define KernelPacakge/pps/description
709 PPS (Pulse Per Second) is a special pulse provided by some GPS
710 antennae. Userland can use it to get a high-precision time
711 reference.
712 endef
713
714 $(eval $(call KernelPackage,pps))
715
716
717 define KernelPackage/ptp
718 SUBMENU:=$(OTHER_MENU)
719 TITLE:=PTP clock support
720 DEPENDS:=+kmod-pps
721 KCONFIG:=CONFIG_PTP_1588_CLOCK
722 FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
723 AUTOLOAD:=$(call AutoLoad,18,ptp,1)
724 endef
725
726 define KernelPacakge/ptp/description
727 The IEEE 1588 standard defines a method to precisely
728 synchronize distributed clocks over Ethernet networks.
729 endef
730
731 $(eval $(call KernelPackage,ptp))
732
733
734 define KernelPackage/ptp-gianfar
735 SUBMENU:=$(OTHER_MENU)
736 TITLE:=Freescale Gianfar PTP support
737 DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
738 KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
739 FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
740 AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
741 endef
742
743 define KernelPacakge/ptp-gianfar/description
744 Kernel module for IEEE 1588 support for Freescale
745 Gianfar Ethernet drivers
746 endef
747
748 $(eval $(call KernelPackage,ptp-gianfar))
749
750
751 define KernelPackage/random-core
752 SUBMENU:=$(OTHER_MENU)
753 TITLE:=Hardware Random Number Generator Core support
754 KCONFIG:=CONFIG_HW_RANDOM
755 FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
756 endef
757
758 define KernelPackage/random-core/description
759 Kernel module for the HW random number generator core infrastructure
760 endef
761
762 $(eval $(call KernelPackage,random-core))
763
764
765 define KernelPackage/thermal
766 SUBMENU:=$(OTHER_MENU)
767 TITLE:=Generic Thermal sysfs driver
768 HIDDEN:=1
769 KCONFIG:= \
770 CONFIG_THERMAL \
771 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
772 CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
773 CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
774 CONFIG_THERMAL_GOV_FAIR_SHARE=n \
775 CONFIG_THERMAL_GOV_STEP_WISE=y \
776 CONFIG_THERMAL_GOV_USER_SPACE=n \
777 CONFIG_THERMAL_EMULATION=n
778 FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
779 AUTOLOAD:=$(call AutoProbe,thermal_sys)
780 endef
781
782 define KernelPackage/thermal/description
783 Generic Thermal Sysfs driver offers a generic mechanism for thermal
784 management. Usually it's made up of one or more thermal zone and cooling
785 device.
786 endef
787
788 $(eval $(call KernelPackage,thermal))
789
790
791 define KernelPackage/thermal-armada
792 SUBMENU:=$(OTHER_MENU)
793 TITLE:=Armada 370/XP thermal management
794 DEPENDS:=@TARGET_mvebu +kmod-thermal
795 KCONFIG:=CONFIG_ARMADA_THERMAL
796 FILES:=$(LINUX_DIR)/drivers/thermal/armada_thermal.ko
797 AUTOLOAD:=$(call AutoProbe,armada_thermal)
798 endef
799
800 define KernelPackage/thermal-armada/description
801 Enable this module if you want to have support for thermal management
802 controller present in Armada 370 and Armada XP SoC.
803 endef
804
805 $(eval $(call KernelPackage,thermal-armada))
806
807
808 define KernelPackage/thermal-imx
809 SUBMENU:=$(OTHER_MENU)
810 TITLE:=Temperature sensor driver for Freescale i.MX SoCs
811 DEPENDS:=@TARGET_imx6 +kmod-thermal
812 KCONFIG:= \
813 CONFIG_CPU_THERMAL=y \
814 CONFIG_IMX_THERMAL
815 FILES:=$(LINUX_DIR)/drivers/thermal/imx_thermal.ko
816 AUTOLOAD:=$(call AutoProbe,imx_thermal)
817 endef
818
819 define KernelPackage/thermal-imx/description
820 Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
821 It supports one critical trip point and one passive trip point. The
822 cpufreq is used as the cooling device to throttle CPUs when the
823 passive trip is crossed.
824 endef
825
826 $(eval $(call KernelPackage,thermal-imx))