kernel: mark kmod-thermal menuconfig symbol as hidden to avoid building it on targets...
[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
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         $(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         $(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))