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