aboutsummaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2009-04-30 20:03:42 +0000
committerJo-Philipp Wich <jow@openwrt.org>2009-04-30 20:03:42 +0000
commitfc521bf5413f9620196ba0cc57bb0f5c904375cb (patch)
treef3c07c6dac072ad8eb321884fb8b27967622185f /package
parent4b71e11e2e4d52fe8f6610244bcb1e9fb9962ce9 (diff)
downloadupstream-fc521bf5413f9620196ba0cc57bb0f5c904375cb.tar.gz
upstream-fc521bf5413f9620196ba0cc57bb0f5c904375cb.tar.bz2
upstream-fc521bf5413f9620196ba0cc57bb0f5c904375cb.zip
kernel: fix ide-disk problems on newer kernels - thanks russell!
SVN-Revision: 15524
Diffstat (limited to 'package')
-rw-r--r--package/kernel/modules/block.mk64
1 files changed, 43 insertions, 21 deletions
diff --git a/package/kernel/modules/block.mk b/package/kernel/modules/block.mk
index 34ed8c8e1e..e4cdc596b2 100644
--- a/package/kernel/modules/block.mk
+++ b/package/kernel/modules/block.mk
@@ -146,33 +146,55 @@ endef
$(eval $(call KernelPackage,ata-via-sata))
-# XXX: broken on 2.6.28 due to module name/path changes
-define KernelPackage/ide-core
- SUBMENU:=$(BLOCK_MENU)
- TITLE:=IDE (ATA/ATAPI) device support
- DEPENDS:=@PCI_SUPPORT
- KCONFIG:= \
- CONFIG_IDE \
- CONFIG_IDE_GENERIC \
- CONFIG_BLK_DEV_GENERIC \
- CONFIG_BLK_DEV_IDE \
- CONFIG_BLK_DEV_IDEDISK \
- CONFIG_BLK_DEV_IDEDMA_PCI=y \
- CONFIG_BLK_DEV_IDEPCI=y
- FILES:= \
- $(LINUX_DIR)/drivers/ide/ide-core.$(LINUX_KMOD_SUFFIX) \
- $(LINUX_DIR)/drivers/ide/ide-disk.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,20,ide-core) $(call AutoLoad,40,ide-disk)
-endef
+ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.28)),1)
+ define KernelPackage/ide-core
+ SUBMENU:=$(BLOCK_MENU)
+ TITLE:=IDE (ATA/ATAPI) device support
+ DEPENDS:=@PCI_SUPPORT
+ KCONFIG:= \
+ CONFIG_IDE \
+ CONFIG_IDE_GENERIC \
+ CONFIG_BLK_DEV_GENERIC \
+ CONFIG_BLK_DEV_IDE \
+ CONFIG_IDE_GD \
+ CONFIG_IDE_GD_ATA=y \
+ CONFIG_IDE_GD_ATAPI=n \
+ CONFIG_BLK_DEV_IDEDMA_PCI=y \
+ CONFIG_BLK_DEV_IDEPCI=y
+ FILES:= \
+ $(LINUX_DIR)/drivers/ide/ide-core.$(LINUX_KMOD_SUFFIX) \
+ $(LINUX_DIR)/drivers/ide/ide-gd_mod.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,20,ide-core) $(call AutoLoad,40,ide-gd_mod)
+ endef
+else
+ define KernelPackage/ide-core
+ SUBMENU:=$(BLOCK_MENU)
+ TITLE:=IDE (ATA/ATAPI) device support
+ DEPENDS:=@PCI_SUPPORT
+ KCONFIG:= \
+ CONFIG_IDE \
+ CONFIG_IDE_GENERIC \
+ CONFIG_BLK_DEV_GENERIC \
+ CONFIG_BLK_DEV_IDE \
+ CONFIG_BLK_DEV_IDEDISK \
+ CONFIG_BLK_DEV_IDEDMA_PCI=y \
+ CONFIG_BLK_DEV_IDEPCI=y
+ FILES:= \
+ $(LINUX_DIR)/drivers/ide/ide-core.$(LINUX_KMOD_SUFFIX) \
+ $(LINUX_DIR)/drivers/ide/ide-disk.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,20,ide-core) $(call AutoLoad,40,ide-disk)
+ endef
+endif
define KernelPackage/ide-core/2.4
FILES+=$(LINUX_DIR)/drivers/ide/ide-detect.$(LINUX_KMOD_SUFFIX)
AUTOLOAD+=$(call AutoLoad,30,ide-detect)
endef
-ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.26)),1)
+ifeq ($(and $(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.26)),1),
+ $(strip $(cal CompareKernelPatchVer,$(KERNEL_PATCHVER),lt,2.6.28)))
define KernelPackage/ide-core/2.6
- FILES+=$(LINUX_DIR)/drivers/ide/pci/ide-pci-generic.$(LINUX_KMOD_SUFFIX)
+ FILES+=$(LINUX_DIR)/drivers/ide/ide-pci-generic.$(LINUX_KMOD_SUFFIX)
AUTOLOAD+=$(call AutoLoad,30,ide-pci-generic)
endef
else
@@ -187,7 +209,7 @@ define KernelPackage/ide-core/description
Includes:
- ide-core
- ide-detect
- - ide-disk
+ - ide-gd_mod (or ide-disk)
endef
$(eval $(call KernelPackage,ide-core))