summaryrefslogtreecommitdiffstats
path: root/package/kernel
diff options
context:
space:
mode:
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-04-30 20:03:42 +0000
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-04-30 20:03:42 +0000
commit59f74315b3db0c1f38de437085edd52e96a224c8 (patch)
tree8d0e1385d2bcd7fba602305ed823892bd1a842ec /package/kernel
parenta91608f2f4316e240ed8f57babad61fc4ced69bd (diff)
[package] kernel: fix ide-disk problems on newer kernels - thanks russell!
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15524 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/kernel')
-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 34ed8c8e1..e4cdc596b 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))