+define KernelPackage/pcmcia-serial
+ TITLE:=Serial devices support
+ DESCRIPTION:=Kernel support for PCMCIA/CardBus serial devices
+ DEPENDS:=kmod-pcmcia-core
+ SUBMENU:=$(EMENU)
+ AUTOLOAD:=$(call AutoLoad,45,serial_cs)
+endef
+
+define KernelPackage/pcmcia-serial/2.4
+ KCONFIG:=$(CONFIG_PCMCIA_SERIAL_CS)
+ FILES:=$(LINUX_DIR)/drivers/char/pcmcia/serial_cs.$(LINUX_KMOD_SUFFIX)
+endef
+
+define KernelPackage/pcmcia-serial/2.6
+ KCONFIG:=$(CONFIG_SERIAL_8250_CS)
+ FILES:=$(LINUX_DIR)/drivers/serial/serial_cs.$(LINUX_KMOD_SUFFIX)
+endef
+$(eval $(call KernelPackage,pcmcia-serial))
+
+
+define KernelPackage/bluetooth
+ TITLE:=Bluetooth support
+ DEPENDS:=@USB_SUPPORT
+ DESCRIPTION:=Kernel support for Bluetooth devices
+ SUBMENU:=$(EMENU)
+ endef
+
+ define KernelPackage/bluetooth/2.4
+ KCONFIG:=$(CONFIG_BLUEZ)
+ 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)
+ 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)
+endef
+$(eval $(call KernelPackage,bluetooth))
+
+define KernelPackage/mmc
+ TITLE:=MMC/SD Card Support
+ DEPENDS:=@LINUX_2_6_AT91
+ DESCRIPTION:=Kernel support for MMC/SD cards
+ SUBMENU:=$(EMENU)
+ endef
+
+define KernelPackage/mmc/2.6
+ KCONFIG:=$(CONFIG_MMC)
+ 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)
+endef
+$(eval $(call KernelPackage,mmc))
+
+define KernelPackage/softdog
+ TITLE:=Software watchdog driver
+ DESCRIPTION:=Software watchdog driver
+ SUBMENU:=$(EMENU)
+ KCONFIG:=$(CONFIG_SOFT_WATCHDOG)
+ FILES:=$(LINUX_DIR)/drivers/char/softdog.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,50,softdog)
+endef
+
+define KernelPackage/softdog/2.4
+ FILES:=$(LINUX_DIR)/drivers/char/softdog.o
+endef
+
+define KernelPackage/softdog/2.6
+ FILES:=$(LINUX_DIR)/drivers/char/watchdog/softdog.ko
+endef
+
+$(eval $(call KernelPackage,softdog))
+
+
+define KernelPackage/videodev
+ TITLE=Video4Linux support
+ DESCRIPTION:=Kernel modules for Video4Linux support
+ DEPENDS:=@VIDEO_SUPPORT
+ SUBMENU:=$(EMENU)
+ KCONFIG:=$(CONFIG_VIDEO_DEV)
+ FILES:=$(LINUX_DIR)/drivers/media/video/*.$(LINUX_KMOD_SUFFIX)
+endef
+
+define KernelPackage/videodev/2.4
+ AUTOLOAD:=$(call AutoLoad,60,videodev)
+endef
+
+define KernelPackage/videodev/2.6
+ AUTOLOAD:=$(call AutoLoad,60,v4l2-common v4l1-compat videodev)
+endef
+$(eval $(call KernelPackage,videodev))
+
+define KernelPackage/leds-net48xx
+ TITLE:=Soekris Net48xx LED support
+ DESCRIPTION:=Kernel module for Soekris Net48xx LEDs
+ DEFAULT:=y if LINUX_2_6_X86_Soekris
+ DEPENDS:=@LINUX_2_6_X86_Soekris
+ SUBMENU:=$(EMENU)
+ KCONFIG:=$(CONFIG_LEDS_NET48XX)
+ FILES:=$(LINUX_DIR)/drivers/leds/leds-net48xx.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,50,leds-net48xx)
+endef
+$(eval $(call KernelPackage,leds-net48xx))
+
+define KernelPackage/nsc-gpio
+ TITLE:=Natsemi GPIO support
+ DESCRIPTION:=Kernel module for Natsemi GPIO
+ DEFAULT:=y if LINUX_2_6_X86_Soekris
+ DEPENDS:=@LINUX_2_6_X86_Soekris
+ SUBMENU:=$(EMENU)
+ KCONFIG:=$(CONFIG_NSC_GPIO)
+ FILES:=$(LINUX_DIR)/drivers/char/nsc_gpio.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,40,nsc_gpio)
+endef
+$(eval $(call KernelPackage,nsc-gpio))
+
+define KernelPackage/scx200-gpio
+ TITLE:=Natsemi SCX200 GPIO support
+ DESCRIPTION:=Kernel module for SCX200 GPIO
+ DEFAULT:=y if LINUX_2_6_X86_Soekris
+ DEPENDS:=kmod-nsc-gpio @LINUX_2_6_X86_Soekris
+ SUBMENU:=$(EMENU)
+ KCONFIG:=$(CONFIG_SCx200_GPIO)
+ FILES:=$(LINUX_DIR)/drivers/char/scx200_gpio.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,50,scx200_gpio)
+endef
+$(eval $(call KernelPackage,scx200-gpio))
+
+define KernelPackage/scx200-wdt
+ TITLE:=Natsemi SCX200 Watchdog support
+ DESCRIPTION:=Kernel module for SCX200 Watchdog
+ DEFAULT:=y if LINUX_2_6_X86_Soekris
+ DEPENDS:=@LINUX_2_6_X86_Soekris
+ SUBMENU:=$(EMENU)
+ KCONFIG:=$(CONFIG_SC1200_WDT)
+ FILES:=$(LINUX_DIR)/drivers/char/watchdog/scx200_wdt.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,50,scx200_wt)
+endef
+$(eval $(call KernelPackage,scx200-wdt))
+
+define KernelPackage/hwmon
+ TITLE:=Hardware monitoring support
+ DESCRIPTION:=Kernel modules for hardware monitoring
+ DEFAULT:=y if LINUX_2_6_X86_Soekris
+ SUBMENU:=$(EMENU)
+ KCONFIG:=$(CONFIG_HWMON_VID)
+ FILES:= \
+ $(LINUX_DIR)/drivers/hwmon/hwmon.$(LINUX_KMOD_SUFFIX) \
+ $(LINUX_DIR)/drivers/hwmon/hwmon-vid.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,40,hwmon hwmon-vid)
+endef
+$(eval $(call KernelPackage,hwmon))
+
+define KernelPackage/hwmon-pc87360
+ TITLE:=PC87360 monitoring support
+ DESCRIPTION:=Kernel modules for PC87360 chips
+ DEFAULT:=y if LINUX_2_6_X86_Soekris
+ DEPENDS:=kmod-hwmon
+ SUBMENU:=$(EMENU)
+ KCONFIG:=$(CONFIG_SENSORS_PC87360)
+ FILES:=$(LINUX_DIR)/drivers/hwmon/pc87360.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,50,pc87360)
+endef
+$(eval $(call KernelPackage,hwmon-pc87360))