+$(eval $(call KernelPackage,wdt-ath79))
+
+
+define KernelPackage/booke-wdt
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=PowerPC Book-E Watchdog Timer
+ DEPENDS:=@(TARGET_mpc85xx||TARGET_ppc40x||TARGET_ppc44x)
+ KCONFIG:=CONFIG_BOOKE_WDT
+ FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/booke_wdt.ko
+ AUTOLOAD:=$(call AutoLoad,50,booke_wdt)
+endef
+
+define KernelPackage/booke-wdt/description
+ Kernel module for PowerPC Book-E Watchdog Timer.
+endef
+
+$(eval $(call KernelPackage,booke-wdt))
+
+
+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-marvell
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Marvell SoC built-in RTC support
+ $(call AddDepends/rtc)
+ DEPENDS+=@TARGET_kirkwood||TARGET_orion
+ KCONFIG:=CONFIG_RTC_DRV_MV
+ FILES:=$(LINUX_DIR)/drivers/rtc/rtc-mv.ko
+ AUTOLOAD:=$(call AutoLoad,60,rtc-mv)
+endef
+
+define KernelPackage/rtc-marvell/description
+ Kernel module for Marvell SoC built-in RTC.
+endef
+
+$(eval $(call KernelPackage,rtc-marvell))
+
+define KernelPackage/rtc-pcf8563
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Philips PCF8563/Epson RTC8564 RTC support
+ $(call AddDepends/rtc)
+ 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/rtc-pcf2123
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Philips PCF2123 RTC support
+ $(call AddDepends/rtc)
+ KCONFIG:=CONFIG_RTC_DRV_PCF2123
+ FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko
+ AUTOLOAD:=$(call AutoLoad,60,rtc-pcf2123)
+endef
+
+define KernelPackage/rtc-pcf2123/description
+ Kernel module for Philips PCF2123 RTC chip.
+endef
+
+$(eval $(call KernelPackage,rtc-pcf2123))
+
+define KernelPackage/rtc-pt7c4338
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Pericom PT7C4338 RTC support
+ $(call AddDepends/rtc,+kmod-i2c-core)
+ KCONFIG:=CONFIG_RTC_DRV_PT7C4338
+ FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko
+ AUTOLOAD:=$(call AutoLoad,60,rtc-pt7c4338)
+endef
+
+define KernelPackage/rtc-pt7c4338/description
+ Kernel module for Pericom PT7C4338 i2c RTC chip.
+endef
+
+$(eval $(call KernelPackage,rtc-pt7c4338))
+
+
+define KernelPackage/mtdtests
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=MTD subsystem tests
+ KCONFIG:=CONFIG_MTD_TESTS
+ FILES:=\
+ $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \
+ $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \
+ $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \
+ $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \
+ $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \
+ $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \
+ $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \
+ $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko
+endef
+
+define KernelPackage/mtdtests/description
+ Kernel modules for MTD subsystem/driver testing.
+endef
+
+$(eval $(call KernelPackage,mtdtests))
+
+
+define KernelPackage/nand
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=NAND flash support
+ DEPENDS:=@!LINUX_2_6_39
+ KCONFIG:=CONFIG_MTD_NAND \
+ CONFIG_MTD_NAND_IDS \
+ CONFIG_MTD_NAND_ECC
+ FILES:= \
+ $(LINUX_DIR)/drivers/mtd/nand/nand_ids.ko \
+ $(LINUX_DIR)/drivers/mtd/nand/nand_ecc.ko \
+ $(LINUX_DIR)/drivers/mtd/nand/nand.ko
+ AUTOLOAD:=$(call AutoLoad,20,nand_ids nand_ecc nand)
+endef
+
+define KernelPackage/nand/description
+ Kernel module for NAND support.
+endef
+
+$(eval $(call KernelPackage,nand))
+
+
+define KernelPackage/nandsim
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=NAND simulator
+ DEPENDS:=+kmod-nand
+ KCONFIG:=CONFIG_MTD_NAND_NANDSIM
+ FILES:=$(LINUX_DIR)/drivers/mtd/nand/nandsim.ko
+endef
+
+define KernelPackage/nandsim/description
+ Kernel module for NAND flash simulation.
+endef
+
+$(eval $(call KernelPackage,nandsim))
+
+define KernelPackage/serial-8250
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=8250 UARTs
+ KCONFIG:= CONFIG_SERIAL_8250 \
+ CONFIG_SERIAL_8250_NR_UARTS=16 \
+ CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \
+ CONFIG_SERIAL_8250_EXTENDED=y \
+ CONFIG_SERIAL_8250_MANY_PORTS=y \
+ CONFIG_SERIAL_8250_SHARE_IRQ=y \
+ CONFIG_SERIAL_8250_DETECT_IRQ=n \
+ CONFIG_SERIAL_8250_RSA=n
+ FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250.ko
+endef
+
+define KernelPackage/serial-8250/description
+ Kernel module for 8250 UART based serial ports.
+endef
+
+$(eval $(call KernelPackage,serial-8250))
+
+
+define KernelPackage/acpi-button
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=ACPI Button Support
+ DEPENDS:=@(TARGET_x86_generic||TARGET_x86_kvm_guest||TARGET_x86_xen_domu) +kmod-input-evdev
+ KCONFIG:=CONFIG_ACPI_BUTTON
+ FILES:=$(LINUX_DIR)/drivers/acpi/button.ko
+ AUTOLOAD:=$(call AutoLoad,06,button)
+endef
+
+define KernelPackage/acpi-button/description
+ Kernel module for ACPI Button support
+endef