X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/91c21e1b4de87a180a1771db35c6445c7d763f49..bdb465749d0bc1d806cc3d678b8f5c0766f1a810:/package/kernel/modules/block.mk diff --git a/package/kernel/modules/block.mk b/package/kernel/modules/block.mk index 8af67b37c..8037449c0 100644 --- a/package/kernel/modules/block.mk +++ b/package/kernel/modules/block.mk @@ -44,7 +44,12 @@ define KernelPackage/ata-ahci TITLE:=AHCI Serial ATA support KCONFIG:=CONFIG_SATA_AHCI FILES:=$(LINUX_DIR)/drivers/ata/ahci.ko - AUTOLOAD:=$(call AutoLoad,41,ahci,1) + ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.35)),1) + FILES += $(LINUX_DIR)/drivers/ata/libahci.ko + AUTOLOAD:=$(call AutoLoad,41,libahci ahci,1) + else + AUTOLOAD:=$(call AutoLoad,41,ahci,1) + endif $(call AddDepends/ata) endef @@ -201,6 +206,159 @@ endef $(eval $(call KernelPackage,dm)) +define KernelPackage/md-mod + SUBMENU:=$(BLOCK_MENU) + TITLE:=MD RAID + KCONFIG:= \ + CONFIG_MD=y \ + CONFIG_BLK_DEV_MD=m \ + CONFIG_MD_AUTODETECT=y \ + CONFIG_MD_FAULTY=n + FILES:=$(LINUX_DIR)/drivers/md/md-mod.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,27,md-mod) +endef + +define KernelPackage/md-mod/description + Kernel RAID md module (md-mod.ko). + You will need to select at least one RAID level module below. +endef + +$(eval $(call KernelPackage,md-mod)) + + +define KernelPackage/md/Depends + SUBMENU:=$(BLOCK_MENU) + DEPENDS:=kmod-md-mod $(1) +endef + + +define KernelPackage/md-linear +$(call KernelPackage/md/Depends,) + TITLE:=RAID Linear Module + KCONFIG:=CONFIG_MD_LINEAR=m + FILES:=$(LINUX_DIR)/drivers/md/linear.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,28,linear) +endef + +define KernelPackage/md-linear/description + RAID "Linear" or "Append" driver module (linear.ko) +endef + +$(eval $(call KernelPackage,md-linear)) + + +define KernelPackage/md-raid0 +$(call KernelPackage/md/Depends,) + TITLE:=RAID0 Module + KCONFIG:=CONFIG_MD_RAID0=m + FILES:=$(LINUX_DIR)/drivers/md/raid0.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,28,raid0) +endef + +define KernelPackage/md-raid0/description + RAID Level 0 (Striping) driver module (raid0.ko) +endef + +$(eval $(call KernelPackage,md-raid0)) + + +define KernelPackage/md-raid1 +$(call KernelPackage/md/Depends,) + TITLE:=RAID1 Module + KCONFIG:=CONFIG_MD_RAID1=m + FILES:=$(LINUX_DIR)/drivers/md/raid1.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,28,raid1) +endef + +define KernelPackage/md-raid1/description + RAID Level 1 (Mirroring) driver (raid1.ko) +endef + +$(eval $(call KernelPackage,md-raid1)) + + +define KernelPackage/md-raid10 +$(call KernelPackage/md/Depends,) + TITLE:=RAID10 Module + KCONFIG:=CONFIG_MD_RAID10=m + FILES:=$(LINUX_DIR)/drivers/md/raid10.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,28,raid10) +endef + +define KernelPackage/md-raid10/description + RAID Level 10 (Mirroring+Striping) driver module (raid10.ko) +endef + +$(eval $(call KernelPackage,md-raid10)) + + +define KernelPackage/md-raid456 +$(call KernelPackage/md/Depends,) + TITLE:=RAID Level 456 Driver + KCONFIG:= \ + CONFIG_XOR_BLOCKS=m \ + CONFIG_ASYNC_CORE=m \ + CONFIG_ASYNC_MEMCPY=m \ + CONFIG_ASYNC_XOR=m \ + CONFIG_ASYNC_PQ=m \ + CONFIG_ASYNC_RAID6_RECOV=m \ + CONFIG_ASYNC_RAID6_TEST=n \ + CONFIG_MD_RAID6_PQ=m \ + CONFIG_MD_RAID456=m \ + CONFIG_MULTICORE_RAID456=n + FILES:= \ + $(LINUX_DIR)/crypto/xor.$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/crypto/async_tx/async_tx.$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/crypto/async_tx/async_memcpy.$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/crypto/async_tx/async_xor.$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/crypto/async_tx/async_pq.$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/crypto/async_tx/async_raid6_recov.$(LINUX_KMOD_SUFFIX) \ + $(LINUX_DIR)/drivers/md/raid456.$(LINUX_KMOD_SUFFIX) + # Additional files with kernel-dependent locations or presence + # For Linux >= 2.6.36 + ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.36)), 1) + FILES+= \ + $(LINUX_DIR)/lib/raid6/raid6_pq.$(LINUX_KMOD_SUFFIX) + # For Linux < 2.6.36 + else + FILES+= \ + $(LINUX_DIR)/drivers/md/raid6_pq.$(LINUX_KMOD_SUFFIX) + endif + AUTOLOAD:=$(call AutoLoad,28, xor async_tx async_memcpy async_xor raid6_pq async_pq async_raid6_recov raid456) +endef + +define KernelPackage/md-raid456/description + RAID Level 4,5,6 kernel module (raid456.ko) + + Includes the following modules required by + raid456.ko: + xor.ko + async_tx.ko + async_xor.ko + async_memcpy.ko + async_pq.ko + async_raid5_recov.ko + raid6_pq.ko +endef + +$(eval $(call KernelPackage,md-raid456)) + + +define KernelPackage/md-multipath +$(call KernelPackage/md/Depends,) + TITLE:=MD Multipath Module + KCONFIG:=CONFIG_MD_MULTIPATH=m + FILES:=$(LINUX_DIR)/drivers/md/multipath.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,29,multipath) +endef + +define KernelPackage/md-multipath/description + Multipath driver module (multipath.ko) +endef + +$(eval $(call KernelPackage,md-multipath)) + + define KernelPackage/ide-core SUBMENU:=$(BLOCK_MENU) TITLE:=IDE (ATA/ATAPI) device support @@ -212,6 +370,7 @@ define KernelPackage/ide-core CONFIG_IDE_GD \ CONFIG_IDE_GD_ATA=y \ CONFIG_IDE_GD_ATAPI=n \ + CONFIG_IDEPCI_PCIBUS_ORDER=y \ CONFIG_BLK_DEV_IDEDMA_PCI=y \ CONFIG_BLK_DEV_IDEPCI=y FILES:= \ @@ -391,7 +550,7 @@ define KernelPackage/mvsas TITLE:=Marvell 88SE6440 SAS/SATA driver DEPENDS:=@TARGET_x86 +kmod-libsas KCONFIG:=CONFIG_SCSI_MVSAS - ifneq ($(CONFIG_LINUX_2_6_25)$(CONFIG_LINUX_2_6_30),) + ifneq ($(CONFIG_LINUX_2_6_30),) FILES:=$(LINUX_DIR)/drivers/scsi/mvsas.ko else FILES:=$(LINUX_DIR)/drivers/scsi/mvsas/mvsas.ko @@ -440,6 +599,7 @@ $(eval $(call KernelPackage,scsi-core)) define KernelPackage/scsi-generic SUBMENU:=$(BLOCK_MENU) TITLE:=Kernel support for SCSI generic + DEPENDS:=+!TARGET_x86:kmod-scsi-core KCONFIG:= \ CONFIG_CHR_DEV_SG FILES:= \ @@ -448,3 +608,20 @@ define KernelPackage/scsi-generic endef $(eval $(call KernelPackage,scsi-generic)) + + +define KernelPackage/scsi-cdrom + SUBMENU:=$(BLOCK_MENU) + TITLE:=Kernel support for CD / DVD drives + DEPENDS:=+!TARGET_x86:kmod-scsi-core + KCONFIG:= \ + CONFIG_BLK_DEV_SR \ + CONFIG_BLK_DEV_SR_VENDOR=n + FILES:= \ + $(LINUX_DIR)/drivers/cdrom/cdrom.ko \ + $(LINUX_DIR)/drivers/scsi/sr_mod.ko + AUTOLOAD:=$(call AutoLoad,30,cdrom) $(call AutoLoad,45,sr_mod) +endef + +$(eval $(call KernelPackage,scsi-cdrom)) +