diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2009-04-30 20:03:42 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2009-04-30 20:03:42 +0000 |
commit | 3342cf9296e1ab33c8fc2cc8d5ca6c600c820d0d (patch) | |
tree | 8d0e1385d2bcd7fba602305ed823892bd1a842ec | |
parent | 672645a81b910a927090625a2395b26b3f3c8a43 (diff) | |
download | upstream-3342cf9296e1ab33c8fc2cc8d5ca6c600c820d0d.tar.gz upstream-3342cf9296e1ab33c8fc2cc8d5ca6c600c820d0d.tar.bz2 upstream-3342cf9296e1ab33c8fc2cc8d5ca6c600c820d0d.zip |
[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
-rw-r--r-- | package/kernel/modules/block.mk | 64 |
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)) |