2 # Copyright (C) 2006-2011 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/bluetooth-hci-h4p
59 SUBMENU:=$(OTHER_MENU)
60 TITLE:=HCI driver with H4 Nokia extensions
61 DEPENDS:=@TARGET_omap24xx +kmod-bluetooth
62 KCONFIG:=CONFIG_BT_HCIH4P
63 FILES:=$(LINUX_DIR)/drivers/bluetooth/hci_h4p/hci_h4p.ko
64 AUTOLOAD:=$(call AutoLoad,91,hci_h4p)
67 define KernelPackage/bluetooth-hci-h4p/description
68 HCI driver with H4 Nokia extensions
71 $(eval $(call KernelPackage,bluetooth-hci-h4p))
74 define KernelPackage/cpu-msr
75 SUBMENU:=$(OTHER_MENU)
76 TITLE:=x86 CPU MSR support
78 KCONFIG:=CONFIG_X86_MSR
79 FILES:=$(LINUX_DIR)/arch/x86/kernel/msr.ko
80 AUTOLOAD:=$(call AutoLoad,20,msr)
83 define KernelPackage/cpu-msr/description
84 Kernel module for Model Specific Registers support in x86 CPUs
87 $(eval $(call KernelPackage,cpu-msr))
90 define KernelPackage/eeprom-93cx6
91 SUBMENU:=$(OTHER_MENU)
92 TITLE:=EEPROM 93CX6 support
93 KCONFIG:=CONFIG_EEPROM_93CX6
94 FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
95 AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
98 define KernelPackage/eeprom-93cx6/description
99 Kernel module for EEPROM 93CX6 support
102 $(eval $(call KernelPackage,eeprom-93cx6))
105 define KernelPackage/gpio-cs5535
106 SUBMENU:=$(OTHER_MENU)
107 TITLE:=AMD CS5535/CS5536 GPIO driver
108 DEPENDS:=@TARGET_x86 @LINUX_2_6_30||LINUX_2_6_31||LINUX_2_6_32||LINUX_2_6_35||LINUX_2_6_36||LINUX_2_6_37
109 KCONFIG:=CONFIG_CS5535_GPIO
110 FILES:=$(LINUX_DIR)/drivers/char/cs5535_gpio.ko
111 AUTOLOAD:=$(call AutoLoad,50,cs5535_gpio)
114 define KernelPackage/gpio-cs5535/description
115 This package contains the AMD CS5535/CS5536 GPIO driver
118 $(eval $(call KernelPackage,gpio-cs5535))
121 define KernelPackage/gpio-cs5535-new
122 SUBMENU:=$(OTHER_MENU)
123 TITLE:=AMD CS5535/CS5536 GPIO driver with improved sysfs support
124 DEPENDS:=@TARGET_x86 @!(LINUX_2_6_30||LINUX_2_6_31||LINUX_2_6_32)
125 KCONFIG:=CONFIG_GPIO_CS5535
126 FILES:=$(LINUX_DIR)/drivers/gpio/cs5535-gpio.ko
127 AUTOLOAD:=$(call AutoLoad,50,cs5535-gpio)
130 define KernelPackage/gpio-cs5535-new/description
131 This package contains the new AMD CS5535/CS5536 GPIO driver
134 $(eval $(call KernelPackage,gpio-cs5535-new))
137 define KernelPackage/gpio-dev
138 SUBMENU:=$(OTHER_MENU)
139 TITLE:=Generic GPIO char device support
140 DEPENDS:=@GPIO_SUPPORT
141 KCONFIG:=CONFIG_GPIO_DEVICE
142 FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
143 AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
146 define KernelPackage/gpio-dev/description
147 Kernel module to allows control of GPIO pins using a character device.
150 $(eval $(call KernelPackage,gpio-dev))
153 define KernelPackage/gpio-nsc
154 SUBMENU:=$(OTHER_MENU)
155 TITLE:=Natsemi GPIO support
157 KCONFIG:=CONFIG_NSC_GPIO
158 FILES:=$(LINUX_DIR)/drivers/char/nsc_gpio.ko
159 AUTOLOAD:=$(call AutoLoad,40,nsc_gpio)
162 define KernelPackage/gpio-nsc/description
163 Kernel module for Natsemi GPIO
166 $(eval $(call KernelPackage,gpio-nsc))
169 define KernelPackage/gpio-pc8736x
170 SUBMENU:=$(OTHER_MENU)
171 TITLE:=PC8736x GPIO support
173 KCONFIG:=CONFIG_PC8736x_GPIO
174 FILES:=$(LINUX_DIR)/drivers/char/pc8736x_gpio.ko
175 AUTOLOAD:=$(call AutoLoad,40,pc8736x_gpio)
178 define KernelPackage/gpio-pc8736x/description
179 Kernel module for PC8736x GPIO
182 $(eval $(call KernelPackage,gpio-pc8736x))
185 define KernelPackage/gpio-scx200
186 SUBMENU:=$(OTHER_MENU)
187 TITLE:=Natsemi SCX200 GPIO support
188 DEPENDS:=@TARGET_x86 +kmod-gpio-nsc
189 KCONFIG:=CONFIG_SCx200_GPIO
190 FILES:=$(LINUX_DIR)/drivers/char/scx200_gpio.ko
191 AUTOLOAD:=$(call AutoLoad,50,scx200_gpio)
194 define KernelPackage/gpio-scx200/description
195 Kernel module for SCX200 GPIO
198 $(eval $(call KernelPackage,gpio-scx200))
200 define KernelPackage/gpio-nxp-74hc164
201 SUBMENU:=$(OTHER_MENU)
202 TITLE:=NXP 74HC164 GPIO expander support
203 DEPENDS:=@TARGET_brcm63xx
204 KCONFIG:=CONFIG_GPIO_NXP_74HC164
205 FILES:=$(LINUX_DIR)/drivers/gpio/nxp_74hc164.ko
206 AUTOLOAD:=$(call AutoLoad,99,nxp_74hc164)
209 define KernelPackage/gpio-nxp-74hc164/description
210 Kernel module for NXP 74HC164 GPIO expander
213 $(eval $(call KernelPackage,gpio-nxp-74hc164))
215 define KernelPackage/hid
216 SUBMENU:=$(OTHER_MENU)
218 DEPENDS:=+kmod-input-evdev
220 FILES:=$(LINUX_DIR)/drivers/hid/hid.ko
221 AUTOLOAD:=$(call AutoLoad,61,hid)
222 $(call SetDepends/hid)
223 $(call AddDepends/input)
226 define KernelPackage/hid/description
227 Kernel modules for HID devices
230 $(eval $(call KernelPackage,hid))
233 define KernelPackage/input-core
234 SUBMENU:=$(OTHER_MENU)
235 TITLE:=Input device core
236 KCONFIG:=CONFIG_INPUT
237 $(call SetDepends/input)
238 FILES:=$(LINUX_DIR)/drivers/input/input-core.ko
239 AUTOLOAD:=$(call AutoLoad,19,input-core)
242 define KernelPackage/input-core/description
243 Kernel modules for support of input device
246 $(eval $(call KernelPackage,input-core))
249 define KernelPackage/input-evdev
250 SUBMENU:=$(OTHER_MENU)
251 TITLE:=Input event device
252 KCONFIG:=CONFIG_INPUT_EVDEV
253 FILES:=$(LINUX_DIR)/drivers/input/evdev.ko
254 AUTOLOAD:=$(call AutoLoad,60,evdev)
255 $(call AddDepends/input)
258 define KernelPackage/input-evdev/description
259 Kernel modules for support of input device events
262 $(eval $(call KernelPackage,input-evdev))
265 define KernelPackage/input-gpio-buttons
266 SUBMENU:=$(OTHER_MENU)
267 TITLE:=Polled GPIO buttons input device
268 DEPENDS:=@GPIO_SUPPORT +kmod-input-polldev
270 CONFIG_INPUT_GPIO_BUTTONS \
272 FILES:=$(LINUX_DIR)/drivers/input/misc/gpio_buttons.ko
273 AUTOLOAD:=$(call AutoLoad,62,gpio_buttons)
276 define KernelPackage/input-gpio-buttons/description
277 Kernel module for support polled GPIO buttons input device
280 $(eval $(call KernelPackage,input-gpio-buttons))
283 define KernelPackage/input-gpio-keys
284 SUBMENU:=$(OTHER_MENU)
285 TITLE:=GPIO key support
286 DEPENDS:= @GPIO_SUPPORT
288 CONFIG_KEYBOARD_GPIO \
289 CONFIG_INPUT_KEYBOARD=y
290 FILES:=$(LINUX_DIR)/drivers/input/keyboard/gpio_keys.ko
291 AUTOLOAD:=$(call AutoLoad,60,gpio_keys)
292 $(call AddDepends/input)
295 define KernelPackage/input-gpio-keys/description
296 This driver implements support for buttons connected
297 to GPIO pins of various CPUs (and some other chips).
300 $(eval $(call KernelPackage,input-gpio-keys))
303 define KernelPackage/input-gpio-keys-polled
304 SUBMENU:=$(OTHER_MENU)
305 TITLE:=Polled GPIO key support
306 DEPENDS:=@GPIO_SUPPORT @!(LINUX_2_6_30||LINUX_2_6_31||LINUX_2_6_32||LINUX_2_6_34||LINUX_2_6_35||LINUX_2_6_36) +kmod-input-polldev
308 CONFIG_KEYBOARD_GPIO_POLLED \
309 CONFIG_INPUT_KEYBOARD=y
310 FILES:=$(LINUX_DIR)/drivers/input/keyboard/gpio_keys_polled.ko
311 AUTOLOAD:=$(call AutoLoad,62,gpio_keys_polled)
312 $(call AddDepends/input)
315 define KernelPackage/input-gpio-keys-polled/description
316 Kernel module for support polled GPIO keys input device
319 $(eval $(call KernelPackage,input-gpio-keys-polled))
322 define KernelPackage/input-gpio-encoder
323 SUBMENU:=$(OTHER_MENU)
324 TITLE:=GPIO rotay encoder
325 KCONFIG:=CONFIG_INPUT_GPIO_ROTARY_ENCODER
326 FILES:=$(LINUX_DIR)/drivers/input/misc/rotary_encoder.ko
327 AUTOLOAD:=$(call AutoLoad,62,rotary_encoder)
328 $(call AddDepends/input,@GPIO_SUPPORT)
331 define KernelPackage/gpio-encoder/description
332 Kernel module to use rotary encoders connected to GPIO pins
335 $(eval $(call KernelPackage,input-gpio-encoder))
338 define KernelPackage/input-joydev
339 SUBMENU:=$(OTHER_MENU)
340 TITLE:=Joystick device support
341 KCONFIG:=CONFIG_INPUT_JOYDEV
342 FILES:=$(LINUX_DIR)/drivers/input/joydev.ko
343 AUTOLOAD:=$(call AutoLoad,62,joydev)
344 $(call AddDepends/input)
347 define KernelPackage/input-joydev/description
348 Kernel module for joystick support
351 $(eval $(call KernelPackage,input-joydev))
354 define KernelPackage/input-polldev
355 SUBMENU:=$(OTHER_MENU)
356 TITLE:=Polled Input device support
357 KCONFIG:=CONFIG_INPUT_POLLDEV
358 FILES:=$(LINUX_DIR)/drivers/input/input-polldev.ko
359 AUTOLOAD:=$(call AutoLoad,20,input-polldev)
360 $(call AddDepends/input)
363 define KernelPackage/input-polldev/description
364 Kernel module for support of polled input devices
367 $(eval $(call KernelPackage,input-polldev))
370 define KernelPackage/lp
371 SUBMENU:=$(OTHER_MENU)
372 TITLE:=Parallel port and line printer support
379 $(LINUX_DIR)/drivers/parport/parport.ko \
380 $(LINUX_DIR)/drivers/char/lp.ko \
381 $(LINUX_DIR)/drivers/char/ppdev.ko
382 AUTOLOAD:=$(call AutoLoad,50,parport lp)
385 $(eval $(call KernelPackage,lp))
388 define KernelPackage/mmc
389 SUBMENU:=$(OTHER_MENU)
390 TITLE:=MMC/SD Card Support
395 CONFIG_MMC_UNSAFE_RESUME=n \
396 CONFIG_MMC_BLOCK_BOUNCE=y \
398 CONFIG_MMC_TIFM_SD=n \
402 $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
403 $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
404 AUTOLOAD:=$(call AutoLoad,90,mmc_core mmc_block,1)
407 define KernelPackage/mmc/description
408 Kernel support for MMC/SD cards
411 $(eval $(call KernelPackage,mmc))
414 define KernelPackage/mmc-atmelmci
415 SUBMENU:=$(OTHER_MENU)
416 TITLE:=Amtel MMC Support
417 DEPENDS:=@TARGET_avr32 +kmod-mmc
418 KCONFIG:=CONFIG_MMC_ATMELMCI
419 FILES:=$(LINUX_DIR)/drivers/mmc/host/atmel-mci.ko
420 AUTOLOAD:=$(call AutoLoad,90,atmel-mci)
423 define KernelPackage/mmc-atmelmci/description
424 Kernel support for Atmel Multimedia Card Interface.
427 $(eval $(call KernelPackage,mmc-atmelmci,1))
430 define KernelPackage/oprofile
431 SUBMENU:=$(OTHER_MENU)
432 TITLE:=OProfile profiling support
433 KCONFIG:=CONFIG_OPROFILE
434 FILES:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/oprofile/oprofile.ko
435 DEPENDS:=@KERNEL_PROFILING
438 define KernelPackage/oprofile/description
439 Kernel module for support for oprofile system profiling.
442 $(eval $(call KernelPackage,oprofile))
445 define KernelPackage/rfkill
446 SUBMENU:=$(OTHER_MENU)
447 TITLE:=RF switch subsystem support
450 CONFIG_RFKILL_INPUT=y \
452 ifeq ($(CONFIG_LINUX_2_6_30),)
454 $(LINUX_DIR)/net/rfkill/rfkill.ko
455 AUTOLOAD:=$(call AutoLoad,20,rfkill)
458 $(LINUX_DIR)/net/rfkill/rfkill.ko \
459 $(LINUX_DIR)/net/rfkill/rfkill-input.ko
460 AUTOLOAD:=$(call AutoLoad,20,rfkill rfkill-input)
462 $(call SetDepends/rfkill)
465 define KernelPackage/rfkill/description
466 Say Y here if you want to have control over RF switches
467 found on many WiFi and Bluetooth cards.
470 $(eval $(call KernelPackage,rfkill))
473 define KernelPackage/softdog
474 SUBMENU:=$(OTHER_MENU)
475 TITLE:=Software watchdog driver
476 KCONFIG:=CONFIG_SOFT_WATCHDOG
477 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
478 AUTOLOAD:=$(call AutoLoad,50,softdog)
481 define KernelPackage/softdog/description
482 Software watchdog driver
485 $(eval $(call KernelPackage,softdog))
488 define KernelPackage/ssb
489 SUBMENU:=$(OTHER_MENU)
490 TITLE:=Silicon Sonics Backplane glue code
491 DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
494 CONFIG_SSB_B43_PCI_BRIDGE=y \
495 CONFIG_SSB_DRIVER_MIPS=n \
496 CONFIG_SSB_DRIVER_PCICORE=y \
497 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
498 CONFIG_SSB_PCIHOST=y \
499 CONFIG_SSB_PCIHOST_POSSIBLE=y \
500 CONFIG_SSB_POSSIBLE=y \
503 FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
504 AUTOLOAD:=$(call AutoLoad,29,ssb)
507 define KernelPackage/ssb/description
508 Silicon Sonics Backplane glue code.
511 $(eval $(call KernelPackage,ssb))
514 define KernelPackage/wdt-geode
515 SUBMENU:=$(OTHER_MENU)
516 TITLE:=Geode/LX Watchdog timer
518 KCONFIG:=CONFIG_GEODE_WDT
519 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/geodewdt.ko
520 AUTOLOAD:=$(call AutoLoad,50,geodewdt)
523 define KernelPackage/wdt-geode/description
524 Kernel module for Geode watchdog timer.
527 $(eval $(call KernelPackage,wdt-geode))
530 define KernelPackage/wdt-omap
531 SUBMENU:=$(OTHER_MENU)
532 TITLE:=OMAP Watchdog timer
533 DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
534 KCONFIG:=CONFIG_OMAP_WATCHDOG
535 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
536 AUTOLOAD:=$(call AutoLoad,50,omap_wdt.ko)
539 define KernelPackage/wdt-omap/description
540 Kernel module for TI omap watchdog timer.
543 $(eval $(call KernelPackage,wdt-omap))
546 define KernelPackage/wdt-orion
547 SUBMENU:=$(OTHER_MENU)
548 TITLE:=Marvell Orion Watchdog timer
549 DEPENDS:=@TARGET_orion
550 KCONFIG:=CONFIG_ORION_WATCHDOG
551 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
552 AUTOLOAD:=$(call AutoLoad,50,orion_wdt)
555 define KernelPackage/wdt-orion/description
556 Kernel module for Marvell orion watchdog timer.
559 $(eval $(call KernelPackage,wdt-orion))
562 define KernelPackage/wdt-sc520
563 SUBMENU:=$(OTHER_MENU)
564 TITLE:=Natsemi SC520 Watchdog support
566 KCONFIG:=CONFIG_SC520_WDT
567 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/sc520_wdt.ko
568 AUTOLOAD:=$(call AutoLoad,50,sc520_wdt)
571 define KernelPackage/wdt-sc520/description
572 Kernel module for SC520 Watchdog
575 $(eval $(call KernelPackage,wdt-sc520))
578 define KernelPackage/wdt-scx200
579 SUBMENU:=$(OTHER_MENU)
580 TITLE:=Natsemi SCX200 Watchdog support
582 KCONFIG:=CONFIG_SCx200_WDT
583 FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/scx200_wdt.ko
584 AUTOLOAD:=$(call AutoLoad,50,scx200_wdt)
587 define KernelPackage/wdt-scx200/description
588 Kernel module for SCX200 Watchdog
591 $(eval $(call KernelPackage,wdt-scx200))
593 define KernelPackage/pwm
594 SUBMENU:=$(OTHER_MENU)
595 TITLE:=PWM generic API
596 KCONFIG:=CONFIG_GENERIC_PWM
597 FILES:=$(LINUX_DIR)/drivers/pwm/pwm.ko
598 AUTOLOAD:=$(call AutoLoad,50,pwm)
601 define KernelPackage/pwm/description
602 Kernel module that implement a generic PWM API
605 $(eval $(call KernelPackage,pwm))
608 define KernelPackage/pwm-gpio
609 SUBMENU:=$(OTHER_MENU)
612 KCONFIG:=CONFIG_GPIO_PWM
613 FILES:=$(LINUX_DIR)/drivers/pwm/gpio-pwm.ko
614 AUTOLOAD:=$(call AutoLoad,51,gpio-pwm)
617 define KernelPackage/pwm-gpio/description
618 Kernel module to models a single-channel PWM device using a timer and a GPIO pin
621 $(eval $(call KernelPackage,pwm-gpio))
623 define KernelPackage/rtc-core
624 SUBMENU:=$(OTHER_MENU)
625 TITLE:=Real Time Clock class support
626 KCONFIG:=CONFIG_RTC_CLASS
627 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-core.ko
628 AUTOLOAD:=$(call AutoLoad,29,rtc-core)
631 define KernelPackage/rtc-core/description
632 Generic RTC class support.
635 $(eval $(call KernelPackage,rtc-core))
637 define KernelPackage/rtc-pcf8563
638 SUBMENU:=$(OTHER_MENU)
639 TITLE:=Philips PCF8563/Epson RTC8564 RTC support
640 DEPENDS:=+kmod-rtc-core
641 KCONFIG:=CONFIG_RTC_DRV_PCF8563
642 FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
643 AUTOLOAD:=$(call AutoLoad,60,rtc-pcf8563)
646 define KernelPackage/rtc-pcf8563/description
647 Kernel module for Philips PCF8563 RTC chip.
648 The Epson RTC8564 should work as well.
651 $(eval $(call KernelPackage,rtc-pcf8563))
654 define KernelPackage/n810bm
655 SUBMENU:=$(OTHER_MENU)
656 TITLE:=Nokia N810 battery management driver
657 DEPENDS:=@TARGET_omap24xx
658 KCONFIG:=CONFIG_N810BM
659 FILES:=$(LINUX_DIR)/drivers/cbus/n810bm.ko
660 AUTOLOAD:=$(call AutoLoad,01,n810bm)
663 define KernelPackage/n810bm/description
664 Nokia N810 battery management driver.
665 Controls battery power management and battery charging.
668 $(eval $(call KernelPackage,n810bm))