+define KernelPackage/mmc
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=MMC/SD Card Support
+ KCONFIG:= \
+ CONFIG_MMC \
+ CONFIG_MMC_BLOCK \
+ 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/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
+ Kernel support for MMC/SD cards
+endef
+
+$(eval $(call KernelPackage,mmc))
+
+
+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
+ $(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.ko
+ AUTOLOAD:=$(call AutoLoad,50,softdog)
+endef
+
+define KernelPackage/softdog/description
+ Software watchdog driver
+endef
+
+$(eval $(call KernelPackage,softdog))
+
+
+define KernelPackage/ssb
+ SUBMENU:=$(OTHER_MENU)
+ 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/ssb/description
+ Silicon Sonics Backplane glue code.
+endef
+
+$(eval $(call KernelPackage,ssb))
+
+
+define KernelPackage/wdt-geode
+ SUBMENU:=$(OTHER_MENU)
+ 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/wdt-geode/description
+ Kernel module for Geode watchdog timer.
+endef
+
+$(eval $(call KernelPackage,wdt-geode))
+
+
+define KernelPackage/cs5535-clockevt
+ SUBMENU:=$(OTHER_MENU)
+ 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/cs5535-clockevt/description
+ Kernel module for CS5535/6 high-res clock event source
+endef
+
+$(eval $(call KernelPackage,cs5535-clockevt))
+
+
+define KernelPackage/cs5535-mfgpt
+ SUBMENU:=$(OTHER_MENU)
+ 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/cs5535-mfgpt/description
+ Kernel module for CS5535/6 multifunction general purpose timer.
+endef
+
+$(eval $(call KernelPackage,cs5535-mfgpt))
+
+
+define KernelPackage/cs5535-mfd
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=CS5535/6 Multifunction General Purpose Driver
+ DEPENDS:=@TARGET_x86
+ 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/cs5535-mfd/description
+ Core driver for CS5535/CS5536 MFD functions.
+endef
+
+$(eval $(call KernelPackage,cs5535-mfd))
+
+
+define KernelPackage/wdt-omap
+ SUBMENU:=$(OTHER_MENU)
+ 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/wdt-omap/description
+ Kernel module for TI omap watchdog timer.
+endef
+
+$(eval $(call KernelPackage,wdt-omap))
+
+
+define KernelPackage/wdt-orion
+ SUBMENU:=$(OTHER_MENU)
+ 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/wdt-orion/description
+ Kernel module for Marvell orion watchdog timer.
+endef
+
+$(eval $(call KernelPackage,wdt-orion))
+
+
+define KernelPackage/wdt-sc520
+ SUBMENU:=$(OTHER_MENU)
+ 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/wdt-sc520/description
+ Kernel module for SC520 Watchdog
+endef
+
+$(eval $(call KernelPackage,wdt-sc520))
+
+
+define KernelPackage/wdt-scx200
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Natsemi SCX200 Watchdog support
+ DEPENDS:=@TARGET_x86
+ KCONFIG:=CONFIG_SCx200_WDT
+ FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/scx200_wdt.ko
+ AUTOLOAD:=$(call AutoLoad,50,scx200_wdt)
+endef
+
+define KernelPackage/wdt-scx200/description
+ Kernel module for SCX200 Watchdog
+endef
+
+$(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/pwm-gpio
+ SUBMENU:=$(OTHER_MENU)
+ 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/pwm-gpio/description
+ Kernel module to models a single-channel PWM device using a timer and a GPIO pin
+endef
+
+$(eval $(call KernelPackage,pwm-gpio))
+
+define KernelPackage/rtc-core
+ SUBMENU:=$(OTHER_MENU)
+ DEPENDS:=@(!LINUX_3_0||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/rtc-pcf8563
+ SUBMENU:=$(OTHER_MENU)
+ 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/rtc-pcf8563/description
+ Kernel module for Philips PCF8563 RTC chip.
+ The Epson RTC8564 should work as well.
+endef
+
+$(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