From 3342cf9296e1ab33c8fc2cc8d5ca6c600c820d0d Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 30 Apr 2009 20:03:42 +0000 Subject: [PATCH] [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 --- package/kernel/modules/block.mk | 64 ++++++++++++++++++++++----------- 1 file 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))