+OTHER_MENU:=Other modules
+
+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:=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/cpu-msr/description
+ Kernel module for Model Specific Registers support in x86 CPUs
+endef
+
+$(eval $(call KernelPackage,cpu-msr))
+
+
+define KernelPackage/eeprom-93cx6
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=EEPROM 93CX6 support
+ KCONFIG:=CONFIG_EEPROM_93CX6
+ FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko
+ AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
+endef
+
+define KernelPackage/eeprom-93cx6/description
+ Kernel module for EEPROM 93CX6 support
+endef
+
+$(eval $(call KernelPackage,eeprom-93cx6))
+
+
+define KernelPackage/eeprom-at24
+ SUBMENU:=$(OTHER_MENU)
+ 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
+
+define KernelPackage/eeprom-at24/description
+ Kernel module for most I2C EEPROMs
+endef
+
+$(eval $(call KernelPackage,eeprom-at24))
+
+
+define KernelPackage/eeprom-at25
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=EEPROM AT25 support
+ KCONFIG:=CONFIG_EEPROM_AT25
+ FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko
+ AUTOLOAD:=$(call AutoLoad,61,at25)
+endef
+
+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/gpio-scx200/description
+ Kernel module for SCX200 GPIO
+endef
+
+$(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/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:=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