kernel: kmod-ata-ahci-platform: enable support for RK35xx
[openwrt/staging/stintel.git] / package / kernel / linux / modules / block.mk
index 46cb99c8344d633dd62d2f0b433a5656a5dd5f82..4f3a6e085ffb2296d3806fa7bb42a1b909a3ed4c 100644 (file)
@@ -25,9 +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
+ifneq ($(wildcard $(LINUX_DIR)/drivers/ata/libahci.ko),)
+  FILES+=$(LINUX_DIR)/drivers/ata/libahci.ko
+endif
 endef
 
 $(eval $(call KernelPackage,ata-core))
@@ -35,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
 
 
@@ -43,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
@@ -62,8 +64,8 @@ define KernelPackage/ata-ahci-platform
   FILES:= \
     $(LINUX_DIR)/drivers/ata/ahci_platform.ko \
     $(LINUX_DIR)/drivers/ata/libahci_platform.ko
-  AUTOLOAD:=$(call AutoLoad,40,libahci_platform ahci_platform,1)
-  $(call AddDepends/ata,@TARGET_ipq806x +kmod-ata-ahci)
+  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
@@ -88,40 +90,6 @@ endef
 $(eval $(call KernelPackage,ata-artop))
 
 
-define KernelPackage/ata-imx
-  TITLE:=Freescale i.MX AHCI SATA support
-  DEPENDS:=@TARGET_imx6
-  KCONFIG:=\
-       CONFIG_AHCI_IMX \
-       CONFIG_SATA_AHCI_PLATFORM \
-       CONFIG_PATA_IMX=n
-  FILES:=$(LINUX_DIR)/drivers/ata/ahci_imx.ko
-  AUTOLOAD:=$(call AutoLoad,41,ahci_imx,1)
-  $(call AddDepends/ata)
-endef
-
-define KernelPackage/ata-imx/description
- SATA support for the Freescale i.MX6 SoC's onboard AHCI SATA
-endef
-
-$(eval $(call KernelPackage,ata-imx))
-
-
-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
@@ -133,31 +101,14 @@ endef
 $(eval $(call KernelPackage,ata-nvidia-sata))
 
 
-define KernelPackage/ata-oxnas-sata
-  TITLE:=oxnas Serial ATA support
-  KCONFIG:=CONFIG_SATA_OXNAS
-  DEPENDS:=@TARGET_oxnas
-  FILES:=$(LINUX_DIR)/drivers/ata/sata_oxnas.ko
-  AUTOLOAD:=$(call AutoLoad,41,sata_oxnas,1)
-  $(call AddDepends/ata)
-endef
-
-define KernelPackage/ata-oxnas-sata/description
- SATA support for OX934 core found in the OX82x/PLX782x SoCs
-endef
-
-$(eval $(call KernelPackage,ata-oxnas-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
@@ -239,10 +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
+  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.
@@ -251,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 \
@@ -259,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
@@ -269,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)
@@ -357,7 +368,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 \
@@ -410,115 +421,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
-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
@@ -548,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
@@ -591,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,40,sd_mod,1)
+  AUTOLOAD:=$(call AutoLoad,40,scsi_mod scsi_common sd_mod,1)
 endef
 
 $(eval $(call KernelPackage,scsi-core))
@@ -620,17 +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
+  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))