2 # Copyright (C) 2006-2010 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 OTHER_MENU:=Other modules
10 WATCHDOG_DIR:=watchdog
13 define KernelPackage/bluetooth
14 SUBMENU:=$(OTHER_MENU)
15 TITLE:=Bluetooth support
16 DEPENDS:=@USB_SUPPORT +kmod-usb-core
23 CONFIG_BLUEZ_HCIUART \
34 CONFIG_BT_HCIUART_H4 \
36 $(call AddDepends/crc16)
37 $(call AddDepends/hid)
38 $(call AddDepends/rfkill)
40 $(LINUX_DIR)/net/bluetooth/bluetooth.ko \
41 $(LINUX_DIR)/net/bluetooth/l2cap.ko \
42 $(LINUX_DIR)/net/bluetooth/sco.ko \
43 $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \
44 $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \
45 $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \
46 $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \
47 $(LINUX_DIR)/drivers/bluetooth/btusb.ko
48 AUTOLOAD:=$(call AutoLoad,90,bluetooth l2cap sco rfcomm bnep hidp hci_uart btusb)
51 define KernelPackage/bluetooth/description
52 Kernel support for Bluetooth devices
55 $(eval $(call KernelPackage,bluetooth))
58 define KernelPackage/crc-ccitt
59 SUBMENU:=$(OTHER_MENU)
60 TITLE:=CRC-CCITT support
61 KCONFIG:=CONFIG_CRC_CCITT
62 FILES:=$(LINUX_DIR)/lib/crc-ccitt.ko
63 AUTOLOAD:=$(call AutoLoad,20,crc-ccitt)
66 define KernelPackage/crc-ccitt/description
67 Kernel module for CRC-CCITT support
70 $(eval $(call KernelPackage,crc-ccitt))
73 define KernelPackage/crc-itu-t
74 SUBMENU:=$(OTHER_MENU)
75 TITLE:=CRC ITU-T V.41 support
76 KCONFIG:=CONFIG_CRC_ITU_T
77 FILES:=$(LINUX_DIR)/lib/crc-itu-t.ko
78 AUTOLOAD:=$(call AutoLoad,20,crc-itu-t)
81 define KernelPackage/crc-itu-t/description
82 Kernel module for CRC ITU-T V.41 support
85 $(eval $(call KernelPackage,crc-itu-t))
88 define KernelPackage/crc7
89 SUBMENU:=$(OTHER_MENU)
92 FILES:=$(LINUX_DIR)/lib/crc7.ko
93 AUTOLOAD:=$(call AutoLoad,20,crc7)
96 define KernelPackage/crc7/description
97 Kernel module for CRC7 support
100 $(eval $(call KernelPackage,crc7))
103 define KernelPackage/crc16
104 SUBMENU:=$(OTHER_MENU)
106 KCONFIG:=CONFIG_CRC16
107 FILES:=$(LINUX_DIR)/lib/crc16.ko
108 AUTOLOAD:=$(call AutoLoad,20,crc16,1)
109 $(call SetDepends/crc16)
112 define KernelPackage/crc16/description
113 Kernel module for CRC16 support
116 $(eval $(call KernelPackage,crc16))
119 define KernelPackage/eeprom-93cx6
120 SUBMENU:=$(OTHER_MENU)
121 TITLE:=EEPROM 93CX6 support
122 KCONFIG:=CONFIG_EEPROM_93CX6
123 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
124 AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
127 define KernelPackage/eeprom-93cx6/description
128 Kernel module for EEPROM 93CX6 support
131 $(eval $(call KernelPackage,eeprom-93cx6))
134 define KernelPackage/gpio-cs5535
135 SUBMENU:=$(OTHER_MENU)
136 TITLE:=AMD CS5535/CS5536 GPIO driver
138 KCONFIG:=CONFIG_CS5535_GPIO
139 FILES:=$(LINUX_DIR)/drivers/char/cs5535_gpio.ko
140 AUTOLOAD:=$(call AutoLoad,50,cs5535_gpio)
143 define KernelPackage/gpio-cs5535/description
144 This package contains the AMD CS5535/CS5536 GPIO driver
147 $(eval $(call KernelPackage,gpio-cs5535))
150 define KernelPackage/gpio-dev
151 SUBMENU:=$(OTHER_MENU)
152 TITLE:=Generic GPIO char device support
153 DEPENDS:=@GPIO_SUPPORT
154 KCONFIG:=CONFIG_GPIO_DEVICE
155 FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
156 AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
159 define KernelPackage/gpio-dev/description
160 Kernel module to allows control of GPIO pins using a character device.
163 $(eval $(call KernelPackage,gpio-dev))
166 define KernelPackage/gpio-nsc
167 SUBMENU:=$(OTHER_MENU)
168 TITLE:=Natsemi GPIO support
170 KCONFIG:=CONFIG_NSC_GPIO
171 FILES:=$(LINUX_DIR)/drivers/char/nsc_gpio.ko
172 AUTOLOAD:=$(call AutoLoad,40,nsc_gpio)
175 define KernelPackage/gpio-nsc/description
176 Kernel module for Natsemi GPIO
179 $(eval $(call KernelPackage,gpio-nsc))
182 define KernelPackage/gpio-pc8736x
183 SUBMENU:=$(OTHER_MENU)
184 TITLE:=PC8736x GPIO support
186 KCONFIG:=CONFIG_PC8736x_GPIO
187 FILES:=$(LINUX_DIR)/drivers/char/pc8736x_gpio.ko
188 AUTOLOAD:=$(call AutoLoad,40,pc8736x_gpio)
191 define KernelPackage/gpio-pc8736x/description
192 Kernel module for PC8736x GPIO
195 $(eval $(call KernelPackage,gpio-pc8736x))
198 define KernelPackage/gpio-scx200
199 SUBMENU:=$(OTHER_MENU)
200 TITLE:=Natsemi SCX200 GPIO support
201 DEPENDS:=@TARGET_x86 +kmod-gpio-nsc
202 KCONFIG:=CONFIG_SCx200_GPIO
203 FILES:=$(LINUX_DIR)/drivers/char/scx200_gpio.ko
204 AUTOLOAD:=$(call AutoLoad,50,scx200_gpio)
207 define KernelPackage/gpio-scx200/description
208 Kernel module for SCX200 GPIO
211 $(eval $(call KernelPackage,gpio-scx200))
213 define KernelPackage/gpio-nxp-74hc164
214 SUBMENU:=$(OTHER_MENU)
215 TITLE:=NXP 74HC164 GPIO expander support
216 DEPENDS:=@TARGET_brcm63xx
217 KCONFIG:=CONFIG_GPIO_NXP_74HC164
218 FILES:=$(LINUX_DIR)/drivers/gpio/nxp_74hc164.ko
219 AUTOLOAD:=$(call AutoLoad,99,nxp_74hc164)
222 define KernelPackage/gpio-nxp-74hc164/description
223 Kernel module for NXP 74HC164 GPIO expander
226 $(eval $(call KernelPackage,gpio-nxp-74hc164))
228 define KernelPackage/hid
229 SUBMENU:=$(OTHER_MENU)
231 DEPENDS:=+kmod-input-evdev
233 FILES:=$(LINUX_DIR)/drivers/hid/hid.ko
234 AUTOLOAD:=$(call AutoLoad,61,hid)
235 $(call SetDepends/hid)
236 $(call AddDepends/input)
239 define KernelPackage/hid/description
240 Kernel modules for HID devices
243 $(eval $(call KernelPackage,hid))
246 define KernelPackage/input-core
247 SUBMENU:=$(OTHER_MENU)
248 TITLE:=Input device core
249 KCONFIG:=CONFIG_INPUT
250 $(call SetDepends/input)
251 FILES:=$(LINUX_DIR)/drivers/input/input-core.ko
252 AUTOLOAD:=$(call AutoLoad,19,input-core)
255 define KernelPackage/input-core/description
256 Kernel modules for support of input device
259 $(eval $(call KernelPackage,input-core))
262 define KernelPackage/input-evdev
263 SUBMENU:=$(OTHER_MENU)
264 TITLE:=Input event device
265 KCONFIG:=CONFIG_INPUT_EVDEV
266 FILES:=$(LINUX_DIR)/drivers/input/evdev.ko
267 AUTOLOAD:=$(call AutoLoad,60,evdev)
268 $(call AddDepends/input)
271 define KernelPackage/input-evdev/description
272 Kernel modules for support of input device events
275 $(eval $(call KernelPackage,input-evdev))
278 define KernelPackage/input-gpio-buttons
279 SUBMENU:=$(OTHER_MENU)
280 TITLE:=Polled GPIO buttons input device
281 DEPENDS:=@GPIO_SUPPORT +kmod-input-polldev
283 CONFIG_INPUT_GPIO_BUTTONS \
285 FILES:=$(LINUX_DIR)/drivers/input/misc/gpio_buttons.ko
286 AUTOLOAD:=$(call AutoLoad,62,gpio_buttons)
289 define KernelPackage/input-gpio-buttons/description
290 Kernel module for support polled GPIO buttons input device
293 $(eval $(call KernelPackage,input-gpio-buttons))
296 define KernelPackage/input-gpio-keys
297 SUBMENU:=$(OTHER_MENU)
298 TITLE:=GPIO key support
299 DEPENDS:= @GPIO_SUPPORT
300 KCONFIG:=CONFIG_KEYBOARD_GPIO
301 FILES:=$(LINUX_DIR)/drivers/input/keyboard/gpio_keys.ko
302 AUTOLOAD:=$(call AutoLoad,60,gpio_keys)
303 $(call AddDepends/input)
306 define KernelPackage/input-gpio-keys/description
307 This driver implements support for buttons connected
308 to GPIO pins of various CPUs (and some other chips).
311 $(eval $(call KernelPackage,input-gpio-keys))
314 define KernelPackage/input-gpio-encoder
315 SUBMENU:=$(OTHER_MENU)
316 TITLE:=GPIO rotay encoder
317 KCONFIG:=CONFIG_INPUT_GPIO_ROTARY_ENCODER
318 FILES:=$(LINUX_DIR)/drivers/input/misc/rotary_encoder.ko
319 AUTOLOAD:=$(call AutoLoad,62,rotary_encoder)
320 $(call AddDepends/input,@GPIO_SUPPORT)
323 define KernelPackage/gpio-encoder/description
324 Kernel module to use rotary encoders connected to GPIO pins
327 $(eval $(call KernelPackage,input-gpio-encoder))
330 define KernelPackage/input-joydev
331 SUBMENU:=$(OTHER_MENU)
332 TITLE:=Joystick device support
333 KCONFIG:=CONFIG_INPUT_JOYDEV
334 FILES:=$(LINUX_DIR)/drivers/input/joydev.ko
335 AUTOLOAD:=$(call AutoLoad,62,joydev)
336 $(call AddDepends/input)
339 define KernelPackage/input-joydev/description
340 Kernel module for joystick support
343 $(eval $(call KernelPackage,input-joydev))
346 define KernelPackage/input-polldev
347 SUBMENU:=$(OTHER_MENU)
348 TITLE:=Polled Input device support
349 KCONFIG:=CONFIG_INPUT_POLLDEV
350 FILES:=$(LINUX_DIR)/drivers/input/input-polldev.ko
351 AUTOLOAD:=$(call AutoLoad,20,input-polldev)
352 $(call AddDepends/input)
355 define KernelPackage/input-polldev/description
356 Kernel module for support of polled input devices
359 $(eval $(call KernelPackage,input-polldev))
362 define KernelPackage/leds-alix
363 SUBMENU:=$(OTHER_MENU)
364 TITLE:=PCengines ALIX LED support
366 KCONFIG:=CONFIG_LEDS_ALIX2
367 FILES:=$(LINUX_DIR)/drivers/leds/leds-alix2.ko
368 AUTOLOAD:=$(call AutoLoad,50,leds-alix2)
371 define KernelPackage/leds-alix/description
372 Kernel module for PCengines ALIX LEDs
375 $(eval $(call KernelPackage,leds-alix))
378 define KernelPackage/leds-gpio
379 SUBMENU:=$(OTHER_MENU)
380 TITLE:=GPIO LED support
381 DEPENDS:= @GPIO_SUPPORT
382 KCONFIG:=CONFIG_LEDS_GPIO
383 FILES:=$(LINUX_DIR)/drivers/leds/leds-gpio.ko
384 AUTOLOAD:=$(call AutoLoad,60,leds-gpio)
387 define KernelPackage/leds-gpio/description
388 Kernel module for LEDs on GPIO lines
391 $(eval $(call KernelPackage,leds-gpio))
394 define KernelPackage/leds-net48xx
395 SUBMENU:=$(OTHER_MENU)
396 TITLE:=Soekris Net48xx LED support
397 DEPENDS:=@TARGET_x86 +kmod-gpio-scx200
398 KCONFIG:=CONFIG_LEDS_NET48XX
399 FILES:=$(LINUX_DIR)/drivers/leds/leds-net48xx.ko
400 AUTOLOAD:=$(call AutoLoad,50,leds-net48xx)
403 define KernelPackage/leds-net48xx/description
404 Kernel module for Soekris Net48xx LEDs
407 $(eval $(call KernelPackage,leds-net48xx))
410 define KernelPackage/leds-rb750
411 SUBMENU:=$(OTHER_MENU)
412 TITLE:=RouterBOARD 750 LED support
413 DEPENDS:=@TARGET_ar71xx
414 KCONFIG:=CONFIG_LEDS_RB750
415 FILES:=$(LINUX_DIR)/drivers/leds/leds-rb750.ko
416 AUTOLOAD:=$(call AutoLoad,60,leds-rb750)
419 define KernelPackage/leds-rb750/description
420 Kernel module for the LEDs on the MikroTik RouterBOARD 750.
423 $(eval $(call KernelPackage,leds-rb750))
426 define KernelPackage/leds-wndr3700-usb
427 SUBMENU:=$(OTHER_MENU)
428 TITLE:=WNDR3700 USB LED support
429 DEPENDS:=@TARGET_ar71xx
430 KCONFIG:=CONFIG_LEDS_WNDR3700_USB
431 FILES:=$(LINUX_DIR)/drivers/leds/leds-wndr3700-usb.ko
432 AUTOLOAD:=$(call AutoLoad,60,leds-wndr3700-usb)
435 define KernelPackage/leds-wndr3700-usb/description
436 Kernel module for the USB LED on the NETGWR WNDR3700 board.
439 $(eval $(call KernelPackage,leds-wndr3700-usb))
442 define KernelPackage/leds-wrap
443 SUBMENU:=$(OTHER_MENU)
444 TITLE:=PCengines WRAP LED support
445 DEPENDS:=@TARGET_x86 +kmod-gpio-scx200
446 KCONFIG:=CONFIG_LEDS_WRAP
447 FILES:=$(LINUX_DIR)/drivers/leds/leds-wrap.ko
448 AUTOLOAD:=$(call AutoLoad,50,leds-wrap)
451 define KernelPackage/leds-wrap/description
452 Kernel module for PCengines WRAP LEDs
455 $(eval $(call KernelPackage,leds-wrap))
458 define KernelPackage/ledtrig-morse
459 SUBMENU:=$(OTHER_MENU)
460 TITLE:=LED Morse Trigger
461 KCONFIG:=CONFIG_LEDS_TRIGGER_MORSE
462 FILES:=$(LINUX_DIR)/drivers/leds/ledtrig-morse.ko
463 AUTOLOAD:=$(call AutoLoad,50,ledtrig-morse)
466 define KernelPackage/ledtrig-morse/description
467 Kernel module to show morse coded messages on LEDs.
470 $(eval $(call KernelPackage,ledtrig-morse))
473 define KernelPackage/ledtrig-netdev
474 SUBMENU:=$(OTHER_MENU)
475 TITLE:=LED NETDEV Trigger
476 KCONFIG:=CONFIG_LEDS_TRIGGER_NETDEV
477 FILES:=$(LINUX_DIR)/drivers/leds/ledtrig-netdev.ko
478 AUTOLOAD:=$(call AutoLoad,50,ledtrig-netdev)
481 define KernelPackage/ledtrig-netdev/description
482 Kernel module to drive LEDs based on network activity.
485 $(eval $(call KernelPackage,ledtrig-netdev))
488 define KernelPackage/lp
489 SUBMENU:=$(OTHER_MENU)
490 TITLE:=Parallel port and line printer support
497 $(LINUX_DIR)/drivers/parport/parport.ko \
498 $(LINUX_DIR)/drivers/char/lp.ko \
499 $(LINUX_DIR)/drivers/char/ppdev.ko
500 AUTOLOAD:=$(call AutoLoad,50,parport lp)
503 $(eval $(call KernelPackage,lp))
506 define KernelPackage/mmc
507 SUBMENU:=$(OTHER_MENU)
508 TITLE:=MMC/SD Card Support
513 CONFIG_MMC_UNSAFE_RESUME=n \
514 CONFIG_MMC_BLOCK_BOUNCE=y \
516 CONFIG_MMC_TIFM_SD=n \
520 $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
521 $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
522 AUTOLOAD:=$(call AutoLoad,90,mmc_core mmc_block,1)
525 define KernelPackage/mmc/description
526 Kernel support for MMC/SD cards
529 $(eval $(call KernelPackage,mmc))
532 define KernelPackage/mmc-atmelmci
533 SUBMENU:=$(OTHER_MENU)
534 TITLE:=Amtel MMC Support
535 DEPENDS:=@TARGET_avr32 +kmod-mmc
536 KCONFIG:=CONFIG_MMC_ATMELMCI
537 FILES:=$(LINUX_DIR)/drivers/mmc/host/atmel-mci.ko
538 AUTOLOAD:=$(call AutoLoad,90,atmel-mci)
541 define KernelPackage/mmc-atmelmci/description
542 Kernel support for Atmel Multimedia Card Interface.
545 $(eval $(call KernelPackage,mmc-atmelmci,1))
548 define KernelPackage/rfkill
549 SUBMENU:=$(OTHER_MENU)
550 TITLE:=RF switch subsystem support
553 CONFIG_RFKILL_INPUT=y \
555 ifeq ($(CONFIG_LINUX_2_6_30),)
557 $(LINUX_DIR)/net/rfkill/rfkill.ko
558 AUTOLOAD:=$(call AutoLoad,20,rfkill)
561 $(LINUX_DIR)/net/rfkill/rfkill.ko \
562 $(LINUX_DIR)/net/rfkill/rfkill-input.ko
563 AUTOLOAD:=$(call AutoLoad,20,rfkill rfkill-input)
565 $(call SetDepends/rfkill)
568 define KernelPackage/rfkill/description
569 Say Y here if you want to have control over RF switches
570 found on many WiFi and Bluetooth cards.
573 $(eval $(call KernelPackage,rfkill))
576 define KernelPackage/softdog
577 SUBMENU:=$(OTHER_MENU)
578 TITLE:=Software watchdog driver
579 KCONFIG:=CONFIG_SOFT_WATCHDOG
580 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
581 AUTOLOAD:=$(call AutoLoad,50,softdog)
584 define KernelPackage/softdog/description
585 Software watchdog driver
588 $(eval $(call KernelPackage,softdog))
591 define KernelPackage/ssb
592 SUBMENU:=$(OTHER_MENU)
593 TITLE:=Silicon Sonics Backplane glue code
594 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
597 CONFIG_SSB_B43_PCI_BRIDGE=y \
598 CONFIG_SSB_DRIVER_MIPS=n \
599 CONFIG_SSB_DRIVER_PCICORE=y \
600 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
601 CONFIG_SSB_PCIHOST=y \
602 CONFIG_SSB_PCIHOST_POSSIBLE=y \
603 CONFIG_SSB_POSSIBLE=y \
606 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
607 AUTOLOAD:=$(call AutoLoad,29,ssb)
610 define KernelPackage/ssb/description
611 Silicon Sonics Backplane glue code.
614 $(eval $(call KernelPackage,ssb))
617 define KernelPackage/textsearch
618 SUBMENU:=$(OTHER_MENU)
619 TITLE:=Textsearch support is selected if needed
621 CONFIG_TEXTSEARCH=y \
622 CONFIG_TEXTSEARCH_KMP \
623 CONFIG_TEXTSEARCH_BM \
624 CONFIG_TEXTSEARCH_FSM
626 $(LINUX_DIR)/lib/ts_kmp.ko \
627 $(LINUX_DIR)/lib/ts_bm.ko \
628 $(LINUX_DIR)/lib/ts_fsm.ko
629 AUTOLOAD:=$(call AutoLoad,20,ts_kmp ts_bm ts_fsm)
632 $(eval $(call KernelPackage,textsearch))
635 define KernelPackage/wdt-geode
636 SUBMENU:=$(OTHER_MENU)
637 TITLE:=Geode/LX Watchdog timer
639 KCONFIG:=CONFIG_GEODE_WDT
640 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/geodewdt.ko
641 AUTOLOAD:=$(call AutoLoad,50,geodewdt)
644 define KernelPackage/wdt-geode/description
645 Kernel module for Geode watchdog timer.
648 $(eval $(call KernelPackage,wdt-geode))
651 define KernelPackage/wdt-sc520
652 SUBMENU:=$(OTHER_MENU)
653 TITLE:=Natsemi SC520 Watchdog support
655 KCONFIG:=CONFIG_SC520_WDT
656 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/sc520_wdt.ko
657 AUTOLOAD:=$(call AutoLoad,50,sc520_wdt)
660 define KernelPackage/wdt-sc520/description
661 Kernel module for SC520 Watchdog
664 $(eval $(call KernelPackage,wdt-sc520))
667 define KernelPackage/wdt-scx200
668 SUBMENU:=$(OTHER_MENU)
669 TITLE:=Natsemi SCX200 Watchdog support
671 KCONFIG:=CONFIG_SCx200_WDT
672 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/scx200_wdt.ko
673 AUTOLOAD:=$(call AutoLoad,50,scx200_wdt)
676 define KernelPackage/wdt-scx200/description
677 Kernel module for SCX200 Watchdog
680 $(eval $(call KernelPackage,wdt-scx200))
683 define KernelPackage/pwm
684 SUBMENU:=$(OTHER_MENU)
685 TITLE:=PWM generic API
686 KCONFIG:=CONFIG_GENERIC_PWM
687 FILES:=$(LINUX_DIR)/drivers/pwm/pwm.ko
688 AUTOLOAD:=$(call AutoLoad,50,pwm)
691 define KernelPackage/pwm/description
692 Kernel module that implement a generic PWM API
695 $(eval $(call KernelPackage,pwm))
698 define KernelPackage/pwm-gpio
699 SUBMENU:=$(OTHER_MENU)
702 KCONFIG:=CONFIG_GPIO_PWM
703 FILES:=$(LINUX_DIR)/drivers/pwm/gpio-pwm.ko
704 AUTOLOAD:=$(call AutoLoad,51,gpio-pwm)
707 define KernelPackage/pwm-gpio/description
708 Kernel module to models a single-channel PWM device using a timer and a GPIO pin
711 $(eval $(call KernelPackage,pwm-gpio))