c1adc66c524e8b04356086d8c566adc2ea80eaad
[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   FILES:= \
710         $(LINUX_DIR)/drivers/staging/zsmalloc/zsmalloc.ko \
711         $(LINUX_DIR)/drivers/staging/zram/zram.ko
712   AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
713 endef
714
715 define KernelPackage/zram/description
716  Compressed RAM block device support
717 endef
718
719 $(eval $(call KernelPackage,zram))
720
721
722 define KernelPackage/mvsdio
723   SUBMENU:=$(OTHER_MENU)
724   TITLE:=Marvell SDIO support
725   DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu +kmod-mmc
726   KCONFIG:=CONFIG_MMC_MVSDIO
727   FILES:=$(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
728   AUTOLOAD:=$(call AutoProbe,mvsdio)
729 endef
730
731 define KernelPacakge/mvsdio/description
732  Kernel support for the Marvell SDIO controller
733 endef
734
735 $(eval $(call KernelPackage,mvsdio))
736
737
738 define KernelPackage/pps
739   SUBMENU:=$(OTHER_MENU)
740   TITLE:=PPS support
741   KCONFIG:=CONFIG_PPS
742   FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
743   AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
744 endef
745
746 define KernelPacakge/pps/description
747  PPS (Pulse Per Second) is a special pulse provided by some GPS
748  antennae. Userland can use it to get a high-precision time
749  reference.
750 endef
751
752 $(eval $(call KernelPackage,pps))
753
754
755 define KernelPackage/ptp
756   SUBMENU:=$(OTHER_MENU)
757   TITLE:=PTP clock support
758   DEPENDS:=+kmod-pps
759   KCONFIG:=CONFIG_PTP_1588_CLOCK
760   FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
761   AUTOLOAD:=$(call AutoLoad,18,ptp,1)
762 endef
763
764 define KernelPacakge/ptp/description
765  The IEEE 1588 standard defines a method to precisely
766  synchronize distributed clocks over Ethernet networks.
767 endef
768
769 $(eval $(call KernelPackage,ptp))
770
771
772 define KernelPackage/ptp-gianfar
773   SUBMENU:=$(OTHER_MENU)
774   TITLE:=Freescale Gianfar PTP support
775   DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
776   KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
777   FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
778   AUTOLOAD:=$(call AutoProbe,gianfar_ptp)
779 endef
780
781 define KernelPacakge/ptp-gianfar/description
782  Kernel module for IEEE 1588 support for Freescale
783  Gianfar Ethernet drivers
784 endef
785
786 $(eval $(call KernelPackage,ptp-gianfar))
787
788
789 define KernelPackage/random-core
790   SUBMENU:=$(OTHER_MENU)
791   TITLE:=Hardware Random Number Generator Core support
792   KCONFIG:=CONFIG_HW_RANDOM
793   FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
794 endef
795
796 define KernelPackage/random-core/description
797  Kernel module for the HW random number generator core infrastructure
798 endef
799
800 $(eval $(call KernelPackage,random-core))
801
802
803 define KernelPackage/thermal
804   SUBMENU:=$(OTHER_MENU)
805   TITLE:=Generic Thermal sysfs driver
806   DEPENDS:=+kmod-hwmon-core
807   HIDDEN:=1
808   KCONFIG:= \
809         CONFIG_THERMAL \
810         CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \
811         CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \
812         CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \
813         CONFIG_THERMAL_GOV_FAIR_SHARE=n \
814         CONFIG_THERMAL_GOV_STEP_WISE=y \
815         CONFIG_THERMAL_GOV_USER_SPACE=n \
816         CONFIG_THERMAL_EMULATION=n
817   FILES:=$(LINUX_DIR)/drivers/thermal/thermal_sys.ko
818   AUTOLOAD:=$(call AutoProbe,thermal_sys)
819 endef
820
821 define KernelPackage/thermal/description
822  Generic Thermal Sysfs driver offers a generic mechanism for thermal
823  management. Usually it's made up of one or more thermal zone and cooling
824  device.
825 endef
826
827 $(eval $(call KernelPackage,thermal))
828
829
830 define KernelPackage/thermal-armada
831   SUBMENU:=$(OTHER_MENU)
832   TITLE:=Armada 370/XP thermal management
833   DEPENDS:=@TARGET_mvebu +kmod-thermal
834   KCONFIG:=CONFIG_ARMADA_THERMAL
835   FILES:=$(LINUX_DIR)/drivers/thermal/armada_thermal.ko
836   AUTOLOAD:=$(call AutoProbe,armada_thermal)
837 endef
838
839 define KernelPackage/thermal-armada/description
840  Enable this module if you want to have support for thermal management
841  controller present in Armada 370 and Armada XP SoC.
842 endef
843
844 $(eval $(call KernelPackage,thermal-armada))
845
846
847 define KernelPackage/thermal-imx
848   SUBMENU:=$(OTHER_MENU)
849   TITLE:=Temperature sensor driver for Freescale i.MX SoCs
850   DEPENDS:=@TARGET_imx6 +kmod-thermal
851   KCONFIG:= \
852         CONFIG_CPU_THERMAL=y \
853         CONFIG_IMX_THERMAL
854   FILES:=$(LINUX_DIR)/drivers/thermal/imx_thermal.ko
855   AUTOLOAD:=$(call AutoProbe,imx_thermal)
856 endef
857
858 define KernelPackage/thermal-imx/description
859  Support for Temperature Monitor (TEMPMON) found on Freescale i.MX SoCs.
860  It supports one critical trip point and one passive trip point. The
861  cpufreq is used as the cooling device to throttle CPUs when the
862  passive trip is crossed.
863 endef
864
865 $(eval $(call KernelPackage,thermal-imx))
866
867
868 define KernelPackage/thermal-kirkwood
869   SUBMENU:=$(OTHER_MENU)
870   TITLE:=Temperature sensor on Marvell Kirkwood SoCs
871   DEPENDS:=@TARGET_kirkwood +kmod-thermal
872   KCONFIG:=CONFIG_KIRKWOOD_THERMAL
873   FILES:=$(LINUX_DIR)/drivers/thermal/kirkwood_thermal.ko
874   AUTOLOAD:=$(call AutoProbe,kirkwood_thermal)
875 endef
876
877 define KernelPackage/thermal-kirkwood/description
878  Support for the Kirkwood thermal sensor driver into the Linux thermal
879  framework. Only kirkwood 88F6282 and 88F6283 have this sensor.
880 endef
881
882 $(eval $(call KernelPackage,thermal-kirkwood))