kernel: kmod-ata-ahci-platform: enable support for RK35xx
[openwrt/staging/stintel.git] / package / kernel / linux / modules / block.mk
index 1aa47def2d504c913f965d389f991e8b10fb63d9..4f3a6e085ffb2296d3806fa7bb42a1b909a3ed4c 100644 (file)
@@ -16,7 +16,7 @@ define KernelPackage/aoe
 endef
 
 define KernelPackage/aoe/description
 Kernel support for ATA over Ethernet
+ Kernel support for ATA over Ethernet
 endef
 
 $(eval $(call KernelPackage,aoe))
@@ -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,19 +46,35 @@ 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
 
 define KernelPackage/ata-ahci/description
- Support for AHCI Serial ATA controllers.
+ Support for AHCI Serial ATA controllers
 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
@@ -66,27 +84,12 @@ define KernelPackage/ata-artop
 endef
 
 define KernelPackage/ata-artop/description
- PATA support for ARTOP 6210/6260 host controllers.
+ PATA support for ARTOP 6210/6260 host controllers
 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
-endef
-
-$(eval $(call KernelPackage,ata-marvell-sata))
-
-
 define KernelPackage/ata-nvidia-sata
   TITLE:=Nvidia Serial ATA support
   KCONFIG:=CONFIG_SATA_NV
@@ -99,19 +102,18 @@ $(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
  This option enables support for the Promise 20246, 20262, 20263,
- 20265 and 20267 adapters.
+ 20265 and 20267 adapters
 endef
 
 $(eval $(call KernelPackage,ata-pdc202xx-old))
@@ -127,7 +129,7 @@ endef
 
 define KernelPackage/ata-piix/description
  SATA support for Intel ICH5/6/7/8 series host controllers and
- PATA support for Intel ESB/ICH/PIIX3/PIIX4 series host controllers.
+ PATA support for Intel ESB/ICH/PIIX3/PIIX4 series host controllers
 endef
 
 $(eval $(call KernelPackage,ata-piix))
@@ -142,7 +144,7 @@ define KernelPackage/ata-sil
 endef
 
 define KernelPackage/ata-sil/description
- Support for Silicon Image Serial ATA controllers.
+ Support for Silicon Image Serial ATA controllers
 endef
 
 $(eval $(call KernelPackage,ata-sil))
@@ -157,27 +159,12 @@ define KernelPackage/ata-sil24
 endef
 
 define KernelPackage/ata-sil24/description
- Support for Silicon Image 3124/3132 Serial ATA controllers.
+ Support for Silicon Image 3124/3132 Serial ATA controllers
 endef
 
 $(eval $(call KernelPackage,ata-sil24))
 
 
-define KernelPackage/ata-sis
-  TITLE:=SIS SATA support
-  KCONFIG:=CONFIG_SATA_SIS
-  FILES:=$(LINUX_DIR)/drivers/ata/sata_sis.ko
-  AUTOLOAD:=$(call AutoLoad,41,sata_sis,1)
-  $(call AddDepends/ata)
-endef
-
-define KernelPackage/ata-sis/description
- Support for SIS Serial ATA controllers.
-endef
-
-$(eval $(call KernelPackage,ata-sis))
-
-
 define KernelPackage/ata-via-sata
   TITLE:=VIA SATA support
   KCONFIG:=CONFIG_SATA_VIA
@@ -187,7 +174,7 @@ define KernelPackage/ata-via-sata
 endef
 
 define KernelPackage/ata-via-sata/description
- This option enables support for VIA Serial ATA.
+ This option enables support for VIA Serial ATA
 endef
 
 $(eval $(call KernelPackage,ata-via-sata))
@@ -203,9 +190,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 +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.
@@ -214,6 +212,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 \
@@ -222,8 +222,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
@@ -232,6 +237,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)
@@ -320,29 +368,25 @@ $(eval $(call KernelPackage,md-raid10))
 
 
 define KernelPackage/md-raid456
-$(call KernelPackage/md/Depends,)
+$(call KernelPackage/md/Depends,+kmod-lib-raid6 +kmod-lib-xor +kmod-lib-crc32c)
   TITLE:=RAID Level 456 Driver
   KCONFIG:= \
-       CONFIG_XOR_BLOCKS \
        CONFIG_ASYNC_CORE \
        CONFIG_ASYNC_MEMCPY \
        CONFIG_ASYNC_XOR \
        CONFIG_ASYNC_PQ \
        CONFIG_ASYNC_RAID6_RECOV \
        CONFIG_ASYNC_RAID6_TEST=n \
-       CONFIG_MD_RAID6_PQ \
        CONFIG_MD_RAID456 \
        CONFIG_MULTICORE_RAID456=n
   FILES:= \
-       $(LINUX_DIR)/crypto/xor.ko \
        $(LINUX_DIR)/crypto/async_tx/async_tx.ko \
        $(LINUX_DIR)/crypto/async_tx/async_memcpy.ko \
        $(LINUX_DIR)/crypto/async_tx/async_xor.ko \
        $(LINUX_DIR)/crypto/async_tx/async_pq.ko \
        $(LINUX_DIR)/crypto/async_tx/async_raid6_recov.ko \
-       $(LINUX_DIR)/drivers/md/raid456.ko \
-       $(LINUX_DIR)/lib/raid6/raid6_pq.ko
-  AUTOLOAD:=$(call AutoLoad,28, xor async_tx async_memcpy async_xor raid6_pq async_pq async_raid6_recov raid456)
+       $(LINUX_DIR)/drivers/md/raid456.ko
+  AUTOLOAD:=$(call AutoLoad,28, async_tx async_memcpy async_xor async_pq async_raid6_recov raid456)
 endef
 
 define KernelPackage/md-raid456/description
@@ -377,120 +421,9 @@ 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
   TITLE:=SAS Domain Transport Attributes
   KCONFIG:=CONFIG_SCSI_SAS_LIBSAS \
        CONFIG_SCSI_SAS_ATTRS \
@@ -504,7 +437,7 @@ define KernelPackage/libsas
 endef
 
 define KernelPackage/libsas/description
-  SAS Domain Transport Attributes support.
+ SAS Domain Transport Attributes support
 endef
 
 $(eval $(call KernelPackage,libsas,1))
@@ -517,7 +450,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
@@ -539,7 +472,7 @@ define KernelPackage/mvsas
 endef
 
 define KernelPackage/mvsas/description
 Kernel support for the Marvell SAS SCSI adapters
+ Kernel support for the Marvell SAS SCSI adapters
 endef
 
 $(eval $(call KernelPackage,mvsas))
@@ -560,16 +493,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))
@@ -589,18 +547,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))