rockchip: add kernel 6.6 as testing kernel
[openwrt/openwrt.git] / package / kernel / linux / modules / block.mk
index a26d4538f42c2da82a4dd9586b60cbca21f11db9..3dbeca9f9f282d66fb2e3ceb5eba2ca982cc2035 100644 (file)
@@ -25,10 +25,12 @@ $(eval $(call KernelPackage,aoe))
 define KernelPackage/ata-core
   SUBMENU:=$(BLOCK_MENU)
   TITLE:=Serial and Parallel ATA support
-  DEPENDS:=@PCI_SUPPORT +kmod-scsi-core
+  DEPENDS:=@PCI_SUPPORT||TARGET_sunxi +kmod-scsi-core
   KCONFIG:=CONFIG_ATA
   FILES:=$(LINUX_DIR)/drivers/ata/libata.ko
-  AUTOLOAD:=$(call AutoLoad,21,libata,1)
+ifneq ($(wildcard $(LINUX_DIR)/drivers/ata/libahci.ko),)
+  FILES+=$(LINUX_DIR)/drivers/ata/libahci.ko
+endif
 endef
 
 $(eval $(call KernelPackage,ata-core))
@@ -36,7 +38,7 @@ $(eval $(call KernelPackage,ata-core))
 
 define AddDepends/ata
   SUBMENU:=$(BLOCK_MENU)
-  DEPENDS+=kmod-ata-core $(1)
+  DEPENDS+=+kmod-ata-core $(1)
 endef
 
 
@@ -44,8 +46,7 @@ define KernelPackage/ata-ahci
   TITLE:=AHCI Serial ATA support
   KCONFIG:=CONFIG_SATA_AHCI
   FILES:= \
-    $(LINUX_DIR)/drivers/ata/ahci.ko \
-    $(LINUX_DIR)/drivers/ata/libahci.ko
+    $(LINUX_DIR)/drivers/ata/ahci.ko
   AUTOLOAD:=$(call AutoLoad,41,libahci ahci,1)
   $(call AddDepends/ata)
 endef
@@ -57,6 +58,23 @@ endef
 $(eval $(call KernelPackage,ata-ahci))
 
 
+define KernelPackage/ata-ahci-platform
+  TITLE:=AHCI Serial ATA Platform support
+  KCONFIG:=CONFIG_SATA_AHCI_PLATFORM
+  FILES:= \
+    $(LINUX_DIR)/drivers/ata/ahci_platform.ko \
+    $(LINUX_DIR)/drivers/ata/libahci_platform.ko
+  AUTOLOAD:=$(call AutoLoad,40,libahci libahci_platform ahci_platform,1)
+  $(call AddDepends/ata,@TARGET_ipq806x||TARGET_layerscape||TARGET_rockchip||TARGET_sunxi)
+endef
+
+define KernelPackage/ata-ahci-platform/description
+ Platform support for AHCI Serial ATA controllers
+endef
+
+$(eval $(call KernelPackage,ata-ahci-platform))
+
+
 define KernelPackage/ata-artop
   TITLE:=ARTOP 6210/6260 PATA support
   KCONFIG:=CONFIG_PATA_ARTOP
@@ -71,21 +89,18 @@ endef
 
 $(eval $(call KernelPackage,ata-artop))
 
-
-define KernelPackage/ata-marvell-sata
-  TITLE:=Marvell Serial ATA support
-  KCONFIG:=CONFIG_SATA_MV
-  FILES:=$(LINUX_DIR)/drivers/ata/sata_mv.ko
-  AUTOLOAD:=$(call AutoLoad,41,sata_mv,1)
-  $(call AddDepends/ata)
-endef
-
-define KernelPackage/ata-marvell-sata/description
- SATA support for marvell chipsets
+define KernelPackage/ata-ahci-dwc
+  TITLE:=Synopsys DWC AHCI SATA
+  KCONFIG:= \
+       CONFIG_AHCI_DWC \
+       CONFIG_SATA_HOST=y
+  FILES:=$(LINUX_DIR)/drivers/ata/ahci_dwc.ko
+  DEPENDS:=+kmod-ata-ahci-platform
+  AUTOLOAD:=$(call AutoLoad,41,ahci_dwc,1)
+  $(call AddDepends/ata,@TARGET_rockchip)
 endef
 
-$(eval $(call KernelPackage,ata-marvell-sata))
-
+$(eval $(call KernelPackage,ata-ahci-dwc))
 
 define KernelPackage/ata-nvidia-sata
   TITLE:=Nvidia Serial ATA support
@@ -99,14 +114,13 @@ $(eval $(call KernelPackage,ata-nvidia-sata))
 
 
 define KernelPackage/ata-pdc202xx-old
-  SUBMENU:=$(BLOCK_MENU)
   TITLE:=Older Promise PATA controller support
-  DEPENDS:=kmod-ata-core
   KCONFIG:= \
        CONFIG_ATA_SFF=y \
        CONFIG_PATA_PDC_OLD
   FILES:=$(LINUX_DIR)/drivers/ata/pata_pdc202xx_old.ko
   AUTOLOAD:=$(call AutoLoad,41,pata_pdc202xx_old,1)
+  $(call AddDepends/ata)
 endef
 
 define KernelPackage/ata-pdc202xx-old/description
@@ -188,10 +202,20 @@ endef
 $(eval $(call KernelPackage,block2mtd))
 
 
+define KernelPackage/dax
+  SUBMENU:=$(BLOCK_MENU)
+  TITLE:=DAX: direct access to differentiated memory
+  KCONFIG:=CONFIG_DAX
+  FILES:=$(LINUX_DIR)/drivers/dax/dax.ko
+endef
+
+$(eval $(call KernelPackage,dax))
+
+
 define KernelPackage/dm
   SUBMENU:=$(BLOCK_MENU)
   TITLE:=Device Mapper
-  DEPENDS:=+kmod-crypto-manager
+  DEPENDS:=+kmod-crypto-manager +kmod-dax +KERNEL_KEYS:kmod-keys-encrypted
   # All the "=n" are unnecessary, they're only there
   # to stop the config from asking the question.
   # MIRROR is M because I've needed it for pvmove.
@@ -200,6 +224,8 @@ define KernelPackage/dm
        CONFIG_DM_DEBUG=n \
        CONFIG_DM_UEVENT=n \
        CONFIG_DM_DELAY=n \
+       CONFIG_DM_LOG_WRITES=n \
+       CONFIG_DM_MQ_DEFAULT=n \
        CONFIG_DM_MULTIPATH=n \
        CONFIG_DM_ZERO=n \
        CONFIG_DM_SNAPSHOT=n \
@@ -208,8 +234,13 @@ define KernelPackage/dm
        CONFIG_BLK_DEV_DM \
        CONFIG_DM_CRYPT \
        CONFIG_DM_MIRROR
-  FILES:=$(LINUX_DIR)/drivers/md/dm-*.ko
-  AUTOLOAD:=$(call AutoLoad,30,dm-mod dm-log dm-region-hash dm-mirror dm-crypt)
+  FILES:= \
+    $(LINUX_DIR)/drivers/md/dm-mod.ko \
+    $(LINUX_DIR)/drivers/md/dm-crypt.ko \
+    $(LINUX_DIR)/drivers/md/dm-log.ko \
+    $(LINUX_DIR)/drivers/md/dm-mirror.ko \
+    $(LINUX_DIR)/drivers/md/dm-region-hash.ko
+  AUTOLOAD:=$(call AutoLoad,30,dm-mod dm-log dm-region-hash dm-mirror dm-crypt,1)
 endef
 
 define KernelPackage/dm/description
@@ -218,6 +249,49 @@ endef
 
 $(eval $(call KernelPackage,dm))
 
+define KernelPackage/dm-raid
+  SUBMENU:=$(BLOCK_MENU)
+  TITLE:=LVM2 raid support
+  DEPENDS:=+kmod-dm +kmod-md-mod \
+           +kmod-md-raid0 +kmod-md-raid1 +kmod-md-raid10 +kmod-md-raid456
+  KCONFIG:= \
+       CONFIG_DM_RAID
+  FILES:=$(LINUX_DIR)/drivers/md/dm-raid.ko
+  AUTOLOAD:=$(call AutoLoad,31,dm-raid)
+endef
+
+define KernelPackage/dm-raid/description
+ Kernel module necessary for LVM2 raid support
+endef
+
+$(eval $(call KernelPackage,dm-raid))
+
+
+define KernelPackage/iscsi-initiator
+  SUBMENU:=$(BLOCK_MENU)
+  TITLE:=iSCSI Initiator over TCP/IP
+  DEPENDS:=+kmod-scsi-core +kmod-crypto-hash
+  KCONFIG:= \
+       CONFIG_INET \
+       CONFIG_SCSI_LOWLEVEL=y \
+       CONFIG_ISCSI_TCP \
+       CONFIG_SCSI_ISCSI_ATTRS
+  FILES:= \
+       $(LINUX_DIR)/drivers/scsi/iscsi_tcp.ko \
+       $(LINUX_DIR)/drivers/scsi/libiscsi.ko \
+       $(LINUX_DIR)/drivers/scsi/libiscsi_tcp.ko \
+       $(LINUX_DIR)/drivers/scsi/scsi_transport_iscsi.ko
+  AUTOLOAD:=$(call AutoProbe,libiscsi libiscsi_tcp scsi_transport_iscsi iscsi_tcp)
+endef
+
+define KernelPackage/iscsi-initiator/description
+The iSCSI Driver provides a host with the ability to access storage through an
+IP network. The driver uses the iSCSI protocol to transport SCSI requests and
+responses over a TCP/IP network between the host (the "initiator") and "targets".
+endef
+
+$(eval $(call KernelPackage,iscsi-initiator))
+
 
 define KernelPackage/md-mod
   SUBMENU:=$(BLOCK_MENU)
@@ -306,7 +380,7 @@ $(eval $(call KernelPackage,md-raid10))
 
 
 define KernelPackage/md-raid456
-$(call KernelPackage/md/Depends,+kmod-lib-raid6 +kmod-lib-xor)
+$(call KernelPackage/md/Depends,+kmod-lib-raid6 +kmod-lib-xor +kmod-lib-crc32c)
   TITLE:=RAID Level 456 Driver
   KCONFIG:= \
        CONFIG_ASYNC_CORE \
@@ -359,118 +433,6 @@ endef
 $(eval $(call KernelPackage,md-multipath))
 
 
-define KernelPackage/ide-core
-  SUBMENU:=$(BLOCK_MENU)
-  TITLE:=IDE (ATA/ATAPI) device support
-  DEPENDS:=@PCI_SUPPORT
-  KCONFIG:= \
-       CONFIG_IDE \
-       CONFIG_BLK_DEV_IDE \
-       CONFIG_BLK_DEV_IDEDISK \
-       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:= \
-       $(LINUX_DIR)/drivers/ide/ide-core.ko \
-       $(LINUX_DIR)/drivers/ide/ide-gd_mod.ko
-  AUTOLOAD:= \
-       $(call AutoLoad,20,ide-core,1) \
-       $(call AutoLoad,40,ide-gd_mod,1)
-endef
-
-define KernelPackage/ide-core/description
- Kernel support for IDE, useful for usb mass storage devices (e.g. on WL-HDD)
- Includes:
- - ide-core
- - ide-gd_mod
-endef
-
-$(eval $(call KernelPackage,ide-core))
-
-
-define AddDepends/ide
-  SUBMENU:=$(BLOCK_MENU)
-  DEPENDS+=kmod-ide-core $(1)
-endef
-
-
-define KernelPackage/ide-generic
-  SUBMENU:=$(BLOCK_MENU)
-  DEPENDS:=@PCI_SUPPORT
-  TITLE:=Kernel support for generic PCI IDE chipsets
-  KCONFIG:=CONFIG_BLK_DEV_GENERIC
-  FILES:=$(LINUX_DIR)/drivers/ide/ide-pci-generic.ko
-  AUTOLOAD:=$(call AutoLoad,30,ide-pci-generic,1)
-  $(call AddDepends/ide)
-endef
-
-$(eval $(call KernelPackage,ide-generic))
-
-
-define KernelPackage/ide-generic-old
-  SUBMENU:=$(BLOCK_MENU)
-  TITLE:=Kernel support for generic (legacy) IDE chipsets
-  KCONFIG:=CONFIG_IDE_GENERIC
-  FILES:=$(LINUX_DIR)/drivers/ide/ide-generic.ko
-  AUTOLOAD:=$(call AutoLoad,30,ide-generic,1)
-  $(call AddDepends/ide)
-endef
-
-$(eval $(call KernelPackage,ide-generic-old))
-
-
-define KernelPackage/ide-aec62xx
-  TITLE:=Acard AEC62xx IDE driver
-  DEPENDS:=@PCI_SUPPORT
-  KCONFIG:=CONFIG_BLK_DEV_AEC62XX
-  FILES:=$(LINUX_DIR)/drivers/ide/aec62xx.ko
-  AUTOLOAD:=$(call AutoLoad,30,aec62xx,1)
-  $(call AddDepends/ide)
-endef
-
-define KernelPackage/ide-aec62xx/description
- Support for Acard AEC62xx (Artop ATP8xx) IDE controllers
-endef
-
-$(eval $(call KernelPackage,ide-aec62xx,1))
-
-
-define KernelPackage/ide-pdc202xx
-  TITLE:=Promise PDC202xx IDE driver
-  DEPENDS:=@PCI_SUPPORT
-  KCONFIG:=CONFIG_BLK_DEV_PDC202XX_OLD
-  FILES:=$(LINUX_DIR)/drivers/ide/pdc202xx_old.ko
-  AUTOLOAD:=$(call AutoLoad,30,pdc202xx_old,1)
-  $(call AddDepends/ide)
-endef
-
-define KernelPackage/ide-pdc202xx/description
- Support for the Promise Ultra 33/66/100 (PDC202{46|62|65|67|68}) IDE
- controllers.
-endef
-
-$(eval $(call KernelPackage,ide-pdc202xx))
-
-
-define KernelPackage/ide-it821x
-  TITLE:=ITE IT821x IDE driver
-  DEPENDS:=@PCI_SUPPORT
-  KCONFIG:=CONFIG_BLK_DEV_IT821X
-  FILES=$(LINUX_DIR)/drivers/ide/it821x.ko
-  AUTOLOAD:=$(call AutoLoad,30,it821x,1)
-  $(call AddDepends/ide)
-endef
-
-define KernelPackage/ide-it821x/description
- Kernel module for the ITE IDE821x IDE controllers
-endef
-
-$(eval $(call KernelPackage,ide-it821x))
-
-
 define KernelPackage/libsas
   SUBMENU:=$(BLOCK_MENU)
   DEPENDS:=@TARGET_x86
@@ -500,7 +462,7 @@ define KernelPackage/loop
        CONFIG_BLK_DEV_LOOP \
        CONFIG_BLK_DEV_CRYPTOLOOP=n
   FILES:=$(LINUX_DIR)/drivers/block/loop.ko
-  AUTOLOAD:=$(call AutoLoad,30,loop)
+  AUTOLOAD:=$(call AutoLoad,30,loop,1)
 endef
 
 define KernelPackage/loop/description
@@ -543,16 +505,41 @@ endef
 $(eval $(call KernelPackage,nbd))
 
 
+define KernelPackage/nvme
+  SUBMENU:=$(BLOCK_MENU)
+  TITLE:=NVM Express block device
+  DEPENDS:=@PCI_SUPPORT +kmod-hwmon-core
+  KCONFIG:= \
+       CONFIG_NVME_CORE \
+       CONFIG_BLK_DEV_NVME \
+       CONFIG_NVME_MULTIPATH=n \
+       CONFIG_NVME_HWMON=y
+  FILES:= \
+       $(LINUX_DIR)/drivers/nvme/host/nvme-core.ko \
+       $(LINUX_DIR)/drivers/nvme/host/nvme.ko
+  AUTOLOAD:=$(call AutoLoad,30,nvme-core nvme,1)
+endef
+
+define KernelPackage/nvme/description
+ Kernel module for NVM Express solid state drives directly
+ connected to the PCI or PCI Express bus.
+endef
+
+$(eval $(call KernelPackage,nvme))
+
+
 define KernelPackage/scsi-core
   SUBMENU:=$(BLOCK_MENU)
   TITLE:=SCSI device support
   KCONFIG:= \
        CONFIG_SCSI \
+       CONFIG_SCSI_COMMON \
        CONFIG_BLK_DEV_SD
   FILES:= \
-       $(if $(findstring y,$(CONFIG_SCSI)),,$(LINUX_DIR)/drivers/scsi/scsi_mod.ko) \
+       $(LINUX_DIR)/drivers/scsi/scsi_mod.ko \
+       $(LINUX_DIR)/drivers/scsi/scsi_common.ko \
        $(LINUX_DIR)/drivers/scsi/sd_mod.ko
-  AUTOLOAD:=$(call AutoLoad,20,scsi_mod,1) $(call AutoLoad,40,sd_mod,1)
+  AUTOLOAD:=$(call AutoLoad,40,scsi_mod scsi_common sd_mod,1)
 endef
 
 $(eval $(call KernelPackage,scsi-core))
@@ -572,17 +559,53 @@ endef
 $(eval $(call KernelPackage,scsi-generic))
 
 
+define KernelPackage/cdrom
+  TITLE:=Kernel library module for CD / DVD drives
+  KCONFIG:=CONFIG_CDROM
+  HIDDEN:=1
+  FILES:=$(LINUX_DIR)/drivers/cdrom/cdrom.ko
+endef
+
+$(eval $(call KernelPackage,cdrom))
+
+
 define KernelPackage/scsi-cdrom
   SUBMENU:=$(BLOCK_MENU)
   TITLE:=Kernel support for CD / DVD drives
-  DEPENDS:=+kmod-scsi-core
+  DEPENDS:=+kmod-scsi-core +kmod-cdrom
   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)
+  FILES:=$(LINUX_DIR)/drivers/scsi/sr_mod.ko
+  AUTOLOAD:=$(call AutoLoad,45,sr_mod)
 endef
 
 $(eval $(call KernelPackage,scsi-cdrom))
+
+
+define KernelPackage/scsi-tape
+  SUBMENU:=$(BLOCK_MENU)
+  TITLE:=Kernel support for scsi tape drives
+  DEPENDS:=+kmod-scsi-core
+  KCONFIG:= \
+    CONFIG_CHR_DEV_ST
+  FILES:= \
+    $(LINUX_DIR)/drivers/scsi/st.ko
+  AUTOLOAD:=$(call AutoLoad,45,st)
+endef
+
+$(eval $(call KernelPackage,scsi-tape))
+
+define KernelPackage/iosched-bfq
+  SUBMENU:=$(BLOCK_MENU)
+  TITLE:=Kernel support for BFQ I/O scheduler
+  KCONFIG:= \
+    CONFIG_IOSCHED_BFQ \
+    CONFIG_BFQ_GROUP_IOSCHED=y \
+    CONFIG_BFQ_CGROUP_DEBUG=n
+  FILES:= \
+    $(LINUX_DIR)/block/bfq.ko
+  AUTOLOAD:=$(call AutoLoad,10,bfq)
+endef
+
+$(eval $(call KernelPackage,iosched-bfq))