+
+define KernelPackage/hid
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=HID Devices
+ DEPENDS:=+kmod-input-core +kmod-input-evdev
+ KCONFIG:=CONFIG_HID
+ FILES:=$(LINUX_DIR)/drivers/hid/hid.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,61,hid)
+endef
+
+define KernelPackage/hid/description
+ Kernel modules for HID devices
+endef
+
+$(eval $(call KernelPackage,hid))
+
+
+define KernelPackage/input-polldev
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Polled Input device support
+ DEPENDS:=+kmod-input-core @LINUX_2_6
+ KCONFIG:=CONFIG_INPUT_POLLDEV
+ FILES:=$(LINUX_DIR)/drivers/input/input-polldev.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,61,input-polldev)
+endef
+
+define KernelPackage/input-polldev/description
+ Kernel module for support of polled input devices
+endef
+
+$(eval $(call KernelPackage,input-polldev))
+
+
+define KernelPackage/input-gpio-buttons
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Polled GPIO buttons input device
+ DEPENDS:=@GPIO_SUPPORT +kmod-input-polldev
+ KCONFIG:= \
+ CONFIG_INPUT_GPIO_BUTTONS \
+ CONFIG_INPUT_MISC=y
+ FILES:=$(LINUX_DIR)/drivers/input/misc/gpio_buttons.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,62,gpio_buttons)
+endef
+
+define KernelPackage/input-gpio-buttons/description
+ Kernel module for support polled GPIO buttons input device
+endef
+
+$(eval $(call KernelPackage,input-gpio-buttons))
+
+define KernelPackage/input-joydev
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Joystick device support
+ DEPENDS:=+kmod-input-core
+ KCONFIG:=CONFIG_INPUT_JOYDEV
+ FILES:=$(LINUX_DIR)/drivers/input/joydev.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,62,joydev)
+endef
+
+define KernelPackage/input-joydev/description
+ Kernel module for joystick support
+endef
+
+$(eval $(call KernelPackage,input-joydev))
+
+
+define KernelPackage/mmc-spi
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=MMC/SD over SPI Support
+ DEPENDS:=@LINUX_2_6 +kmod-mmc +kmod-crc-itu-t +kmod-crc7
+ KCONFIG:=CONFIG_MMC_SPI \
+ CONFIG_SPI=y \
+ CONFIG_SPI_MASTER=y
+ FILES:=$(LINUX_DIR)/drivers/mmc/host/mmc_spi.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,90,mmc_spi)
+endef
+
+define KernelPackage/mmc-spi/description
+ Kernel support for MMC/SD over SPI
+endef
+
+$(eval $(call KernelPackage,mmc-spi))
+
+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.$(LINUX_KMOD_SUFFIX)
+ 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))
+
+define KernelPackage/spi-bitbang
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Serial Peripheral Interface bitbanging library
+ DEPENDS:=@LINUX_2_6
+ KCONFIG:=CONFIG_SPI_BITBANG \
+ CONFIG_SPI=y \
+ CONFIG_SPI_MASTER=y
+ FILES:=$(LINUX_DIR)/drivers/spi/spi_bitbang.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,91,spi_bitbang)
+endef
+
+define KernelPackage/spi-bitbang/description
+ This package contains the SPI bitbanging library
+endef
+
+$(eval $(call KernelPackage,spi-bitbang))
+
+define KernelPackage/spi-gpio-old
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Old GPIO based bitbanging SPI controller (DEPRECATED)
+ DEPENDS:=@GPIO_SUPPORT +kmod-spi-bitbang
+ KCONFIG:=CONFIG_SPI_GPIO_OLD
+ FILES:=$(LINUX_DIR)/drivers/spi/spi_gpio_old.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,92,spi_gpio_old)
+endef
+
+define KernelPackage/spi-gpio-old/description
+ This package contains the GPIO based bitbanging SPI controller driver
+endef
+
+$(eval $(call KernelPackage,spi-gpio-old))
+
+define KernelPackage/spi-gpio
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=GPIO-based bitbanging SPI Master
+ DEPENDS:=@GPIO_SUPPORT +kmod-spi-bitbang
+ KCONFIG:=CONFIG_SPI_GPIO
+ FILES:=$(LINUX_DIR)/drivers/spi/spi_gpio.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,92,spi_gpio)
+endef
+
+define KernelPackage/spi-gpio/description
+ This package contains the GPIO-based bitbanging SPI Master
+endef
+
+$(eval $(call KernelPackage,spi-gpio))
+
+define KernelPackage/spi-dev
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=User mode SPI device driver
+ DEPENDS:=@LINUX_2_6
+ KCONFIG:=CONFIG_SPI_SPIDEV \
+ CONFIG_SPI=y \
+ CONFIG_SPI_MASTER=y
+ FILES:=$(LINUX_DIR)/drivers/spi/spidev.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,91,spidev)
+endef
+
+define KernelPackage/spi-dev/description
+ This package contains the user mode SPI device driver
+endef
+
+$(eval $(call KernelPackage,spi-dev))
+
+define KernelPackage/bcm63xx-spi
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Broadcom BCM63xx SPI driver
+ DEPENDS:=@TARGET_brcm63xx +kmod-spi-bitbang
+ KCONFIG:=CONFIG_SPI_BCM63XX
+ FILES:=$(LINUX_DIR)/drivers/spi/bcm63xx_spi.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,92,bcm63xx_spi)
+endef
+
+define KernelPackage/bcm63xx-spi/description
+ This package contains the Broadcom BCM63xx SPI Master driver
+endef
+
+$(eval $(call KernelPackage,bcm63xx-spi))
+
+define KernelPackage/cs5535-gpio
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=AMD CS5535/CS5536 GPIO driver
+ DEPENDS:=@TARGET_x86||@TARGET_olpc
+ KCONFIG:=CONFIG_CS5535_GPIO
+ FILES:=$(LINUX_DIR)/drivers/char/cs5535_gpio.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,90,cs5535_gpio)
+endef
+
+define KernelPackage/cs5535-gpio/description
+ This package contains the AMD CS5535/CS5536 GPIO driver
+endef
+
+$(eval $(call KernelPackage,cs5535-gpio))
+
+
+define KernelPackage/textsearch
+SUBMENU:=$(OTHER_MENU)
+ TITLE:=Textsearch support is selected if needed
+ DEPENDS:=@LINUX_2_6 @!LINUX_2_6_21
+ KCONFIG:= \
+ CONFIG_TEXTSEARCH=y \
+ CONFIG_TEXTSEARCH_KMP \
+ CONFIG_TEXTSEARCH_BM \
+ CONFIG_TEXTSEARCH_FSM
+ FILES:= \
+ $(LINUX_DIR)/lib/ts_kmp.$(LINUX_KMOD_SUFFIX) \
+ $(LINUX_DIR)/lib/ts_bm.$(LINUX_KMOD_SUFFIX) \
+ $(LINUX_DIR)/lib/ts_fsm.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,20,ts_kmp ts_bm ts_fsm)
+endef
+
+$(eval $(call KernelPackage,textsearch))
+
+
+define KernelPackage/rfkill
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=RF switch subsystem support
+ DEPENDS:=@LINUX_2_6 @!LINUX_2_6_21 @!TARGET_rb532 @!TARGET_avr32 @!TARGET_brcm47xx @!TARGET_s3c24xx @!TARGET_ifxmips @!TARGET_atheros @!TARGET_adm5120 @!TARGET_ar7 @!TARGET_ppc40x @!TARGET_ixp4xx @!TARGET_rdc @!TARGET_uml
+ KCONFIG:= \
+ CONFIG_RFKILL \
+ CONFIG_RFKILL_INPUT \
+ CONFIG_RFKILL_LEDS=y
+ FILES:= \
+ $(LINUX_DIR)/net/rfkill/rfkill.$(LINUX_KMOD_SUFFIX) \
+ $(LINUX_DIR)/net/rfkill/rfkill-input.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,20,rfkill rfkill-input)
+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/rtc-core
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Kernel support for RTC devices
+ DEPENDS:=@LINUX_2_6
+ KCONFIG:= \
+ CONFIG_RTC_CLASS \
+ CONFIG_RTC_LIB \
+ CONFIG_RTC_HCTOSYS=y \
+ CONFIG_RTC_HCTOSYS_DEVICE=rtc0
+ FILES:= \
+ $(LINUX_DIR)/drivers/rtc/rtc-core.$(LINUX_KMOD_SUFFIX) \
+ $(LINUX_DIR)/drivers/rtc/rtc-lib.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,30,rtc-lib rtc-core)
+endef
+
+define KernelPackage/rtc-core/description
+ Kernel module for the RTC devices.
+endef
+
+$(eval $(call KernelPackage,rtc-core))
+
+define KernelPackage/rtc-m48t86
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=RTC M48T86 / Dallas DS12887
+ DEPENDS:=+kmod-rtc-core
+ KCONFIG:=CONFIG_RTC_DRV_M48T86
+ FILES:=$(LINUX_DIR)/drivers/rtc/rtc-m48t86.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,31,rtc-m48t86)
+endef
+
+define KernelPackage/rtc-m48t86/description
+ Kernel support for the RTC device M48T86 / Dallas DS12887
+endef
+
+$(eval $(call KernelPackage,rtc-m48t86))