#
-# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2006-2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
-# $Id$
OTHER_MENU:=Other modules
-define KernelPackage/crc-itu-t
+WATCHDOG_DIR:=watchdog
+
+
+define KernelPackage/bluetooth
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Bluetooth support
+ DEPENDS:=@USB_SUPPORT +kmod-usb-core
+ KCONFIG:= \
+ CONFIG_BLUEZ \
+ CONFIG_BLUEZ_L2CAP \
+ CONFIG_BLUEZ_SCO \
+ CONFIG_BLUEZ_RFCOMM \
+ CONFIG_BLUEZ_BNEP \
+ CONFIG_BLUEZ_HCIUART \
+ CONFIG_BLUEZ_HCIUSB \
+ CONFIG_BLUEZ_HIDP \
+ CONFIG_BT \
+ CONFIG_BT_L2CAP=y \
+ CONFIG_BT_SCO=y \
+ CONFIG_BT_RFCOMM \
+ CONFIG_BT_BNEP \
+ CONFIG_BT_HCIBTUSB \
+ CONFIG_BT_HCIUSB \
+ CONFIG_BT_HCIUART \
+ CONFIG_BT_HCIUART_H4 \
+ CONFIG_BT_HIDP \
+ CONFIG_HID_SUPPORT=y
+ $(call AddDepends/crc16)
+ $(call AddDepends/hid)
+ $(call AddDepends/rfkill)
+ FILES:= \
+ $(LINUX_DIR)/net/bluetooth/bluetooth.ko \
+ $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \
+ $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \
+ $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \
+ $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \
+ $(LINUX_DIR)/drivers/bluetooth/btusb.ko
+ ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.39)),1)
+ AUTOLOAD:=$(call AutoLoad,90,bluetooth rfcomm bnep hidp hci_uart btusb)
+ else
+ FILES+= \
+ $(LINUX_DIR)/net/bluetooth/l2cap.ko \
+ $(LINUX_DIR)/net/bluetooth/sco.ko
+ AUTOLOAD:=$(call AutoLoad,90,bluetooth l2cap sco rfcomm bnep hidp hci_uart btusb)
+ endif
+endef
+
+define KernelPackage/bluetooth/description
+ Kernel support for Bluetooth devices
+endef
+
+$(eval $(call KernelPackage,bluetooth))
+
+
+define KernelPackage/bluetooth-hci-h4p
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=HCI driver with H4 Nokia extensions
+ DEPENDS:=@TARGET_omap24xx +kmod-bluetooth
+ KCONFIG:=CONFIG_BT_HCIH4P
+ FILES:=$(LINUX_DIR)/drivers/bluetooth/hci_h4p/hci_h4p.ko
+ AUTOLOAD:=$(call AutoLoad,91,hci_h4p)
+endef
+
+define KernelPackage/bluetooth-hci-h4p/description
+ HCI driver with H4 Nokia extensions
+endef
+
+$(eval $(call KernelPackage,bluetooth-hci-h4p))
+
+
+define KernelPackage/cpu-msr
SUBMENU:=$(OTHER_MENU)
- TITLE:=CRC ITU-T V.41 support
- KCONFIG:=CONFIG_CRC_ITU_T
- FILES:=$(LINUX_DIR)/lib/crc-itu-t.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,20,crc-itu-t)
+ TITLE:=x86 CPU MSR support
+ DEPENDS:=@TARGET_x86
+ KCONFIG:=CONFIG_X86_MSR
+ FILES:=$(LINUX_DIR)/arch/x86/kernel/msr.ko
+ AUTOLOAD:=$(call AutoLoad,20,msr)
endef
-define KernelPackage/crc-itu-t/description
- Kernel module for CRC ITU-T V.41 support
+define KernelPackage/cpu-msr/description
+ Kernel module for Model Specific Registers support in x86 CPUs
endef
-$(eval $(call KernelPackage,crc-itu-t))
+$(eval $(call KernelPackage,cpu-msr))
define KernelPackage/eeprom-93cx6
SUBMENU:=$(OTHER_MENU)
TITLE:=EEPROM 93CX6 support
- DEPENDS:=@LINUX_2_6
KCONFIG:=CONFIG_EEPROM_93CX6
- FILES:=$(LINUX_DIR)/drivers/misc/eeprom_93cx6.$(LINUX_KMOD_SUFFIX)
+ FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
endef
$(eval $(call KernelPackage,eeprom-93cx6))
-define KernelPackage/lp
+define KernelPackage/eeprom-at24
SUBMENU:=$(OTHER_MENU)
- TITLE:=Parallel port and line printer support
- DEPENDS:=@LINUX_2_4
- KCONFIG:= \
- CONFIG_PARPORT \
- CONFIG_PRINTER \
- CONFIG_PPDEV
- FILES:= \
- $(LINUX_DIR)/drivers/parport/parport.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/drivers/char/lp.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/drivers/char/ppdev.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,50,parport lp)
+ TITLE:=EEPROM AT24 support
+ KCONFIG:=CONFIG_EEPROM_AT24
+ DEPENDS:=+kmod-i2c-core
+ FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko
+ AUTOLOAD:=$(call AutoLoad,60,at24)
endef
-$(eval $(call KernelPackage,lp))
+define KernelPackage/eeprom-at24/description
+ Kernel module for most I2C EEPROMs
+endef
+
+$(eval $(call KernelPackage,eeprom-at24))
-define KernelPackage/pcmcia-core
+define KernelPackage/eeprom-at25
SUBMENU:=$(OTHER_MENU)
- TITLE:=PCMCIA/CardBus support
- DEPENDS:=@PCMCIA_SUPPORT
- KCONFIG:= \
- CONFIG_PCMCIA \
- CONFIG_CARDBUS \
- CONFIG_PCCARD \
- CONFIG_YENTA \
- CONFIG_PCCARD_NONSTATIC \
- PCMCIA_DEBUG=n
-endef
-
-define KernelPackage/pcmcia-core/2.4
-# KCONFIG:= \
-# CONFIG_PCMCIA \
-# CONFIG_CARDBUS
- FILES:= \
- $(LINUX_DIR)/drivers/pcmcia/pcmcia_core.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/drivers/pcmcia/ds.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/drivers/pcmcia/yenta_socket.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,40,pcmcia_core yenta_socket ds)
-endef
-
-define KernelPackage/pcmcia-core/2.6
-# KCONFIG:= \
-# CONFIG_PCCARD \
-# CONFIG_PCMCIA \
-# CONFIG_YENTA \
-# CONFIG_PCCARD_NONSTATIC \
-# PCMCIA_DEBUG=n
- FILES:= \
- $(LINUX_DIR)/drivers/pcmcia/pcmcia_core.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/drivers/pcmcia/pcmcia.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/drivers/pcmcia/rsrc_nonstatic.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/drivers/pcmcia/yenta_socket.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,40,pcmcia_core pcmcia rsrc_nonstatic yenta_socket)
+ TITLE:=EEPROM AT25 support
+ KCONFIG:=CONFIG_EEPROM_AT25
+ FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
+ AUTOLOAD:=$(call AutoLoad,61,at25)
endef
-define KernelPackage/pcmcia-core/au1000-2.6
- FILES:= \
- $(LINUX_DIR)/drivers/pcmcia/pcmcia_core.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/drivers/pcmcia/pcmcia.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/drivers/pcmcia/rsrc_nonstatic.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/drivers/pcmcia/au1x00_ss.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,40,pcmcia_core pcmcia rsrc_nonstatic au1x00_ss)
+define KernelPackage/eeprom-at25/description
+ Kernel module for most SPI EEPROMs
+endef
+
+$(eval $(call KernelPackage,eeprom-at25))
+
+
+define KernelPackage/gpio-cs5535
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=AMD CS5535/CS5536 GPIO driver
+ 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
+ KCONFIG:=CONFIG_CS5535_GPIO
+ FILES:=$(LINUX_DIR)/drivers/char/cs5535_gpio.ko
+ AUTOLOAD:=$(call AutoLoad,50,cs5535_gpio)
+endef
+
+define KernelPackage/gpio-cs5535/description
+ This package contains the AMD CS5535/CS5536 GPIO driver
+endef
+
+$(eval $(call KernelPackage,gpio-cs5535))
+
+
+define KernelPackage/gpio-cs5535-new
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=AMD CS5535/CS5536 GPIO driver with improved sysfs support
+ DEPENDS:=@TARGET_x86 +kmod-cs5535-mfd @!(LINUX_2_6_30||LINUX_2_6_31||LINUX_2_6_32)
+ KCONFIG:=CONFIG_GPIO_CS5535
+ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.1.0)),1)
+ FILES:=$(LINUX_DIR)/drivers/gpio/gpio-cs5535.ko
+ AUTOLOAD:=$(call AutoLoad,50,gpio-cs5535)
+else
+ FILES:=$(LINUX_DIR)/drivers/gpio/cs5535-gpio.ko
+ AUTOLOAD:=$(call AutoLoad,50,cs5535-gpio)
+endif
+endef
+
+define KernelPackage/gpio-cs5535-new/description
+ This package contains the new AMD CS5535/CS5536 GPIO driver
+endef
+
+$(eval $(call KernelPackage,gpio-cs5535-new))
+
+
+define KernelPackage/gpio-dev
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Generic GPIO char device support
+ DEPENDS:=@GPIO_SUPPORT
+ KCONFIG:=CONFIG_GPIO_DEVICE
+ FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko
+ AUTOLOAD:=$(call AutoLoad,40,gpio_dev)
+endef
+
+define KernelPackage/gpio-dev/description
+ Kernel module to allows control of GPIO pins using a character device.
+endef
+
+$(eval $(call KernelPackage,gpio-dev))
+
+
+define KernelPackage/gpio-nsc
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Natsemi GPIO support
+ DEPENDS:=@TARGET_x86
+ KCONFIG:=CONFIG_NSC_GPIO
+ FILES:=$(LINUX_DIR)/drivers/char/nsc_gpio.ko
+ AUTOLOAD:=$(call AutoLoad,40,nsc_gpio)
+endef
+
+define KernelPackage/gpio-nsc/description
+ Kernel module for Natsemi GPIO
+endef
+
+$(eval $(call KernelPackage,gpio-nsc))
+
+
+define KernelPackage/gpio-pc8736x
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=PC8736x GPIO support
+ DEPENDS:=@TARGET_x86
+ KCONFIG:=CONFIG_PC8736x_GPIO
+ FILES:=$(LINUX_DIR)/drivers/char/pc8736x_gpio.ko
+ AUTOLOAD:=$(call AutoLoad,40,pc8736x_gpio)
+endef
+
+define KernelPackage/gpio-pc8736x/description
+ Kernel module for PC8736x GPIO
+endef
+
+$(eval $(call KernelPackage,gpio-pc8736x))
+
+
+define KernelPackage/gpio-scx200
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Natsemi SCX200 GPIO support
+ DEPENDS:=@TARGET_x86 +kmod-gpio-nsc
+ KCONFIG:=CONFIG_SCx200_GPIO
+ FILES:=$(LINUX_DIR)/drivers/char/scx200_gpio.ko
+ AUTOLOAD:=$(call AutoLoad,50,scx200_gpio)
endef
-define KernelPackage/pcmcia-core/description
- Kernel support for PCMCIA/CardBus controllers
+define KernelPackage/gpio-scx200/description
+ Kernel module for SCX200 GPIO
endef
-$(eval $(call KernelPackage,pcmcia-core))
+$(eval $(call KernelPackage,gpio-scx200))
+define KernelPackage/gpio-nxp-74hc164
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=NXP 74HC164 GPIO expander support
+ DEPENDS:=@TARGET_brcm63xx
+ KCONFIG:=CONFIG_GPIO_NXP_74HC164
+ FILES:=$(LINUX_DIR)/drivers/gpio/nxp_74hc164.ko
+ AUTOLOAD:=$(call AutoLoad,99,nxp_74hc164)
+endef
-define KernelPackage/pcmcia-serial
+define KernelPackage/gpio-nxp-74hc164/description
+ Kernel module for NXP 74HC164 GPIO expander
+endef
+
+$(eval $(call KernelPackage,gpio-nxp-74hc164))
+
+define KernelPackage/hid
SUBMENU:=$(OTHER_MENU)
- TITLE:=Serial devices support
- DEPENDS:=kmod-pcmcia-core
+ TITLE:=HID Devices
+ KCONFIG:=CONFIG_HID
+ FILES:=$(LINUX_DIR)/drivers/hid/hid.ko
+ AUTOLOAD:=$(call AutoLoad,61,hid)
+ $(call AddDepends/input,+kmod-input-evdev)
+endef
+
+define KernelPackage/hid/description
+ Kernel modules for HID devices
+endef
+
+$(eval $(call KernelPackage,hid))
+
+
+define KernelPackage/input-core
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Input device core
+ KCONFIG:=CONFIG_INPUT
+ FILES:=$(LINUX_DIR)/drivers/input/input-core.ko
+ AUTOLOAD:=$(call AutoLoad,19,input-core)
+endef
+
+define KernelPackage/input-core/description
+ Kernel modules for support of input device
+endef
+
+$(eval $(call KernelPackage,input-core))
+
+
+define KernelPackage/input-evdev
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Input event device
+ KCONFIG:=CONFIG_INPUT_EVDEV
+ FILES:=$(LINUX_DIR)/drivers/input/evdev.ko
+ AUTOLOAD:=$(call AutoLoad,60,evdev)
+ $(call AddDepends/input)
+endef
+
+define KernelPackage/input-evdev/description
+ Kernel modules for support of input device events
+endef
+
+$(eval $(call KernelPackage,input-evdev))
+
+
+define KernelPackage/input-gpio-buttons
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Polled GPIO buttons input device
+ DEPENDS:=@GPIO_SUPPORT +kmod-input-polldev
KCONFIG:= \
- CONFIG_PCMCIA_SERIAL_CS \
- CONFIG_SERIAL_8250_CS
- AUTOLOAD:=$(call AutoLoad,45,serial_cs)
+ CONFIG_INPUT_GPIO_BUTTONS \
+ CONFIG_INPUT_MISC=y
+ FILES:=$(LINUX_DIR)/drivers/input/misc/gpio_buttons.ko
+ AUTOLOAD:=$(call AutoLoad,62,gpio_buttons)
endef
-define KernelPackage/pcmcia-serial/2.4
-# KCONFIG:=CONFIG_PCMCIA_SERIAL_CS
- FILES:=$(LINUX_DIR)/drivers/char/pcmcia/serial_cs.$(LINUX_KMOD_SUFFIX)
+define KernelPackage/input-gpio-buttons/description
+ Kernel module for support polled GPIO buttons input device
endef
-define KernelPackage/pcmcia-serial/2.6
-# KCONFIG:=CONFIG_SERIAL_8250_CS
- FILES:=$(LINUX_DIR)/drivers/serial/serial_cs.$(LINUX_KMOD_SUFFIX)
+$(eval $(call KernelPackage,input-gpio-buttons))
+
+
+define KernelPackage/input-gpio-keys
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=GPIO key support
+ DEPENDS:= @GPIO_SUPPORT
+ KCONFIG:= \
+ CONFIG_KEYBOARD_GPIO \
+ CONFIG_INPUT_KEYBOARD=y
+ FILES:=$(LINUX_DIR)/drivers/input/keyboard/gpio_keys.ko
+ AUTOLOAD:=$(call AutoLoad,60,gpio_keys)
+ $(call AddDepends/input)
endef
-define KernelPackage/pcmcia-serial/description
- Kernel support for PCMCIA/CardBus serial devices
+define KernelPackage/input-gpio-keys/description
+ This driver implements support for buttons connected
+ to GPIO pins of various CPUs (and some other chips).
endef
-$(eval $(call KernelPackage,pcmcia-serial))
+$(eval $(call KernelPackage,input-gpio-keys))
-# XXX: remove @!TARGET_* later when we have USB support properly detected on all targets
-define KernelPackage/bluetooth
+define KernelPackage/input-gpio-keys-polled
SUBMENU:=$(OTHER_MENU)
- TITLE:=Bluetooth support
- DEPENDS:=@USB_SUPPORT @!TARGET_atheros @!TARGET_uml
+ TITLE:=Polled GPIO key support
+ 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
KCONFIG:= \
- CONFIG_BLUEZ \
- CONFIG_BLUEZ_L2CAP \
- CONFIG_BLUEZ_SCO \
- CONFIG_BLUEZ_RFCOMM \
- CONFIG_BLUEZ_BNEP \
- CONFIG_BLUEZ_HCIUART \
- CONFIG_BLUEZ_HCIUSB \
- CONFIG_BT \
- CONFIG_BT_L2CAP \
- CONFIG_BT_SCO \
- CONFIG_BT_RFCOMM \
- CONFIG_BT_BNEP \
- CONFIG_BT_HCIUSB \
- CONFIG_BT_HCIUART
-endef
-
-define KernelPackage/bluetooth/2.4
-# KCONFIG:= \
-# CONFIG_BLUEZ \
-# CONFIG_BLUEZ_L2CAP \
-# CONFIG_BLUEZ_SCO \
-# CONFIG_BLUEZ_RFCOMM \
-# CONFIG_BLUEZ_BNEP \
-# CONFIG_BLUEZ_HCIUART \
-# CONFIG_BLUEZ_HCIUSB
- FILES:= \
- $(LINUX_DIR)/net/bluetooth/bluez.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/net/bluetooth/l2cap.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/net/bluetooth/sco.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/net/bluetooth/bnep/bnep.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/drivers/bluetooth/hci_uart.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/drivers/bluetooth/hci_usb.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,90,bluez l2cap sco rfcomm bnep hci_uart hci_usb)
-endef
-
-define KernelPackage/bluetooth/2.6
-# KCONFIG:= \
-# CONFIG_BT \
-# CONFIG_BT_L2CAP \
-# CONFIG_BT_SCO \
-# CONFIG_BT_RFCOMM \
-# CONFIG_BT_BNEP \
-# CONFIG_BT_HCIUSB \
-# CONFIG_BT_HCIUART
- FILES:= \
- $(LINUX_DIR)/net/bluetooth/bluetooth.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/net/bluetooth/l2cap.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/net/bluetooth/sco.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/net/bluetooth/bnep/bnep.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/drivers/bluetooth/hci_uart.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/drivers/bluetooth/hci_usb.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,90,bluetooth l2cap sco rfcomm bnep hci_uart hci_usb)
+ CONFIG_KEYBOARD_GPIO_POLLED \
+ CONFIG_INPUT_KEYBOARD=y
+ FILES:=$(LINUX_DIR)/drivers/input/keyboard/gpio_keys_polled.ko
+ AUTOLOAD:=$(call AutoLoad,62,gpio_keys_polled)
+ $(call AddDepends/input)
endef
-define KernelPackage/bluetooth/description
- Kernel support for Bluetooth devices
+define KernelPackage/input-gpio-keys-polled/description
+ Kernel module for support polled GPIO keys input device
endef
-$(eval $(call KernelPackage,bluetooth))
+$(eval $(call KernelPackage,input-gpio-keys-polled))
+
+
+define KernelPackage/input-gpio-encoder
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=GPIO rotay encoder
+ KCONFIG:=CONFIG_INPUT_GPIO_ROTARY_ENCODER
+ FILES:=$(LINUX_DIR)/drivers/input/misc/rotary_encoder.ko
+ AUTOLOAD:=$(call AutoLoad,62,rotary_encoder)
+ $(call AddDepends/input,@GPIO_SUPPORT)
+endef
+
+define KernelPackage/gpio-encoder/description
+ Kernel module to use rotary encoders connected to GPIO pins
+endef
+
+$(eval $(call KernelPackage,input-gpio-encoder))
+
+
+define KernelPackage/input-joydev
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Joystick device support
+ KCONFIG:=CONFIG_INPUT_JOYDEV
+ FILES:=$(LINUX_DIR)/drivers/input/joydev.ko
+ AUTOLOAD:=$(call AutoLoad,62,joydev)
+ $(call AddDepends/input)
+endef
+
+define KernelPackage/input-joydev/description
+ Kernel module for joystick support
+endef
+
+$(eval $(call KernelPackage,input-joydev))
+
+
+define KernelPackage/input-polldev
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Polled Input device support
+ KCONFIG:=CONFIG_INPUT_POLLDEV
+ FILES:=$(LINUX_DIR)/drivers/input/input-polldev.ko
+ AUTOLOAD:=$(call AutoLoad,20,input-polldev)
+ $(call AddDepends/input)
+endef
+
+define KernelPackage/input-polldev/description
+ Kernel module for support of polled input devices
+endef
+
+$(eval $(call KernelPackage,input-polldev))
+
+
+define KernelPackage/lp
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Parallel port and line printer support
+ DEPENDS:=@BROKEN
+ KCONFIG:= \
+ CONFIG_PARPORT \
+ CONFIG_PRINTER \
+ CONFIG_PPDEV
+ FILES:= \
+ $(LINUX_DIR)/drivers/parport/parport.ko \
+ $(LINUX_DIR)/drivers/char/lp.ko \
+ $(LINUX_DIR)/drivers/char/ppdev.ko
+ AUTOLOAD:=$(call AutoLoad,50,parport lp)
+endef
+
+$(eval $(call KernelPackage,lp))
define KernelPackage/mmc
SUBMENU:=$(OTHER_MENU)
TITLE:=MMC/SD Card Support
- DEPENDS:=@TARGET_at91
KCONFIG:= \
CONFIG_MMC \
CONFIG_MMC_BLOCK \
- CONFIG_MMC_AT91
+ CONFIG_MMC_DEBUG=n \
+ CONFIG_MMC_UNSAFE_RESUME=n \
+ CONFIG_MMC_BLOCK_BOUNCE=y \
+ CONFIG_MMC_SDHCI=n \
+ CONFIG_MMC_TIFM_SD=n \
+ CONFIG_MMC_WBSD=n \
+ CONFIG_SDIO_UART=n
FILES:= \
- $(LINUX_DIR)/drivers/mmc/mmc_core.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/drivers/mmc/mmc_block.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/drivers/mmc/at91_mci.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,90,mmc_core mmc_block at91_mci)
+ $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \
+ $(LINUX_DIR)/drivers/mmc/card/mmc_block.ko
+ AUTOLOAD:=$(call AutoLoad,90,mmc_core mmc_block,1)
endef
define KernelPackage/mmc/description
$(eval $(call KernelPackage,mmc))
-# XXX: added a workaround for watchdog path changes
-ifeq ($(KERNEL),2.4)
- WATCHDOG_DIR=char
-endif
-ifeq ($(KERNEL_PATCHVER),2.6.24)
- WATCHDOG_DIR=watchdog
+define KernelPackage/mmc-atmelmci
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Amtel MMC Support
+ DEPENDS:=@TARGET_avr32 +kmod-mmc
+ KCONFIG:=CONFIG_MMC_ATMELMCI
+ FILES:=$(LINUX_DIR)/drivers/mmc/host/atmel-mci.ko
+ AUTOLOAD:=$(call AutoLoad,90,atmel-mci)
+endef
+
+define KernelPackage/mmc-atmelmci/description
+ Kernel support for Atmel Multimedia Card Interface.
+endef
+
+$(eval $(call KernelPackage,mmc-atmelmci,1))
+
+
+define KernelPackage/oprofile
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=OProfile profiling support
+ KCONFIG:=CONFIG_OPROFILE
+ FILES:=$(LINUX_DIR)/arch/$(LINUX_KARCH)/oprofile/oprofile.ko
+ DEPENDS:=@KERNEL_PROFILING
+endef
+
+define KernelPackage/oprofile/description
+ Kernel module for support for oprofile system profiling.
+endef
+
+$(eval $(call KernelPackage,oprofile))
+
+
+define KernelPackage/rfkill
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=RF switch subsystem support
+ KCONFIG:= \
+ CONFIG_RFKILL \
+ CONFIG_RFKILL_INPUT=y \
+ CONFIG_RFKILL_LEDS=y
+ifeq ($(CONFIG_LINUX_2_6_30),)
+ FILES:= \
+ $(LINUX_DIR)/net/rfkill/rfkill.ko
+ AUTOLOAD:=$(call AutoLoad,20,rfkill)
+else
+ FILES:= \
+ $(LINUX_DIR)/net/rfkill/rfkill.ko \
+ $(LINUX_DIR)/net/rfkill/rfkill-input.ko
+ AUTOLOAD:=$(call AutoLoad,20,rfkill rfkill-input)
endif
-WATCHDOG_DIR?=char/watchdog
+ $(call SetDepends/rfkill)
+endef
+
+define KernelPackage/rfkill/description
+ Say Y here if you want to have control over RF switches
+ found on many WiFi and Bluetooth cards.
+endef
+
+$(eval $(call KernelPackage,rfkill))
+
define KernelPackage/softdog
SUBMENU:=$(OTHER_MENU)
TITLE:=Software watchdog driver
KCONFIG:=CONFIG_SOFT_WATCHDOG
- FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.$(LINUX_KMOD_SUFFIX)
+ FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko
AUTOLOAD:=$(call AutoLoad,50,softdog)
endef
$(eval $(call KernelPackage,softdog))
-# XXX: remove @TARGET_* later when we are able to detect the exact version of the kernel
-define KernelPackage/leds-gpio
+define KernelPackage/ssb
SUBMENU:=$(OTHER_MENU)
- TITLE:=GPIO LED support
- DEPENDS:=@TARGET_adm5120
- KCONFIG:=CONFIG_LEDS_GPIO
- FILES:=$(LINUX_DIR)/drivers/leds/leds-gpio.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,60,leds-gpio)
+ TITLE:=Silicon Sonics Backplane glue code
+ DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
+ KCONFIG:=\
+ CONFIG_SSB \
+ CONFIG_SSB_B43_PCI_BRIDGE=y \
+ CONFIG_SSB_DRIVER_MIPS=n \
+ CONFIG_SSB_DRIVER_PCICORE=y \
+ CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \
+ CONFIG_SSB_PCIHOST=y \
+ CONFIG_SSB_PCIHOST_POSSIBLE=y \
+ CONFIG_SSB_POSSIBLE=y \
+ CONFIG_SSB_SPROM=y \
+ CONFIG_SSB_SILENT=y
+ FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko
+ AUTOLOAD:=$(call AutoLoad,29,ssb)
endef
-define KernelPackage/leds-gpio/description
- Kernel module for LEDs on GPIO lines
+define KernelPackage/ssb/description
+ Silicon Sonics Backplane glue code.
endef
-$(eval $(call KernelPackage,leds-gpio))
+$(eval $(call KernelPackage,ssb))
-define KernelPackage/leds-adm5120
+define KernelPackage/bcma
SUBMENU:=$(OTHER_MENU)
- TITLE:=ADM5120 LED support
- DEPENDS:=@TARGET_adm5120 +kmod-leds-gpio
- KCONFIG:=CONFIG_LEDS_ADM5120
- FILES:=$(LINUX_DIR)/drivers/leds/leds-adm5120.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,59,leds-adm5120)
+ TITLE:=BCMA support
+ DEPENDS:=@PCI_SUPPORT @!TARGET_brcm47xx
+ KCONFIG:=\
+ CONFIG_BCMA \
+ CONFIG_BCMA_POSSIBLE=y \
+ CONFIG_BCMA_BLOCKIO=y \
+ CONFIG_BCMA_HOST_PCI_POSSIBLE=y \
+ CONFIG_BCMA_HOST_PCI=y \
+ CONFIG_BCMA_DRIVER_MIPS=n \
+ CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \
+ CONFIG_BCMA_DEBUG=n
+ FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko
+ AUTOLOAD:=$(call AutoLoad,29,bcma)
endef
-define KernelPackage/leds-adm5120/description
- Kernel module for LEDs on ADM5120 based boards.
+define KernelPackage/bcma/description
+ Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture.
endef
-$(eval $(call KernelPackage,leds-adm5120))
+$(eval $(call KernelPackage,bcma))
-define KernelPackage/ledtrig-adm5120-switch
+define KernelPackage/wdt-geode
SUBMENU:=$(OTHER_MENU)
- TITLE:=LED ADM5120 Switch Port Status Trigger
- DEPENDS:=@TARGET_adm5120
- KCONFIG:=CONFIG_LEDS_TRIGGER_ADM5120_SWITCH
- FILES:=$(LINUX_DIR)/drivers/leds/ledtrig-adm5120-switch.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,50,ledtrig-adm5120-switch)
+ TITLE:=Geode/LX Watchdog timer
+ DEPENDS:=@TARGET_x86 +kmod-cs5535-mfgpt
+ KCONFIG:=CONFIG_GEODE_WDT
+ FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/geodewdt.ko
+ AUTOLOAD:=$(call AutoLoad,50,geodewdt)
endef
-define KernelPackage/ledtrig-adm5120-switch/description
- Kernel module to allow LEDs to be controlled by the port states
- of the ADM5120 built-in ethernet switch.
+define KernelPackage/wdt-geode/description
+ Kernel module for Geode watchdog timer.
endef
-$(eval $(call KernelPackage,ledtrig-adm5120-switch))
+$(eval $(call KernelPackage,wdt-geode))
-define KernelPackage/leds-net48xx
+define KernelPackage/cs5535-clockevt
SUBMENU:=$(OTHER_MENU)
- TITLE:=Soekris Net48xx LED support
- DEPENDS:=@TARGET_x86
- KCONFIG:=CONFIG_LEDS_NET48XX
- FILES:=$(LINUX_DIR)/drivers/leds/leds-net48xx.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,50,leds-net48xx)
+ TITLE:=CS5535/CS5536 high-res timer (MFGPT) events
+ DEPENDS:=@TARGET_x86 +kmod-cs5535-mfgpt
+ KCONFIG:=CONFIG_CS5535_CLOCK_EVENT_SRC
+ FILES:=$(LINUX_DIR)/drivers/clocksource/cs5535-clockevt.ko
+ AUTOLOAD:=$(call AutoLoad,50,cs5535-clockevt)
endef
-define KernelPackage/leds-net48xx/description
- Kernel module for Soekris Net48xx LEDs
+define KernelPackage/cs5535-clockevt/description
+ Kernel module for CS5535/6 high-res clock event source
endef
-$(eval $(call KernelPackage,leds-net48xx))
+$(eval $(call KernelPackage,cs5535-clockevt))
-define KernelPackage/leds-wrap
+define KernelPackage/cs5535-mfgpt
SUBMENU:=$(OTHER_MENU)
- TITLE:=PCengines WRAP LED support
- DEPENDS:=@TARGET_x86
- KCONFIG:=CONFIG_LEDS_WRAP
- FILES:=$(LINUX_DIR)/drivers/leds/leds-wrap.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,50,leds-wrap)
+ TITLE:=CS5535/6 Multifunction General Purpose Timer
+ DEPENDS:=@TARGET_x86 +kmod-cs5535-mfd
+ KCONFIG:=CONFIG_CS5535_MFGPT
+ FILES:=$(LINUX_DIR)/drivers/misc/cs5535-mfgpt.ko
+ AUTOLOAD:=$(call AutoLoad,45,cs5535-mfgpt)
endef
-define KernelPackage/leds-wrap/description
- Kernel module for PCengines WRAP LEDs
+define KernelPackage/cs5535-mfgpt/description
+ Kernel module for CS5535/6 multifunction general purpose timer.
endef
-$(eval $(call KernelPackage,leds-wrap))
+$(eval $(call KernelPackage,cs5535-mfgpt))
-define KernelPackage/leds-alix
+define KernelPackage/cs5535-mfd
SUBMENU:=$(OTHER_MENU)
- TITLE:=PCengines ALIX LED support
+ TITLE:=CS5535/6 Multifunction General Purpose Driver
DEPENDS:=@TARGET_x86
- KCONFIG:=CONFIG_LEDS_ALIX
- FILES:=$(LINUX_DIR)/drivers/leds/leds-alix.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,50,leds-alix)
+ KCONFIG:=CONFIG_MFD_CS5535
+ FILES:= \
+ $(LINUX_DIR)/drivers/mfd/mfd-core.ko \
+ $(LINUX_DIR)/drivers/mfd/cs5535-mfd.ko
+ AUTOLOAD:=$(call AutoLoad,44,mfd-core cs5535-mfd)
endef
-define KernelPackage/leds-alix/description
- Kernel module for PCengines ALIX LEDs
+define KernelPackage/cs5535-mfd/description
+ Core driver for CS5535/CS5536 MFD functions.
endef
-$(eval $(call KernelPackage,leds-alix))
+$(eval $(call KernelPackage,cs5535-mfd))
-define KernelPackage/ledtrig-morse
+define KernelPackage/wdt-omap
SUBMENU:=$(OTHER_MENU)
- TITLE:=LED Morse Trigger
- KCONFIG:=CONFIG_LEDS_TRIGGER_MORSE
- FILES:=$(LINUX_DIR)/drivers/leds/ledtrig-morse.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,50,ledtrig-morse)
+ TITLE:=OMAP Watchdog timer
+ DEPENDS:=@(TARGET_omap24xx||TARGET_omap35xx)
+ KCONFIG:=CONFIG_OMAP_WATCHDOG
+ FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/omap_wdt.ko
+ AUTOLOAD:=$(call AutoLoad,50,omap_wdt.ko)
endef
-define KernelPackage/ledtrig-morse/description
- Kernel module to show morse coded messages on LEDs.
+define KernelPackage/wdt-omap/description
+ Kernel module for TI omap watchdog timer.
endef
-$(eval $(call KernelPackage,ledtrig-morse))
+$(eval $(call KernelPackage,wdt-omap))
-define KernelPackage/nsc-gpio
+define KernelPackage/wdt-orion
SUBMENU:=$(OTHER_MENU)
- TITLE:=Natsemi GPIO support
- DEPENDS:=@TARGET_x86
- KCONFIG:=CONFIG_NSC_GPIO
- FILES:=$(LINUX_DIR)/drivers/char/nsc_gpio.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,40,nsc_gpio)
+ TITLE:=Marvell Orion Watchdog timer
+ DEPENDS:=@TARGET_orion
+ KCONFIG:=CONFIG_ORION_WATCHDOG
+ FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/orion_wdt.ko
+ AUTOLOAD:=$(call AutoLoad,50,orion_wdt)
endef
-define KernelPackage/nsc-gpio/description
- Kernel module for Natsemi GPIO
+define KernelPackage/wdt-orion/description
+ Kernel module for Marvell orion watchdog timer.
endef
-$(eval $(call KernelPackage,nsc-gpio))
+$(eval $(call KernelPackage,wdt-orion))
-define KernelPackage/scx200-gpio
+define KernelPackage/wdt-sc520
SUBMENU:=$(OTHER_MENU)
- TITLE:=Natsemi SCX200 GPIO support
- DEPENDS:=@TARGET_x86 kmod-nsc-gpio
- KCONFIG:=CONFIG_SCx200_GPIO
- FILES:=$(LINUX_DIR)/drivers/char/scx200_gpio.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,50,scx200_gpio)
+ TITLE:=Natsemi SC520 Watchdog support
+ DEPENDS:=@TARGET_x86
+ KCONFIG:=CONFIG_SC520_WDT
+ FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/sc520_wdt.ko
+ AUTOLOAD:=$(call AutoLoad,50,sc520_wdt)
endef
-define KernelPackage/scx200-gpio/description
- Kernel module for SCX200 GPIO
+define KernelPackage/wdt-sc520/description
+ Kernel module for SC520 Watchdog
endef
-$(eval $(call KernelPackage,scx200-gpio))
+$(eval $(call KernelPackage,wdt-sc520))
-define KernelPackage/scx200-wdt
+define KernelPackage/wdt-scx200
SUBMENU:=$(OTHER_MENU)
TITLE:=Natsemi SCX200 Watchdog support
DEPENDS:=@TARGET_x86
- KCONFIG:=CONFIG_SC1200_WDT
- FILES:=$(LINUX_DIR)/drivers/char/watchdog/scx200_wdt.$(LINUX_KMOD_SUFFIX)
+ KCONFIG:=CONFIG_SCx200_WDT
+ FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/scx200_wdt.ko
AUTOLOAD:=$(call AutoLoad,50,scx200_wdt)
endef
-define KernelPackage/scx200-wdt/description
+define KernelPackage/wdt-scx200/description
Kernel module for SCX200 Watchdog
endef
-$(eval $(call KernelPackage,scx200-wdt))
+$(eval $(call KernelPackage,wdt-scx200))
+
+define KernelPackage/pwm
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=PWM generic API
+ KCONFIG:=CONFIG_GENERIC_PWM
+ FILES:=$(LINUX_DIR)/drivers/pwm/pwm.ko
+ AUTOLOAD:=$(call AutoLoad,50,pwm)
+endef
+
+define KernelPackage/pwm/description
+ Kernel module that implement a generic PWM API
+endef
+$(eval $(call KernelPackage,pwm))
-define KernelPackage/input-core
+
+define KernelPackage/pwm-gpio
SUBMENU:=$(OTHER_MENU)
- TITLE:=Input device core
- DEPENDS:=@LINUX_2_6
- KCONFIG:=CONFIG_INPUT
- FILES:=$(LINUX_DIR)/drivers/input/input-core.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,50,input-core)
+ TITLE:=PWM over GPIO
+ DEPENDS:=+kmod-pwm
+ KCONFIG:=CONFIG_GPIO_PWM
+ FILES:=$(LINUX_DIR)/drivers/pwm/gpio-pwm.ko
+ AUTOLOAD:=$(call AutoLoad,51,gpio-pwm)
endef
-define KernelPackage/input-core/description
- Kernel modules for support of input device
+define KernelPackage/pwm-gpio/description
+ Kernel module to models a single-channel PWM device using a timer and a GPIO pin
endef
-$(eval $(call KernelPackage,input-core))
+$(eval $(call KernelPackage,pwm-gpio))
+
+define KernelPackage/rtc-core
+ SUBMENU:=$(OTHER_MENU)
+ DEPENDS:=@LINUX_2_6_30||LINUX_2_6_31||LINUX_2_6_32||LINUX_2_6_36||LINUX_2_6_37||LINUX_2_6_38||LINUX_2_6_39||BROKEN
+ TITLE:=Real Time Clock class support
+ KCONFIG:=CONFIG_RTC_CLASS
+ FILES:=$(LINUX_DIR)/drivers/rtc/rtc-core.ko
+ AUTOLOAD:=$(call AutoLoad,29,rtc-core)
+endef
+
+define KernelPackage/rtc-core/description
+ Generic RTC class support.
+endef
+$(eval $(call KernelPackage,rtc-core))
-define KernelPackage/input-evdev
+define KernelPackage/rtc-pcf8563
SUBMENU:=$(OTHER_MENU)
- TITLE:=Input even device
- DEPENDS:=+kmod-input-core
- KCONFIG:=CONFIG_INPUT_EVDEV
- FILES:=$(LINUX_DIR)/drivers/input/evdev.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,60,evdev)
+ TITLE:=Philips PCF8563/Epson RTC8564 RTC support
+ DEPENDS:=+kmod-rtc-core
+ KCONFIG:=CONFIG_RTC_DRV_PCF8563
+ FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko
+ AUTOLOAD:=$(call AutoLoad,60,rtc-pcf8563)
endef
-define KernelPackage/input-evdev/description
- Kernel modules for support of input device events
+define KernelPackage/rtc-pcf8563/description
+ Kernel module for Philips PCF8563 RTC chip.
+ The Epson RTC8564 should work as well.
endef
-$(eval $(call KernelPackage,input-evdev))
+$(eval $(call KernelPackage,rtc-pcf8563))
+
+
+define KernelPackage/n810bm
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Nokia N810 battery management driver
+ DEPENDS:=@TARGET_omap24xx
+ KCONFIG:=CONFIG_N810BM
+ FILES:=$(LINUX_DIR)/drivers/cbus/n810bm.ko
+ AUTOLOAD:=$(call AutoLoad,01,n810bm)
+endef
+
+define KernelPackage/n810bm/description
+ Nokia N810 battery management driver.
+ Controls battery power management and battery charging.
+endef
+
+$(eval $(call KernelPackage,n810bm))