[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
master
Jo-Philipp Wich 2009-04-30 20:03:42 +00:00
parent 672645a81b
commit 3342cf9296
1 changed files with 43 additions and 21 deletions

View File

@ -146,33 +146,55 @@ endef
$(eval $(call KernelPackage,ata-via-sata)) $(eval $(call KernelPackage,ata-via-sata))
# XXX: broken on 2.6.28 due to module name/path changes ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.28)),1)
define KernelPackage/ide-core define KernelPackage/ide-core
SUBMENU:=$(BLOCK_MENU) SUBMENU:=$(BLOCK_MENU)
TITLE:=IDE (ATA/ATAPI) device support TITLE:=IDE (ATA/ATAPI) device support
DEPENDS:=@PCI_SUPPORT DEPENDS:=@PCI_SUPPORT
KCONFIG:= \ KCONFIG:= \
CONFIG_IDE \ CONFIG_IDE \
CONFIG_IDE_GENERIC \ CONFIG_IDE_GENERIC \
CONFIG_BLK_DEV_GENERIC \ CONFIG_BLK_DEV_GENERIC \
CONFIG_BLK_DEV_IDE \ CONFIG_BLK_DEV_IDE \
CONFIG_BLK_DEV_IDEDISK \ CONFIG_IDE_GD \
CONFIG_BLK_DEV_IDEDMA_PCI=y \ CONFIG_IDE_GD_ATA=y \
CONFIG_BLK_DEV_IDEPCI=y CONFIG_IDE_GD_ATAPI=n \
FILES:= \ CONFIG_BLK_DEV_IDEDMA_PCI=y \
$(LINUX_DIR)/drivers/ide/ide-core.$(LINUX_KMOD_SUFFIX) \ CONFIG_BLK_DEV_IDEPCI=y
$(LINUX_DIR)/drivers/ide/ide-disk.$(LINUX_KMOD_SUFFIX) FILES:= \
AUTOLOAD:=$(call AutoLoad,20,ide-core) $(call AutoLoad,40,ide-disk) $(LINUX_DIR)/drivers/ide/ide-core.$(LINUX_KMOD_SUFFIX) \
endef $(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 define KernelPackage/ide-core/2.4
FILES+=$(LINUX_DIR)/drivers/ide/ide-detect.$(LINUX_KMOD_SUFFIX) FILES+=$(LINUX_DIR)/drivers/ide/ide-detect.$(LINUX_KMOD_SUFFIX)
AUTOLOAD+=$(call AutoLoad,30,ide-detect) AUTOLOAD+=$(call AutoLoad,30,ide-detect)
endef 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 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) AUTOLOAD+=$(call AutoLoad,30,ide-pci-generic)
endef endef
else else
@ -187,7 +209,7 @@ define KernelPackage/ide-core/description
Includes: Includes:
- ide-core - ide-core
- ide-detect - ide-detect
- ide-disk - ide-gd_mod (or ide-disk)
endef endef
$(eval $(call KernelPackage,ide-core)) $(eval $(call KernelPackage,ide-core))