kernel: bluetooth depends on crypto-hash
[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 AutoLoad,90,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 AutoLoad,91,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 AutoLoad,60,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 AutoLoad,61,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
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 AutoLoad,99,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-pcf857x
166   SUBMENU:=$(OTHER_MENU)
167   DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core
168   TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders
169   KCONFIG:=CONFIG_GPIO_PCF857X
170   FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko
171   AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x)
172 endef
173
174 define KernelPackage/gpio-pcf857x/description
175   Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders
176 endef
177
178 $(eval $(call KernelPackage,gpio-pcf857x))
179
180 define KernelPackage/lp
181   SUBMENU:=$(OTHER_MENU)
182   TITLE:=Parallel port and line printer support
183   DEPENDS:=@BROKEN
184   KCONFIG:= \
185         CONFIG_PARPORT \
186         CONFIG_PRINTER \
187         CONFIG_PPDEV
188   FILES:= \
189         $(LINUX_DIR)/drivers/parport/parport.ko \
190         $(LINUX_DIR)/drivers/char/lp.ko \
191         $(LINUX_DIR)/drivers/char/ppdev.ko
192   AUTOLOAD:=$(call AutoLoad,50,parport lp)
193 endef
194
195 $(eval $(call KernelPackage,lp))
196
197
198 define KernelPackage/mmc
199   SUBMENU:=$(OTHER_MENU)
200   TITLE:=MMC/SD Card Support
201   KCONFIG:= \
202         CONFIG_MMC \
203         CONFIG_MMC_BLOCK \
204         CONFIG_MMC_DEBUG=n \
205         CONFIG_MMC_UNSAFE_RESUME=n \
206         CONFIG_MMC_BLOCK_BOUNCE=y \
207         CONFIG_MMC_SDHCI=n \
208         CONFIG_MMC_TIFM_SD=n \
209         CONFIG_MMC_WBSD=n \
210         CONFIG_SDIO_UART=n
211   FILES:= \
212         $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
213         $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
214   AUTOLOAD:=$(call AutoLoad,90,mmc_core mmc_block,1)
215 endef
216
217 define KernelPackage/mmc/description
218  Kernel support for MMC/SD cards
219 endef
220
221 $(eval $(call KernelPackage,mmc))
222
223
224 define KernelPackage/oprofile
225   SUBMENU:=$(OTHER_MENU)
226   TITLE:=OProfile profiling support
227   KCONFIG:=CONFIG_OPROFILE
228   FILES:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/oprofile/oprofile.ko
229   DEPENDS:=@KERNEL_PROFILING
230 endef
231
232 define KernelPackage/oprofile/description
233   Kernel module for support for oprofile system profiling.
234 endef
235
236 $(eval $(call KernelPackage,oprofile))
237
238
239 define KernelPackage/rfkill
240   SUBMENU:=$(OTHER_MENU)
241   TITLE:=RF switch subsystem support
242   KCONFIG:= \
243     CONFIG_RFKILL \
244     CONFIG_RFKILL_INPUT=y \
245     CONFIG_RFKILL_LEDS=y \
246     CONFIG_RFKILL_GPIO=y
247   FILES:= \
248     $(LINUX_DIR)/net/rfkill/rfkill.ko
249   AUTOLOAD:=$(call AutoLoad,20,rfkill)
250   $(call SetDepends/rfkill,+kmod-input-core)
251 endef
252
253 define KernelPackage/rfkill/description
254   Say Y here if you want to have control over RF switches
255   found on many WiFi and Bluetooth cards.
256 endef
257
258 $(eval $(call KernelPackage,rfkill))
259
260
261 define KernelPackage/softdog
262   SUBMENU:=$(OTHER_MENU)
263   TITLE:=Software watchdog driver
264   KCONFIG:=CONFIG_SOFT_WATCHDOG
265   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
266   AUTOLOAD:=$(call AutoLoad,50,softdog)
267 endef
268
269 define KernelPackage/softdog/description
270  Software watchdog driver
271 endef
272
273 $(eval $(call KernelPackage,softdog))
274
275
276 define KernelPackage/ssb
277   SUBMENU:=$(OTHER_MENU)
278   TITLE:=Silicon Sonics Backplane glue code
279   DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
280   KCONFIG:=\
281         CONFIG_SSB \
282         CONFIG_SSB_B43_PCI_BRIDGE=y \
283         CONFIG_SSB_DRIVER_MIPS=n \
284         CONFIG_SSB_DRIVER_PCICORE=y \
285         CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
286         CONFIG_SSB_PCIHOST=y \
287         CONFIG_SSB_PCIHOST_POSSIBLE=y \
288         CONFIG_SSB_POSSIBLE=y \
289         CONFIG_SSB_SPROM=y \
290         CONFIG_SSB_SILENT=y
291   FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
292   AUTOLOAD:=$(call AutoLoad,29,ssb)
293 endef
294
295 define KernelPackage/ssb/description
296   Silicon Sonics Backplane glue code.
297 endef
298
299 $(eval $(call KernelPackage,ssb))
300
301
302 define KernelPackage/bcma
303   SUBMENU:=$(OTHER_MENU)
304   TITLE:=BCMA support
305   DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx
306   KCONFIG:=\
307         CONFIG_BCMA \
308         CONFIG_BCMA_POSSIBLE=y \
309         CONFIG_BCMA_BLOCKIO=y \
310         CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
311         CONFIG_BCMA_HOST_PCI=y \
312         CONFIG_BCMA_DRIVER_MIPS=n \
313         CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
314         CONFIG_BCMA_DRIVER_GMAC_CMN=n \
315         CONFIG_BCMA_DEBUG=n
316   FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
317   AUTOLOAD:=$(call AutoLoad,29,bcma)
318 endef
319
320 define KernelPackage/bcma/description
321    Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture.
322 endef
323
324 $(eval $(call KernelPackage,bcma))
325
326
327 define KernelPackage/wdt-omap
328   SUBMENU:=$(OTHER_MENU)
329   TITLE:=OMAP Watchdog timer
330   DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
331   KCONFIG:=CONFIG_OMAP_WATCHDOG
332   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
333   AUTOLOAD:=$(call AutoLoad,50,omap_wdt.ko)
334 endef
335
336 define KernelPackage/wdt-omap/description
337   Kernel module for TI omap watchdog timer.
338 endef
339
340 $(eval $(call KernelPackage,wdt-omap))
341
342
343 define KernelPackage/wdt-orion
344   SUBMENU:=$(OTHER_MENU)
345   TITLE:=Marvell Orion Watchdog timer
346   DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu
347   KCONFIG:=CONFIG_ORION_WATCHDOG
348   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
349   AUTOLOAD:=$(call AutoLoad,50,orion_wdt)
350 endef
351
352 define KernelPackage/wdt-orion/description
353   Kernel module for Marvell Orion, Kirkwood and Armada XP/370 watchdog timer.
354 endef
355
356 $(eval $(call KernelPackage,wdt-orion))
357
358
359 define KernelPackage/booke-wdt
360   SUBMENU:=$(OTHER_MENU)
361   TITLE:=PowerPC Book-E Watchdog Timer
362   DEPENDS:=@(TARGET_mpc85xx||TARGET_ppc40x||TARGET_ppc44x)
363   KCONFIG:=CONFIG_BOOKE_WDT
364   FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/booke_wdt.ko
365   AUTOLOAD:=$(call AutoLoad,50,booke_wdt)
366 endef
367
368 define KernelPackage/booke-wdt/description
369   Kernel module for PowerPC Book-E Watchdog Timer.
370 endef
371
372 $(eval $(call KernelPackage,booke-wdt))
373
374
375 define KernelPackage/pwm
376   SUBMENU:=$(OTHER_MENU)
377   TITLE:=PWM generic API
378   KCONFIG:=CONFIG_GENERIC_PWM
379   FILES:=$(LINUX_DIR)/drivers/pwm/pwm.ko
380   AUTOLOAD:=$(call AutoLoad,50,pwm)
381 endef
382
383 define KernelPackage/pwm/description
384  Kernel module that implement a generic PWM API
385 endef
386
387 $(eval $(call KernelPackage,pwm))
388
389
390 define KernelPackage/pwm-gpio
391   SUBMENU:=$(OTHER_MENU)
392   TITLE:=PWM over GPIO
393   DEPENDS:=+kmod-pwm
394   KCONFIG:=CONFIG_GPIO_PWM
395   FILES:=$(LINUX_DIR)/drivers/pwm/gpio-pwm.ko
396   AUTOLOAD:=$(call AutoLoad,51,gpio-pwm)
397 endef
398
399 define KernelPackage/pwm-gpio/description
400  Kernel module to models a single-channel PWM device using a timer and a GPIO pin
401 endef
402
403 $(eval $(call KernelPackage,pwm-gpio))
404
405
406 define KernelPackage/rtc-isl1208
407   SUBMENU:=$(OTHER_MENU)
408   TITLE:=Intersil ISL1208 RTC support
409   $(call AddDepends/rtc)
410   DEPENDS+=+kmod-i2c-core
411   KCONFIG:=CONFIG_RTC_DRV_ISL1208
412   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko
413   AUTOLOAD:=$(call AutoLoad,60,rtc-isl1208)
414 endef
415
416 define KernelPackage/rtc-isl1208/description
417  Kernel module for Intersil ISL1208 RTC.
418 endef
419
420 $(eval $(call KernelPackage,rtc-isl1208))
421
422
423 define KernelPackage/rtc-marvell
424   SUBMENU:=$(OTHER_MENU)
425   TITLE:=Marvell SoC built-in RTC support
426   $(call AddDepends/rtc)
427   DEPENDS+=@TARGET_kirkwood||TARGET_orion||TARGET_mvebu
428   KCONFIG:=CONFIG_RTC_DRV_MV
429   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
430   AUTOLOAD:=$(call AutoLoad,60,rtc-mv)
431 endef
432
433 define KernelPackage/rtc-marvell/description
434  Kernel module for Marvell SoC built-in RTC.
435 endef
436
437 $(eval $(call KernelPackage,rtc-marvell))
438
439 define KernelPackage/rtc-pcf8563
440   SUBMENU:=$(OTHER_MENU)
441   TITLE:=Philips PCF8563/Epson RTC8564 RTC support
442   $(call AddDepends/rtc)
443   KCONFIG:=CONFIG_RTC_DRV_PCF8563
444   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
445   AUTOLOAD:=$(call AutoLoad,60,rtc-pcf8563)
446 endef
447
448 define KernelPackage/rtc-pcf8563/description
449  Kernel module for Philips PCF8563 RTC chip.
450  The Epson RTC8564 should work as well.
451 endef
452
453 $(eval $(call KernelPackage,rtc-pcf8563))
454
455
456 define KernelPackage/rtc-pcf2123
457   SUBMENU:=$(OTHER_MENU)
458   TITLE:=Philips PCF2123 RTC support
459   $(call AddDepends/rtc)
460   KCONFIG:=CONFIG_RTC_DRV_PCF2123
461   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
462   AUTOLOAD:=$(call AutoLoad,60,rtc-pcf2123)
463 endef
464
465 define KernelPackage/rtc-pcf2123/description
466  Kernel module for Philips PCF2123 RTC chip.
467 endef
468
469 $(eval $(call KernelPackage,rtc-pcf2123))
470
471 define KernelPackage/rtc-pt7c4338
472   SUBMENU:=$(OTHER_MENU)
473   TITLE:=Pericom PT7C4338 RTC support
474   $(call AddDepends/rtc,+kmod-i2c-core)
475   KCONFIG:=CONFIG_RTC_DRV_PT7C4338
476   FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
477   AUTOLOAD:=$(call AutoLoad,60,rtc-pt7c4338)
478 endef
479
480 define KernelPackage/rtc-pt7c4338/description
481  Kernel module for Pericom PT7C4338 i2c RTC chip.
482 endef
483
484 $(eval $(call KernelPackage,rtc-pt7c4338))
485
486
487 define KernelPackage/mtdtests
488   SUBMENU:=$(OTHER_MENU)
489   TITLE:=MTD subsystem tests
490   KCONFIG:=CONFIG_MTD_TESTS
491   FILES:=\
492         $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
493         $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
494         $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
495         $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
496         $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
497         $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
498         $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
499         $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
500 endef
501
502 define KernelPackage/mtdtests/description
503  Kernel modules for MTD subsystem/driver testing.
504 endef
505
506 $(eval $(call KernelPackage,mtdtests))
507
508
509 define KernelPackage/nand
510   SUBMENU:=$(OTHER_MENU)
511   TITLE:=NAND flash support
512   KCONFIG:=CONFIG_MTD_NAND \
513         CONFIG_MTD_NAND_IDS \
514         CONFIG_MTD_NAND_ECC
515   FILES:= \
516         $(LINUX_DIR)/drivers/mtd/nand/nand_ids.ko \
517         $(LINUX_DIR)/drivers/mtd/nand/nand_ecc.ko \
518         $(LINUX_DIR)/drivers/mtd/nand/nand.ko
519   AUTOLOAD:=$(call AutoLoad,20,nand_ids nand_ecc nand)
520 endef
521
522 define KernelPackage/nand/description
523  Kernel module for NAND support.
524 endef
525
526 $(eval $(call KernelPackage,nand))
527
528
529 define KernelPackage/nandsim
530   SUBMENU:=$(OTHER_MENU)
531   TITLE:=NAND simulator
532   DEPENDS:=+kmod-nand
533   KCONFIG:=CONFIG_MTD_NAND_NANDSIM
534   FILES:=$(LINUX_DIR)/drivers/mtd/nand/nandsim.ko
535 endef
536
537 define KernelPackage/nandsim/description
538  Kernel module for NAND flash simulation.
539 endef
540
541 $(eval $(call KernelPackage,nandsim))
542
543 define KernelPackage/serial-8250
544   SUBMENU:=$(OTHER_MENU)
545   TITLE:=8250 UARTs
546   KCONFIG:= CONFIG_SERIAL_8250 \
547         CONFIG_SERIAL_8250_NR_UARTS=16 \
548         CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
549         CONFIG_SERIAL_8250_EXTENDED=y \
550         CONFIG_SERIAL_8250_MANY_PORTS=y \
551         CONFIG_SERIAL_8250_SHARE_IRQ=y \
552         CONFIG_SERIAL_8250_DETECT_IRQ=n \
553         CONFIG_SERIAL_8250_RSA=n
554   FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250$(if $(call kernel_patchver_ge,3.7),$(if $(call kernel_patchver_le,3.8),_core)).ko
555 endef
556
557 define KernelPackage/serial-8250/description
558  Kernel module for 8250 UART based serial ports.
559 endef
560
561 $(eval $(call KernelPackage,serial-8250))
562
563
564 define KernelPackage/regmap
565   SUBMENU:=$(OTHER_MENU)
566   TITLE:=Generic register map support
567   DEPENDS:=+kmod-lib-lzo +kmod-i2c-core
568   KCONFIG:=CONFIG_REGMAP \
569            CONFIG_REGMAP_SPI \
570            CONFIG_REGMAP_I2C \
571            CONFIG_SPI=y
572   FILES:= \
573         $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko \
574         $(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko \
575         $(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko
576   AUTOLOAD:=$(call AutoLoad,21,regmap-core regmap-i2c regmap-spi)
577 endef
578
579 define KernelPackage/regmap/description
580   Generic register map support
581 endef
582
583 $(eval $(call KernelPackage,regmap))
584
585 define KernelPackage/ikconfig
586   SUBMENU:=$(OTHER_MENU)
587   TITLE:=Kernel configuration via /proc/config.gz
588   KCONFIG:=CONFIG_IKCONFIG \
589            CONFIG_IKCONFIG_PROC=y
590   FILES:=$(LINUX_DIR)/kernel/configs.ko
591   AUTOLOAD:=$(call AutoLoad,70,configs)
592 endef
593
594 define KernelPackage/ikconfig/description
595         Kernel configuration via /proc/config.gz
596 endef
597
598 $(eval $(call KernelPackage,ikconfig))
599
600
601 define KernelPackage/zram
602   SUBMENU:=$(OTHER_MENU)
603   TITLE:=ZRAM
604   DEPENDS:=@!LINUX_3_3 +kmod-lib-lzo
605   KCONFIG:= \
606         CONFIG_ZSMALLOC \
607         CONFIG_ZRAM \
608         CONFIG_ZRAM_DEBUG=n
609   FILES:= \
610         $(LINUX_DIR)/drivers/staging/zsmalloc/zsmalloc.ko \
611         $(LINUX_DIR)/drivers/staging/zram/zram.ko
612   AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram)
613 endef
614
615 define KernelPackage/zram/description
616  Compressed RAM block device support
617 endef
618
619 $(eval $(call KernelPackage,zram))
620
621
622 define KernelPackage/mvsdio
623   SUBMENU:=$(OTHER_MENU)
624   TITLE:=Marvell SDIO support
625   DEPENDS:=@TARGET_orion||TARGET_kirkwood||TARGET_mvebu +kmod-mmc
626   KCONFIG:=CONFIG_MMC_MVSDIO
627   FILES:=$(LINUX_DIR)/drivers/mmc/host/mvsdio.ko
628   AUTOLOAD:=$(call AutoLoad,91,mvsdio)
629 endef
630
631 define KernelPacakge/mvsdio/description
632   Kernel support for the Marvell SDIO controller
633 endef
634
635 $(eval $(call KernelPackage,mvsdio))
636
637
638 define KernelPackage/pps
639   SUBMENU:=$(OTHER_MENU)
640   TITLE:=PPS support
641   KCONFIG:=CONFIG_PPS
642   FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko
643   AUTOLOAD:=$(call AutoLoad,17,pps_core,1)
644 endef
645
646 define KernelPacakge/pps/description
647   PPS (Pulse Per Second) is a special pulse provided by some GPS
648   antennae. Userland can use it to get a high-precision time
649   reference.
650 endef
651
652 $(eval $(call KernelPackage,pps))
653
654
655 define KernelPackage/ptp
656   SUBMENU:=$(OTHER_MENU)
657   TITLE:=PTP clock support
658   DEPENDS:=+kmod-pps
659   KCONFIG:=CONFIG_PTP_1588_CLOCK
660   FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko
661   AUTOLOAD:=$(call AutoLoad,18,ptp,1)
662 endef
663
664 define KernelPacakge/ptp/description
665   The IEEE 1588 standard defines a method to precisely
666   synchronize distributed clocks over Ethernet networks.
667 endef
668
669 $(eval $(call KernelPackage,ptp))
670
671
672 define KernelPackage/ptp-gianfar
673   SUBMENU:=$(OTHER_MENU)
674   TITLE:=Freescale Gianfar PTP support
675   DEPENDS:=@TARGET_mpc85xx +kmod-gianfar +kmod-ptp
676   KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR
677   FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko
678   AUTOLOAD:=$(call AutoLoad,51,gianfar_ptp)
679 endef
680
681 define KernelPacakge/ptp-gianfar/description
682   Kernel module for IEEE 1588 support for Freescale
683   Gianfar Ethernet drivers.
684 endef
685
686 $(eval $(call KernelPackage,ptp-gianfar))
687
688 define KernelPackage/random-core
689   SUBMENU:=$(OTHER_MENU)
690   TITLE:=Hardware Random Number Generator Core support
691   KCONFIG:=CONFIG_HW_RANDOM
692   FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko
693   AUTOLOAD:=$(call AutoLoad,10,rng-core)
694 endef
695
696 define KernelPackage/random-core/description
697    Kernel module for the HW random number generator core infrastructure
698 endef
699
700 $(eval $(call KernelPackage,random-core))