[package] kernel: fix kmod-crypto-misc on 2.4
[openwrt/svn-archive/archive.git] / package / kernel / modules / other.mk
index fcac951cac8e68773bc5da23ad7361f76191f490..6c7f42c759464b4c128646eeea28473c3dca61e7 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2008 OpenWrt.org
+# Copyright (C) 2006-2009 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -7,6 +7,14 @@
 
 OTHER_MENU:=Other modules
 
+define KernelPackage/block2mtd
+  SUBMENU:=$(OTHER_MENU)
+  TITLE:=Block device MTD emulation
+  KCONFIG:=CONFIG_MTD_BLOCK2MTD
+  FILES:=$(LINUX_DIR)/drivers/mtd/devices/block2mtd.$(LINUX_KMOD_SUFFIX)
+endef
+$(eval $(call KernelPackage,block2mtd))
+
 define KernelPackage/crc-itu-t
   SUBMENU:=$(OTHER_MENU)
   TITLE:=CRC ITU-T V.41 support
@@ -71,11 +79,7 @@ define KernelPackage/eeprom-93cx6
   TITLE:=EEPROM 93CX6 support
   DEPENDS:=@LINUX_2_6
   KCONFIG:=CONFIG_EEPROM_93CX6
-ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.29)),1)
   FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.$(LINUX_KMOD_SUFFIX)
-else
-  FILES:=$(LINUX_DIR)/drivers/misc/eeprom_93cx6.$(LINUX_KMOD_SUFFIX)
-endif
   AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6)
 endef
 
@@ -129,7 +133,6 @@ define KernelPackage/pcmcia-core
        CONFIG_PCMCIA \
        CONFIG_CARDBUS \
        CONFIG_PCCARD \
-       CONFIG_YENTA \
        CONFIG_PCCARD_NONSTATIC \
        PCMCIA_DEBUG=n
 endef
@@ -141,21 +144,19 @@ define KernelPackage/pcmcia-core/2.4
   FILES:= \
        $(LINUX_DIR)/drivers/pcmcia/pcmcia_core.$(LINUX_KMOD_SUFFIX) \
        $(LINUX_DIR)/drivers/pcmcia/ds.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,40,pcmcia_core ds)
+  AUTOLOAD:=$(call AutoLoad,25,pcmcia_core ds)
 endef
 
 define KernelPackage/pcmcia-core/2.6
 #  KCONFIG:= \
 #      CONFIG_PCCARD \
 #      CONFIG_PCMCIA \
-#      CONFIG_YENTA \
 #      CONFIG_PCCARD_NONSTATIC \
 #      PCMCIA_DEBUG=n
   FILES:= \
        $(LINUX_DIR)/drivers/pcmcia/pcmcia_core.$(LINUX_KMOD_SUFFIX) \
-       $(LINUX_DIR)/drivers/pcmcia/pcmcia.$(LINUX_KMOD_SUFFIX) \
-       $(LINUX_DIR)/drivers/pcmcia/rsrc_nonstatic.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,40,pcmcia_core pcmcia rsrc_nonstatic)
+       $(LINUX_DIR)/drivers/pcmcia/pcmcia.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,25,pcmcia_core pcmcia)
 endef
 
 define KernelPackage/pcmcia-core/description
@@ -169,13 +170,28 @@ define KernelPackage/pcmcia-yenta
   SUBMENU:=$(OTHER_MENU)
   TITLE:=yenta socket driver
   DEPENDS:=kmod-pcmcia-core
-  KCONFIG:=CONFIG_YENTA
-  FILES:=$(LINUX_DIR)/drivers/pcmcia/yenta_socket.$(LINUX_KMOD_SUFFIX)
+  KCONFIG:= \
+       CONFIG_PCMCIA \
+       CONFIG_CARDBUS \
+       CONFIG_YENTA
+endef
+
+define KernelPackage/pcmcia-yenta/2.4
+  FILES:= \
+       $(LINUX_DIR)/drivers/pcmcia/yenta_socket.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,41,yenta_socket)
 endef
 
+define KernelPackage/pcmcia-yenta/2.6
+  FILES:= \
+       $(LINUX_DIR)/drivers/pcmcia/rsrc_nonstatic.$(LINUX_KMOD_SUFFIX) \
+       $(LINUX_DIR)/drivers/pcmcia/yenta_socket.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,41,rsrc_nonstatic yenta_socket)
+endef
+
 $(eval $(call KernelPackage,pcmcia-yenta))
 
+
 define KernelPackage/pcmcia-au1000
   SUBMENU:=$(OTHER_MENU)
   TITLE:=RMI/AMD Au1000 PCMCIA support
@@ -230,7 +246,7 @@ $(eval $(call KernelPackage,pcmcia-serial))
 define KernelPackage/ssb
   SUBMENU:=$(OTHER_MENU)
   TITLE:=Silicon Sonics Backplane glue code
-  DEPENDS:=@LINUX_2_6 @PCI_SUPPORT @!TARGET_brcm47xx||!TARGET_brcm63xx
+  DEPENDS:=@LINUX_2_6 @PCI_SUPPORT @!TARGET_brcm47xx @!TARGET_brcm63xx
   KCONFIG:=\
        CONFIG_SSB \
        CONFIG_SSB_B43_PCI_BRIDGE=y \
@@ -256,8 +272,7 @@ $(eval $(call KernelPackage,ssb))
 define KernelPackage/bluetooth
   SUBMENU:=$(OTHER_MENU)
   TITLE:=Bluetooth support
-  DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-input-core
-ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.29)),1)
+  DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-hid
   KCONFIG:= \
        CONFIG_BLUEZ \
        CONFIG_BLUEZ_L2CAP \
@@ -273,27 +288,9 @@ ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.29)),1)
        CONFIG_BT_RFCOMM \
        CONFIG_BT_BNEP \
        CONFIG_BT_HCIBTUSB \
-       CONFIG_BT_HCIUART \
-       CONFIG_BT_HIDP
-else
-  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 \
-       CONFIG_BT_SCO \
-       CONFIG_BT_RFCOMM \
-       CONFIG_BT_BNEP \
        CONFIG_BT_HCIUSB \
        CONFIG_BT_HCIUART \
        CONFIG_BT_HIDP
-endif
 endef
 
 define KernelPackage/bluetooth/2.4
@@ -325,7 +322,6 @@ define KernelPackage/bluetooth/2.6
 #      CONFIG_BT_BNEP \
 #      CONFIG_BT_HCIUSB \
 #      CONFIG_BT_HCIUART
-ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.29)),1)
   FILES:= \
        $(LINUX_DIR)/net/bluetooth/bluetooth.$(LINUX_KMOD_SUFFIX) \
        $(LINUX_DIR)/net/bluetooth/l2cap.$(LINUX_KMOD_SUFFIX) \
@@ -336,18 +332,6 @@ ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.29)),1)
        $(LINUX_DIR)/drivers/bluetooth/hci_uart.$(LINUX_KMOD_SUFFIX) \
        $(LINUX_DIR)/drivers/bluetooth/btusb.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,90,bluetooth l2cap sco rfcomm bnep hidp hci_uart btusb)
-else
-  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)/net/bluetooth/hidp/hidp.$(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 hidp hci_uart hci_usb)
-endif
 endef
 
 define KernelPackage/bluetooth/description
@@ -374,7 +358,7 @@ define KernelPackage/mmc
   FILES:= \
        $(LINUX_DIR)/drivers/mmc/core/mmc_core.$(LINUX_KMOD_SUFFIX) \
        $(LINUX_DIR)/drivers/mmc/card/mmc_block.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,90,mmc_core mmc_block)
+  AUTOLOAD:=$(call AutoLoad,90,mmc_core mmc_block,1)
 endef
 
 define KernelPackage/mmc/description
@@ -390,7 +374,7 @@ define KernelPackage/mmc-at91
   DEPENDS:=@TARGET_at91 +kmod-mmc
   KCONFIG:=CONFIG_MMC_AT91
   FILES:=$(LINUX_DIR)/drivers/mmc/host/at91_mci.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,90,at91_mci)
+  AUTOLOAD:=$(call AutoLoad,90,at91_mci,1)
 endef
 
 define KernelPackage/mmc-at91/description
@@ -404,10 +388,7 @@ $(eval $(call KernelPackage,mmc-at91))
 ifeq ($(KERNEL),2.4)
   WATCHDOG_DIR=char
 endif
-ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.24)),1)
-  WATCHDOG_DIR=watchdog
-endif
-WATCHDOG_DIR?=char/watchdog
+WATCHDOG_DIR?=watchdog
 
 define KernelPackage/atmel-wdt
   SUBMENU:=$(OTHER_MENU)
@@ -439,6 +420,21 @@ endef
 
 $(eval $(call KernelPackage,softdog))
 
+define KernelPackage/rdc321x-wdt
+  SUBMENU:=$(OTHER_MENU)
+  TITLE:=RDC321x watchdog
+  DEPENDS:=@TARGET_rdc
+  KCONFIG:=CONFIG_RDC321X_WDT
+  FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/rdc321x_wdt.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,50,rdc321x_wdt)
+endef
+
+define KernelPackage/rdc321x-wdt/description
+  RDC-321x watchdog driver
+endef
+
+$(eval $(call KernelPackage,rdc321x-wdt))
+
 
 define KernelPackage/leds-gpio
   SUBMENU:=$(OTHER_MENU)
@@ -509,9 +505,9 @@ define KernelPackage/leds-alix
   SUBMENU:=$(OTHER_MENU)
   TITLE:=PCengines ALIX LED support
   DEPENDS:=@TARGET_x86
-  KCONFIG:=CONFIG_LEDS_ALIX
-  FILES:=$(LINUX_DIR)/drivers/leds/leds-alix.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,50,leds-alix)
+  KCONFIG:=CONFIG_LEDS_ALIX2
+  FILES:=$(LINUX_DIR)/drivers/leds/leds-alix2.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,50,leds-alix2)
 endef
 
 define KernelPackage/leds-alix/description
@@ -521,6 +517,38 @@ endef
 $(eval $(call KernelPackage,leds-alix))
 
 
+define KernelPackage/leds-wndr3700-usb
+  SUBMENU:=$(OTHER_MENU)
+  TITLE:=WNDR3700 USB LED support
+  DEPENDS:= @TARGET_ar71xx
+  KCONFIG:=CONFIG_LEDS_WNDR3700_USB
+  FILES:=$(LINUX_DIR)/drivers/leds/leds-wndr3700-usb.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,60,leds-wndr3700-usb)
+endef
+
+define KernelPackage/leds-wndr3700-usb/description
+ Kernel module for the USB LED on the NETGWR WNDR3700 board.
+endef
+
+$(eval $(call KernelPackage,leds-wndr3700-usb))
+
+
+define KernelPackage/leds-rb750
+  SUBMENU:=$(OTHER_MENU)
+  TITLE:=RouterBOARD 750 LED support
+  DEPENDS:=@TARGET_ar71xx
+  KCONFIG:=CONFIG_LEDS_RB750
+  FILES:=$(LINUX_DIR)/drivers/leds/leds-rb750.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,60,leds-rb750)
+endef
+
+define KernelPackage/leds-rb750/description
+ Kernel module for the LEDs on the MikroTik RouterBOARD 750.
+endef
+
+$(eval $(call KernelPackage,leds-rb750))
+
+
 define KernelPackage/ledtrig-netdev
   SUBMENU:=$(OTHER_MENU)
   TITLE:=LED NETDEV Trigger
@@ -637,7 +665,7 @@ define KernelPackage/input-core
   DEPENDS:=@LINUX_2_6
   KCONFIG:=CONFIG_INPUT
   FILES:=$(LINUX_DIR)/drivers/input/input-core.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,50,input-core)
+  AUTOLOAD:=$(call AutoLoad,19,input-core)
 endef
 
 define KernelPackage/input-core/description
@@ -685,7 +713,7 @@ define KernelPackage/input-polldev
   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)
+  AUTOLOAD:=$(call AutoLoad,20,input-polldev)
 endef
 
 define KernelPackage/input-polldev/description
@@ -695,6 +723,23 @@ endef
 $(eval $(call KernelPackage,input-polldev))
 
 
+define KernelPackage/input-gpio-keys
+  SUBMENU:=$(OTHER_MENU)
+  TITLE:=GPIO key support
+  DEPENDS:= @GPIO_SUPPORT +kmod-input-core
+  KCONFIG:=CONFIG_KEYBOARD_GPIO
+  FILES:=$(LINUX_DIR)/drivers/input/keyboard/gpio_keys.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,60,gpio_keys)
+endef
+
+define KernelPackage/input-gpio-keys/description
+ This driver implements support for buttons connected
+ to GPIO pins of various CPUs (and some other chips).
+endef
+
+$(eval $(call KernelPackage,input-gpio-keys))
+
+
 define KernelPackage/input-gpio-buttons
   SUBMENU:=$(OTHER_MENU)
   TITLE:=Polled GPIO buttons input device
@@ -727,23 +772,23 @@ endef
 
 $(eval $(call KernelPackage,input-joydev))
 
-
-define KernelPackage/mmc-spi
+define KernelPackage/input-rb532
   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)
+  TITLE:=RB532 button device support
+  DEPENDS:=+kmod-input-core @TARGET_rb532
+  KCONFIG:= \
+       CONFIG_INPUT_MISC=y \
+       CONFIG_INPUT_RB532_BUTTON
+  FILES:=$(LINUX_DIR)/drivers/input/misc/rb532_button.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,62,rb532_button)
 endef
 
-define KernelPackage/mmc-spi/description
- Kernel support for MMC/SD over SPI
+define KernelPackage/input-rb532/description
+  Kernel module for RB532 button
 endef
 
-$(eval $(call KernelPackage,mmc-spi))
+$(eval $(call KernelPackage,input-rb532))
+
 
 define KernelPackage/mmc-atmelmci
   SUBMENU:=$(OTHER_MENU)
@@ -758,86 +803,8 @@ 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,mmc-atmelmci,1))
 
-$(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)
@@ -855,10 +822,28 @@ endef
 $(eval $(call KernelPackage,cs5535-gpio))
 
 
+define KernelPackage/ixp4xx-beeper
+  SUBMENU:=$(OTHER_MENU)
+  TITLE:=IXP4XX Beeper support
+  DEPENDS:=@TARGET_ixp4xx +kmod-input-core
+  KCONFIG:= \
+       CONFIG_INPUT_MISC=y \
+       CONFIG_INPUT_IXP4XX_BEEPER
+  FILES:=$(LINUX_DIR)/drivers/input/misc/ixp4xx-beeper.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,50,ixp4xx-beeper)
+endef
+
+define KernelPackage/ixp4xx-beeper/description
+ IXP4XX Beeper support
+endef
+
+$(eval $(call KernelPackage,ixp4xx-beeper))
+
+
 define KernelPackage/textsearch
 SUBMENU:=$(OTHER_MENU)
   TITLE:=Textsearch support is selected if needed
-  DEPENDS:=@LINUX_2_6 @!LINUX_2_6_21
+  DEPENDS:=@LINUX_2_6
   KCONFIG:= \
     CONFIG_TEXTSEARCH=y \
     CONFIG_TEXTSEARCH_KMP \
@@ -877,15 +862,21 @@ $(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
+  DEPENDS:=@TARGET_x86||TARGET_olpc||TARGET_s3c24xx||TARGET_brcm47xx||TARGET_ar71xx
   KCONFIG:= \
     CONFIG_RFKILL \
-    CONFIG_RFKILL_INPUT \
+    CONFIG_RFKILL_INPUT=y \
     CONFIG_RFKILL_LEDS=y
+ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.31)),1)
+  FILES:= \
+    $(LINUX_DIR)/net/rfkill/rfkill.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,20,rfkill)
+else
   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)
+endif
 endef
 
 define KernelPackage/rfkill/description
@@ -894,40 +885,3 @@ define KernelPackage/rfkill/description
 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))