diff options
Diffstat (limited to 'package/kernel/linux')
27 files changed, 2685 insertions, 677 deletions
diff --git a/package/kernel/linux/Makefile b/package/kernel/linux/Makefile index 9fa68d78f72..6592b01678f 100644 --- a/package/kernel/linux/Makefile +++ b/package/kernel/linux/Makefile @@ -12,7 +12,9 @@ PKG_NAME:=kernel PKG_FLAGS:=hold PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/packages -SCAN_DEPS=modules/*.mk $(TOPDIR)/target/linux/*/modules.mk $(TOPDIR)/include/netfilter.mk +SUBTARGETS = $(sort $(filter-out feeds,$(notdir $(wildcard $(TOPDIR)/target/linux/* $(TOPDIR)/target/linux/feeds/*)))) +SUBTARGET_MODULES = $(foreach t,$(SUBTARGETS),$(firstword $(wildcard $(TOPDIR)/target/linux/feeds/$(t)/modules.mk $(TOPDIR)/target/linux/$(t)/modules.mk))) +SCAN_DEPS=modules/*.mk $(SUBTARGET_MODULES) $(TOPDIR)/include/netfilter.mk PKG_LICENSE:=GPL-2.0 PKG_LICENSE_FILES:= @@ -35,6 +37,9 @@ endef define Build/Configure endef +define Build/Quilt +endef + define Build/Compile endef @@ -53,7 +58,12 @@ define Package/kernel endef define Package/kernel/install - # nothing to do + $(INSTALL_DIR) $(1)/$(MODULES_SUBDIR) + $(INSTALL_DATA) $(LINUX_DIR)/modules.builtin $(1)/$(MODULES_SUBDIR) + $(SED) 's,.*/,,' $(1)/$(MODULES_SUBDIR)/modules.builtin + strings $(LINUX_DIR)/modules.builtin.modinfo | \ + grep -E -v "\.(file$(if CONFIG_MODULE_STRIPPED,|parmtype))=" | \ + tr '\n' '\0' > $(1)/$(MODULES_SUBDIR)/modules.builtin.modinfo endef define Package/kernel/extra_provides @@ -63,4 +73,4 @@ endef $(eval $(if $(DUMP),,$(call BuildPackage,kernel))) include $(sort $(wildcard ./modules/*.mk)) --include $(TOPDIR)/target/linux/*/modules.mk +-include $(SUBTARGET_MODULES) diff --git a/package/kernel/linux/files/hotplug-sched-teql.sh b/package/kernel/linux/files/hotplug-sched-teql.sh index a0c0e503aa6..2dc4ed4a842 100644 --- a/package/kernel/linux/files/hotplug-sched-teql.sh +++ b/package/kernel/linux/files/hotplug-sched-teql.sh @@ -12,7 +12,7 @@ config_get teql $INTERFACE teql if [ "$teql" != "" ]; then logger Adding device $DEVICE to TEQL master $teql - insmod sch_teql + modprobe sch_teql tc qdisc add dev $DEVICE root $teql # The kernel doesn't let us bring it up until it has at least one diff --git a/package/kernel/linux/files/sysctl-nf-conntrack.conf b/package/kernel/linux/files/sysctl-nf-conntrack.conf index 37baf5fd6ff..c6a0ef362b6 100644 --- a/package/kernel/linux/files/sysctl-nf-conntrack.conf +++ b/package/kernel/linux/files/sysctl-nf-conntrack.conf @@ -3,7 +3,6 @@ net.netfilter.nf_conntrack_acct=1 net.netfilter.nf_conntrack_checksum=0 -net.netfilter.nf_conntrack_max=16384 net.netfilter.nf_conntrack_tcp_timeout_established=7440 net.netfilter.nf_conntrack_udp_timeout=60 net.netfilter.nf_conntrack_udp_timeout_stream=180 diff --git a/package/kernel/linux/modules/block.mk b/package/kernel/linux/modules/block.mk index e5822d95d78..5e6eefa76a9 100644 --- a/package/kernel/linux/modules/block.mk +++ b/package/kernel/linux/modules/block.mk @@ -90,21 +90,6 @@ 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 @@ -243,7 +228,7 @@ define KernelPackage/dm $(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) + AUTOLOAD:=$(call AutoLoad,30,dm-mod dm-log dm-region-hash dm-mirror dm-crypt,1) endef define KernelPackage/dm/description @@ -465,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 @@ -508,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:= \ $(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,scsi_mod sd_mod,1) + AUTOLOAD:=$(call AutoLoad,40,scsi_mod scsi_common sd_mod,1) endef $(eval $(call KernelPackage,scsi-core)) diff --git a/package/kernel/linux/modules/can.mk b/package/kernel/linux/modules/can.mk index 3060fc09660..4ff85d1c013 100644 --- a/package/kernel/linux/modules/can.mk +++ b/package/kernel/linux/modules/can.mk @@ -121,7 +121,7 @@ define KernelPackage/can-flexcan KCONFIG:=CONFIG_CAN_FLEXCAN FILES:=$(LINUX_DIR)/drivers/net/can/flexcan.ko AUTOLOAD:=$(call AutoProbe,flexcan) - $(call AddDepends/can,@TARGET_imx6) + $(call AddDepends/can,@TARGET_imx) endef define KernelPackage/can-flexcan/description @@ -152,7 +152,7 @@ define KernelPackage/can-mcp251x CONFIG_SPI=y \ CONFIG_CAN_MCP251X FILES:=$(LINUX_DIR)/drivers/net/can/spi/mcp251x.ko - AUTOLOAD:=$(call AutoProbe,can-mcp251x) + AUTOLOAD:=$(call AutoProbe,mcp251x) $(call AddDepends/can) endef diff --git a/package/kernel/linux/modules/crypto.mk b/package/kernel/linux/modules/crypto.mk index 6cecb1a0fa6..dd17d868fa1 100644 --- a/package/kernel/linux/modules/crypto.mk +++ b/package/kernel/linux/modules/crypto.mk @@ -42,7 +42,7 @@ define KernelPackage/crypto-aead CONFIG_CRYPTO_AEAD2 FILES:= \ $(LINUX_DIR)/crypto/aead.ko \ - $(LINUX_DIR)/crypto/geniv.ko@ge5.10 + $(LINUX_DIR)/crypto/geniv.ko AUTOLOAD:=$(call AutoLoad,09,aead,1) $(call AddDepends/crypto, +kmod-crypto-null) endef @@ -52,6 +52,7 @@ $(eval $(call KernelPackage,crypto-aead)) define KernelPackage/crypto-arc4 TITLE:=ARC4 cipher CryptoAPI module + DEPENDS:=+kmod-crypto-user KCONFIG:= \ CONFIG_CRYPTO_ARC4 \ CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y @@ -69,8 +70,10 @@ define KernelPackage/crypto-authenc TITLE:=Combined mode wrapper for IPsec DEPENDS:=+kmod-crypto-manager +kmod-crypto-null KCONFIG:=CONFIG_CRYPTO_AUTHENC - FILES:=$(LINUX_DIR)/crypto/authenc.ko - AUTOLOAD:=$(call AutoLoad,09,authenc) + FILES:= \ + $(LINUX_DIR)/crypto/authenc.ko \ + $(LINUX_DIR)/crypto/authencesn.ko + AUTOLOAD:=$(call AutoLoad,09,authenc authencesn) $(call AddDepends/crypto) endef @@ -101,6 +104,18 @@ endef $(eval $(call KernelPackage,crypto-ccm)) +define KernelPackage/crypto-chacha20poly1305 + TITLE:=ChaCha20-Poly1305 AEAD support, RFC7539 (used by strongSwan IPsec VPN) + DEPENDS:=+kmod-crypto-aead +kmod-crypto-manager + KCONFIG:=CONFIG_CRYPTO_CHACHA20POLY1305 + FILES:=$(LINUX_DIR)/crypto/chacha20poly1305.ko + AUTOLOAD:=$(call AutoLoad,09,chacha20poly1305) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-chacha20poly1305)) + + define KernelPackage/crypto-cmac TITLE:=Support for Cipher-based Message Authentication Code (CMAC) DEPENDS:=+kmod-crypto-hash @@ -225,6 +240,18 @@ endef $(eval $(call KernelPackage,crypto-echainiv)) +define KernelPackage/crypto-essiv + TITLE:=ESSIV support for block encryption + DEPENDS:=+kmod-crypto-authenc + KCONFIG:=CONFIG_CRYPTO_ESSIV + FILES:= $(LINUX_DIR)/crypto/essiv.ko + AUTOLOAD:=$(call AutoLoad,10,essiv) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-essiv)) + + define KernelPackage/crypto-fcrypt TITLE:=FCRYPT cipher CryptoAPI module KCONFIG:=CONFIG_CRYPTO_FCRYPT @@ -287,7 +314,7 @@ define KernelPackage/crypto-ghash/arm-ce AUTOLOAD+=$(call AutoLoad,09,ghash-arm-ce) endef -KernelPackage/crypto-ghash/imx6=$(KernelPackage/crypto-ghash/arm-ce) +KernelPackage/crypto-ghash/imx=$(KernelPackage/crypto-ghash/arm-ce) KernelPackage/crypto-ghash/ipq40xx=$(KernelPackage/crypto-ghash/arm-ce) KernelPackage/crypto-ghash/mvebu/cortexa9=$(KernelPackage/crypto-ghash/arm-ce) @@ -372,6 +399,19 @@ endef $(eval $(call KernelPackage,crypto-hw-hifn-795x)) +define KernelPackage/crypto-hw-ixp4xx + TITLE:=Intel IXP4xx crypto accelerator + DEPENDS:=@TARGET_ixp4xx +kmod-random-core +kmod-crypto-manager +kmod-crypto-authenc +kmod-crypto-des + KCONFIG:= \ + CONFIG_CRYPTO_HW=y \ + CONFIG_CRYPTO_DEV_IXP4XX + FILES:=$(LINUX_DIR)/drivers/crypto/ixp4xx_crypto.ko + AUTOLOAD:=$(call AutoProbe,ixp4xx_crypto) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-hw-ixp4xx)) + define KernelPackage/crypto-hw-padlock TITLE:=VIA PadLock ACE with AES/SHA hw crypto module @@ -393,8 +433,9 @@ $(eval $(call KernelPackage,crypto-hw-padlock)) define KernelPackage/crypto-hw-safexcel TITLE:= MVEBU SafeXcel Crypto Engine module - DEPENDS:=@(TARGET_mvebu_cortexa53||TARGET_mvebu_cortexa72) +eip197-mini-firmware \ - +kmod-crypto-authenc +kmod-crypto-md5 +kmod-crypto-hmac +kmod-crypto-sha256 +kmod-crypto-sha512 + DEPENDS:=@(TARGET_mvebu_cortexa53||TARGET_mvebu_cortexa72||TARGET_mediatek_filogic||TARGET_mediatek_mt7623) \ + +eip197-mini-firmware +kmod-crypto-authenc +kmod-crypto-des +kmod-crypto-md5 +kmod-crypto-hmac \ + +kmod-crypto-sha1 +kmod-crypto-sha256 +kmod-crypto-sha512 KCONFIG:= \ CONFIG_CRYPTO_HW=y \ CONFIG_CRYPTO_DEV_SAFEXCEL @@ -435,6 +476,35 @@ endef $(eval $(call KernelPackage,crypto-hw-talitos)) +define KernelPackage/crypto-hw-eip93 + TITLE:=MTK EIP93 crypto module + DEPENDS:=@TARGET_ramips_mt7621 \ + +kmod-crypto-authenc \ + +kmod-crypto-des \ + +kmod-crypto-md5 \ + +kmod-crypto-sha1 \ + +kmod-crypto-sha256 + KCONFIG:= \ + CONFIG_CRYPTO_HW=y \ + CONFIG_CRYPTO_DEV_EIP93 \ + CONFIG_CRYPTO_DEV_EIP93_AES=y \ + CONFIG_CRYPTO_DEV_EIP93_DES=y \ + CONFIG_CRYPTO_DEV_EIP93_AEAD=y \ + CONFIG_CRYPTO_DEV_EIP93_GENERIC_SW_MAX_LEN=256 \ + CONFIG_CRYPTO_DEV_EIP93_AES_128_SW_MAX_LEN=512 + FILES:=$(LINUX_DIR)/drivers/crypto/mtk-eip93/crypto-hw-eip93.ko + AUTOLOAD:=$(call AutoLoad,09,crypto-hw-eip93) + $(call AddDepends/crypto) +endef + +define KernelPackage/crypto-hw-eip93/description +Kernel module to enable EIP-93 Crypto engine as found +in the Mediatek MT7621 SoC. +It enables DES/3DES/AES ECB/CBC/CTR and +IPSEC offload with authenc(hmac(sha1/sha256), aes/cbc/rfc3686) +endef + +$(eval $(call KernelPackage,crypto-hw-eip93)) define KernelPackage/crypto-kpp TITLE:=Key-agreement Protocol Primitives @@ -446,29 +516,6 @@ endef $(eval $(call KernelPackage,crypto-kpp)) - -define KernelPackage/crypto-lib-blake2s - TITLE:=BLAKE2s hash function library - KCONFIG:=CONFIG_CRYPTO_LIB_BLAKE2S - HIDDEN:=1 - FILES:= \ - $(LINUX_DIR)/lib/crypto/libblake2s.ko \ - $(LINUX_DIR)/lib/crypto/libblake2s-generic.ko - $(call AddDepends/crypto,+PACKAGE_kmod-crypto-hash:kmod-crypto-hash) -endef - -define KernelPackage/crypto-lib-blake2s/config - imply PACKAGE_kmod-crypto-hash -endef - -define KernelPackage/crypto-lib-blake2s/x86/64 - KCONFIG+=CONFIG_CRYPTO_BLAKE2S_X86 - FILES+=$(LINUX_DIR)/arch/x86/crypto/blake2s-x86_64.ko -endef - -$(eval $(call KernelPackage,crypto-lib-blake2s)) - - define KernelPackage/crypto-lib-chacha20 TITLE:=ChaCha library interface KCONFIG:=CONFIG_CRYPTO_LIB_CHACHA @@ -489,6 +536,8 @@ define KernelPackage/crypto-lib-chacha20/arm FILES:=$(LINUX_DIR)/arch/arm/crypto/chacha-neon.ko endef +KernelPackage/crypto-lib-chacha20/armeb=$(KernelPackage/crypto-lib-chacha20/arm) + define KernelPackage/crypto-lib-chacha20/aarch64 KCONFIG+=CONFIG_CRYPTO_CHACHA20_NEON FILES+=$(LINUX_DIR)/arch/arm64/crypto/chacha-neon.ko @@ -537,7 +586,7 @@ define KernelPackage/crypto-lib-curve25519/config imply PACKAGE_kmod-crypto-kpp endef -define KernelPackage/crypto-lib-curve25519/x86/64 +define KernelPackage/crypto-lib-curve25519/x86_64 KCONFIG+=CONFIG_CRYPTO_CURVE25519_X86 FILES+=$(LINUX_DIR)/arch/x86/crypto/curve25519-x86_64.ko endef @@ -552,6 +601,11 @@ ifeq ($(ARCH)-$(CONFIG_KERNEL_MODE_NEON),arm-y) $(KernelPackage/crypto-lib-curve25519/arm-neon) endif +ifdef KernelPackage/crypto-lib-curve25519/$(ARCH) + KernelPackage/crypto-lib-curve25519/$(CRYPTO_TARGET)=\ + $(KernelPackage/crypto-lib-curve25519/$(ARCH)) +endif + $(eval $(call KernelPackage,crypto-lib-curve25519)) @@ -577,6 +631,8 @@ define KernelPackage/crypto-lib-poly1305/arm FILES:=$(LINUX_DIR)/arch/arm/crypto/poly1305-arm.ko endef +KernelPackage/crypto-lib-poly1305/armeb=$(KernelPackage/crypto-lib-poly1305/arm) + define KernelPackage/crypto-lib-poly1305/aarch64 KCONFIG+=CONFIG_CRYPTO_POLY1305_NEON FILES:=$(LINUX_DIR)/arch/arm64/crypto/poly1305-neon.ko @@ -630,7 +686,8 @@ define KernelPackage/crypto-md5 DEPENDS:=+kmod-crypto-hash KCONFIG:= \ CONFIG_CRYPTO_MD5 \ - CONFIG_CRYPTO_MD5_OCTEON + CONFIG_CRYPTO_MD5_OCTEON \ + CONFIG_CRYPTO_MD5_PPC FILES:=$(LINUX_DIR)/crypto/md5.ko AUTOLOAD:=$(call AutoLoad,09,md5) $(call AddDepends/crypto) @@ -641,6 +698,16 @@ define KernelPackage/crypto-md5/octeon AUTOLOAD+=$(call AutoLoad,09,octeon-md5) endef +define KernelPackage/crypto-md5/powerpc + FILES+=$(LINUX_DIR)/arch/powerpc/crypto/md5-ppc.ko + AUTOLOAD+=$(call AutoLoad,09,md5-ppc) +endef + +ifdef KernelPackage/crypto-md5/$(ARCH) + KernelPackage/crypto-md5/$(CRYPTO_TARGET)=\ + $(KernelPackage/crypto-md5/$(ARCH)) +endif + $(eval $(call KernelPackage,crypto-md5)) @@ -658,7 +725,7 @@ $(eval $(call KernelPackage,crypto-michael-mic)) define KernelPackage/crypto-misc TITLE:=Other CryptoAPI modules - DEPENDS:=+kmod-crypto-xts + DEPENDS:=+kmod-crypto-xts +kmod-crypto-user KCONFIG:= \ CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y \ CONFIG_CRYPTO_CAMELLIA_X86_64 \ @@ -683,7 +750,6 @@ define KernelPackage/crypto-misc CONFIG_CRYPTO_KHAZAD \ CONFIG_CRYPTO_SERPENT \ CONFIG_CRYPTO_TEA \ - CONFIG_CRYPTO_TGR192 \ CONFIG_CRYPTO_TWOFISH \ CONFIG_CRYPTO_TWOFISH_COMMON \ CONFIG_CRYPTO_TWOFISH_586 \ @@ -696,7 +762,6 @@ define KernelPackage/crypto-misc $(LINUX_DIR)/crypto/cast6_generic.ko \ $(LINUX_DIR)/crypto/khazad.ko \ $(LINUX_DIR)/crypto/tea.ko \ - $(LINUX_DIR)/crypto/tgr192.ko \ $(LINUX_DIR)/crypto/twofish_common.ko \ $(LINUX_DIR)/crypto/wp512.ko \ $(LINUX_DIR)/crypto/twofish_generic.ko \ @@ -704,7 +769,7 @@ define KernelPackage/crypto-misc $(LINUX_DIR)/crypto/blowfish_generic.ko \ $(LINUX_DIR)/crypto/serpent_generic.ko AUTOLOAD:=$(call AutoLoad,10,anubis camellia_generic cast_common \ - cast5_generic cast6_generic khazad tea tgr192 twofish_common \ + cast5_generic cast6_generic khazad tea twofish_common \ wp512 blowfish_common serpent_generic) ifndef CONFIG_TARGET_x86 AUTOLOAD+= $(call AutoLoad,10,twofish_generic blowfish_generic) @@ -717,15 +782,14 @@ ifndef CONFIG_TARGET_x86_64 FILES+= \ $(LINUX_DIR)/arch/x86/crypto/twofish-i586.ko \ $(LINUX_DIR)/arch/x86/crypto/serpent-sse2-i586.ko \ - $(LINUX_DIR)/arch/x86/crypto/glue_helper.ko \ $(LINUX_DIR)/crypto/cryptd.ko \ $(LINUX_DIR)/crypto/crypto_simd.ko - AUTOLOAD+= $(call AutoLoad,10,cryptd glue_helper \ + AUTOLOAD+= $(call AutoLoad,10,cryptd \ serpent-sse2-i586 twofish-i586 blowfish_generic) endef endif -define KernelPackage/crypto-misc/x86/64 +define KernelPackage/crypto-misc/x86_64 FILES+= \ $(LINUX_DIR)/arch/x86/crypto/camellia-x86_64.ko \ $(LINUX_DIR)/arch/x86/crypto/blowfish-x86_64.ko \ @@ -745,6 +809,11 @@ define KernelPackage/crypto-misc/x86/64 twofish-avx-x86_64 blowfish-x86_64 serpent-avx-x86_64 serpent-avx2) endef +ifdef KernelPackage/crypto-misc/$(ARCH) + KernelPackage/crypto-misc/$(CRYPTO_TARGET)=\ + $(KernelPackage/crypto-misc/$(ARCH)) +endif + $(eval $(call KernelPackage,crypto-misc)) @@ -801,7 +870,7 @@ $(eval $(call KernelPackage,crypto-rmd160)) define KernelPackage/crypto-rng TITLE:=CryptoAPI random number generation - DEPENDS:=+kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha256 + DEPENDS:=+kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha512 KCONFIG:= \ CONFIG_CRYPTO_DRBG \ CONFIG_CRYPTO_DRBG_HMAC=y \ @@ -840,6 +909,7 @@ define KernelPackage/crypto-sha1 CONFIG_CRYPTO_SHA1_ARM \ CONFIG_CRYPTO_SHA1_ARM_NEON \ CONFIG_CRYPTO_SHA1_OCTEON \ + CONFIG_CRYPTO_SHA1_PPC_SPE \ CONFIG_CRYPTO_SHA1_SSSE3 FILES:=$(LINUX_DIR)/crypto/sha1_generic.ko AUTOLOAD:=$(call AutoLoad,09,sha1_generic) @@ -857,7 +927,7 @@ define KernelPackage/crypto-sha1/arm-neon AUTOLOAD+=$(call AutoLoad,09,sha1-arm-neon) endef -KernelPackage/crypto-sha1/imx6=$(KernelPackage/crypto-sha1/arm-neon) +KernelPackage/crypto-sha1/imx=$(KernelPackage/crypto-sha1/arm-neon) KernelPackage/crypto-sha1/ipq40xx=$(KernelPackage/crypto-sha1/arm-neon) KernelPackage/crypto-sha1/mvebu/cortexa9=$(KernelPackage/crypto-sha1/arm-neon) @@ -866,12 +936,24 @@ define KernelPackage/crypto-sha1/octeon AUTOLOAD+=$(call AutoLoad,09,octeon-sha1) endef -KernelPackage/crypto-sha1/tegra=$(KernelPakcage/crypto-sha1/arm) +KernelPackage/crypto-sha1/tegra=$(KernelPackage/crypto-sha1/arm) + +define KernelPackage/crypto-sha1/mpc85xx + FILES+=$(LINUX_DIR)/arch/powerpc/crypto/sha1-ppc-spe.ko + AUTOLOAD+=$(call AutoLoad,09,sha1-ppc-spe) +endef -define KernelPackage/crypto-sha1/x86/64 +ifndef CONFIG_TARGET_uml +define KernelPackage/crypto-sha1/x86_64 FILES+=$(LINUX_DIR)/arch/x86/crypto/sha1-ssse3.ko AUTOLOAD+=$(call AutoLoad,09,sha1-ssse3) endef +endif + +ifdef KernelPackage/crypto-sha1/$(ARCH) + KernelPackage/crypto-sha1/$(CRYPTO_TARGET)=\ + $(KernelPackage/crypto-sha1/$(ARCH)) +endif $(eval $(call KernelPackage,crypto-sha1)) @@ -882,6 +964,7 @@ define KernelPackage/crypto-sha256 KCONFIG:= \ CONFIG_CRYPTO_SHA256 \ CONFIG_CRYPTO_SHA256_OCTEON \ + CONFIG_CRYPTO_SHA256_PPC_SPE \ CONFIG_CRYPTO_SHA256_SSSE3 FILES:= \ $(LINUX_DIR)/crypto/sha256_generic.ko \ @@ -895,10 +978,22 @@ define KernelPackage/crypto-sha256/octeon AUTOLOAD+=$(call AutoLoad,09,octeon-sha256) endef -define KernelPackage/crypto-sha256/x86/64 +define KernelPackage/crypto-sha256/mpc85xx + FILES+=$(LINUX_DIR)/arch/powerpc/crypto/sha256-ppc-spe.ko + AUTOLOAD+=$(call AutoLoad,09,sha256-ppc-spe) +endef + +ifndef CONFIG_TARGET_uml +define KernelPackage/crypto-sha256/x86_64 FILES+=$(LINUX_DIR)/arch/x86/crypto/sha256-ssse3.ko AUTOLOAD+=$(call AutoLoad,09,sha256-ssse3) endef +endif + +ifdef KernelPackage/crypto-sha256/$(ARCH) + KernelPackage/crypto-sha256/$(CRYPTO_TARGET)=\ + $(KernelPackage/crypto-sha256/$(ARCH)) +endif $(eval $(call KernelPackage,crypto-sha256)) @@ -921,7 +1016,7 @@ define KernelPackage/crypto-sha512/arm AUTOLOAD+=$(call AutoLoad,09,sha512-arm) endef -KernelPackage/crypto-sha512/imx6=$(KernelPackage/crypto-sha512/arm) +KernelPackage/crypto-sha512/imx=$(KernelPackage/crypto-sha512/arm) KernelPackage/crypto-sha512/ipq40xx=$(KernelPackage/crypto-sha512/arm) KernelPackage/crypto-sha512/mvebu/cortexa9=$(KernelPackage/crypto-sha512/arm) @@ -932,10 +1027,17 @@ endef KernelPackage/crypto-sha512/tegra=$(KernelPackage/crypto-sha512/arm) -define KernelPackage/crypto-sha512/x86/64 +ifndef CONFIG_TARGET_uml +define KernelPackage/crypto-sha512/x86_64 FILES+=$(LINUX_DIR)/arch/x86/crypto/sha512-ssse3.ko AUTOLOAD+=$(call AutoLoad,09,sha512-ssse3) endef +endif + +ifdef KernelPackage/crypto-sha512/$(ARCH) + KernelPackage/crypto-sha512/$(CRYPTO_TARGET)=\ + $(KernelPackage/crypto-sha512/$(ARCH)) +endif $(eval $(call KernelPackage,crypto-sha512)) diff --git a/package/kernel/linux/modules/fs.mk b/package/kernel/linux/modules/fs.mk index 7de1a0673ce..58af180c280 100644 --- a/package/kernel/linux/modules/fs.mk +++ b/package/kernel/linux/modules/fs.mk @@ -10,7 +10,7 @@ FS_MENU:=Filesystems define KernelPackage/fs-9p SUBMENU:=$(FS_MENU) TITLE:=Plan 9 Resource Sharing Support - DEPENDS:=+kmod-9pnet + DEPENDS:=+kmod-9pnet +LINUX_6_1:kmod-fs-netfs KCONFIG:=\ CONFIG_9P_FS \ CONFIG_9P_FS_POSIX_ACL=n \ @@ -70,7 +70,6 @@ define KernelPackage/fs-btrfs DEPENDS:=+kmod-lib-crc32c +kmod-lib-lzo +kmod-lib-zlib-inflate +kmod-lib-zlib-deflate +kmod-lib-raid6 +kmod-lib-xor +kmod-lib-zstd KCONFIG:=\ CONFIG_BTRFS_FS \ - CONFIG_BTRFS_FS_POSIX_ACL=n \ CONFIG_BTRFS_FS_CHECK_INTEGRITY=n FILES:=\ $(LINUX_DIR)/fs/btrfs/btrfs.ko @@ -84,6 +83,27 @@ endef $(eval $(call KernelPackage,fs-btrfs)) +define KernelPackage/fs-smbfs-common + SUBMENU:=$(FS_MENU) + TITLE:=SMBFS common dependencies support + HIDDEN:=1 + KCONFIG:=\ + CONFIG_SMBFS_COMMON@lt6.1 \ + CONFIG_SMBFS@ge6.1 + FILES:= \ + $(LINUX_DIR)/fs/smbfs_common/cifs_arc4.ko@lt6.1 \ + $(LINUX_DIR)/fs/smbfs_common/cifs_md4.ko@lt6.1 \ + $(LINUX_DIR)/fs/smb/common/cifs_arc4.ko@ge6.1 \ + $(LINUX_DIR)/fs/smb/common/cifs_md4.ko@ge6.1 +endef + +define KernelPackage/fs-smbfs-common/description + Kernel module dependency for CIFS or SMB_SERVER support +endef + +$(eval $(call KernelPackage,fs-smbfs-common)) + + define KernelPackage/fs-cifs SUBMENU:=$(FS_MENU) TITLE:=CIFS support @@ -91,21 +111,25 @@ define KernelPackage/fs-cifs CONFIG_CIFS \ CONFIG_CIFS_DFS_UPCALL=n \ CONFIG_CIFS_UPCALL=n - FILES:=$(LINUX_DIR)/fs/cifs/cifs.ko + FILES:= \ + $(LINUX_DIR)/fs/cifs/cifs.ko@lt6.1 \ + $(LINUX_DIR)/fs/smb/client/cifs.ko@ge6.1 AUTOLOAD:=$(call AutoLoad,30,cifs) $(call AddDepends/nls) DEPENDS+= \ - +kmod-crypto-md4 \ + +kmod-fs-smbfs-common \ +kmod-crypto-md5 \ +kmod-crypto-sha256 \ +kmod-crypto-sha512 \ +kmod-crypto-cmac \ +kmod-crypto-hmac \ - +kmod-crypto-arc4 \ +kmod-crypto-aead \ +kmod-crypto-ccm \ +kmod-crypto-ecb \ - +kmod-crypto-des + +kmod-crypto-des \ + +kmod-asn1-decoder \ + +kmod-oid-registry \ + +kmod-dnsresolver endef define KernelPackage/fs-cifs/description @@ -170,9 +194,7 @@ define KernelPackage/fs-exfat KCONFIG:= \ CONFIG_EXFAT_FS \ CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" - FILES:= \ - $(LINUX_DIR)/drivers/staging/exfat/exfat.ko@lt5.7 \ - $(LINUX_DIR)/fs/exfat/exfat.ko@ge5.7 + FILES:= $(LINUX_DIR)/fs/exfat/exfat.ko AUTOLOAD:=$(call AutoLoad,30,exfat,1) DEPENDS:=+kmod-nls-base endef @@ -243,18 +265,22 @@ $(eval $(call KernelPackage,fs-f2fs)) define KernelPackage/fs-fscache SUBMENU:=$(FS_MENU) TITLE:=General filesystem local cache manager - DEPENDS:= + DEPENDS:=+kmod-fs-netfs KCONFIG:=\ - CONFIG_FSCACHE=m \ + CONFIG_FSCACHE \ CONFIG_FSCACHE_STATS=y \ CONFIG_FSCACHE_HISTOGRAM=n \ CONFIG_FSCACHE_DEBUG=n \ CONFIG_FSCACHE_OBJECT_LIST=n \ - CONFIG_CACHEFILES=y \ + CONFIG_CACHEFILES \ CONFIG_CACHEFILES_DEBUG=n \ - CONFIG_CACHEFILES_HISTOGRAM=n - FILES:=$(LINUX_DIR)/fs/fscache/fscache.ko - AUTOLOAD:=$(call AutoLoad,29,fscache) + CONFIG_CACHEFILES_HISTOGRAM=n \ + CONFIG_CACHEFILES_ERROR_INJECTION=n@ge5.17 \ + CONFIG_CACHEFILES_ONDEMAND=n@ge5.19 + FILES:= \ + $(LINUX_DIR)/fs/fscache/fscache.ko \ + $(LINUX_DIR)/fs/cachefiles/cachefiles.ko + AUTOLOAD:=$(call AutoLoad,29,fscache cachefiles) endef $(eval $(call KernelPackage,fs-fscache)) @@ -326,6 +352,44 @@ endef $(eval $(call KernelPackage,fs-jfs)) + +define KernelPackage/fs-ksmbd + SUBMENU:=$(FS_MENU) + TITLE:=SMB kernel server support + DEPENDS:= \ + +kmod-nls-base \ + +kmod-nls-utf8 \ + +kmod-crypto-md5 \ + +kmod-crypto-hmac \ + +kmod-crypto-ecb \ + +kmod-crypto-des \ + +kmod-crypto-sha256 \ + +kmod-crypto-cmac \ + +kmod-crypto-sha512 \ + +kmod-crypto-aead \ + +kmod-crypto-ccm \ + +kmod-crypto-gcm \ + +kmod-asn1-decoder \ + +kmod-oid-registry \ + +kmod-fs-smbfs-common + KCONFIG:= \ + CONFIG_SMB_SERVER \ + CONFIG_SMB_SERVER_SMBDIRECT=n \ + CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN=n \ + CONFIG_SMB_SERVER_KERBEROS5=n + FILES:= \ + $(LINUX_DIR)/fs/ksmbd/ksmbd.ko@lt6.1 \ + $(LINUX_DIR)/fs/smb/server/ksmbd.ko@ge6.1 + AUTOLOAD:=$(call AutoLoad,41,ksmbd) +endef + +define KernelPackage/fs-ksmbd/description + Kernel module for SMB kernel server support +endef + +$(eval $(call KernelPackage,fs-ksmbd)) + + define KernelPackage/fs-minix SUBMENU:=$(FS_MENU) TITLE:=Minix filesystem support @@ -358,6 +422,17 @@ endef $(eval $(call KernelPackage,fs-msdos)) +define KernelPackage/fs-netfs + SUBMENU:=$(FS_MENU) + TITLE:=Network Filesystems support + KCONFIG:= CONFIG_NETFS_SUPPORT + FILES:=$(LINUX_DIR)/fs/netfs/netfs.ko + AUTOLOAD:=$(call AutoLoad,28,netfs) +endef + +$(eval $(call KernelPackage,fs-netfs)) + + define KernelPackage/fs-nfs SUBMENU:=$(FS_MENU) TITLE:=NFS filesystem client support @@ -381,15 +456,22 @@ $(eval $(call KernelPackage,fs-nfs)) define KernelPackage/fs-nfs-common SUBMENU:=$(FS_MENU) TITLE:=Common NFS filesystem modules + DEPENDS:=+kmod-oid-registry KCONFIG:= \ CONFIG_LOCKD \ CONFIG_SUNRPC \ - CONFIG_GRACE_PERIOD + CONFIG_GRACE_PERIOD \ + CONFIG_NFS_V4=y \ + CONFIG_NFS_V4_1=y \ + CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org" \ + CONFIG_NFS_V4_1_MIGRATION=n \ + CONFIG_NFS_V4_2=y \ + CONFIG_NFS_V4_2_READ_PLUS=n FILES:= \ $(LINUX_DIR)/fs/lockd/lockd.ko \ $(LINUX_DIR)/net/sunrpc/sunrpc.ko \ $(LINUX_DIR)/fs/nfs_common/grace.ko \ - $(LINUX_DIR)/fs/nfs_common/nfs_ssc.ko@ge5.10 + $(LINUX_DIR)/fs/nfs_common/nfs_ssc.ko AUTOLOAD:=$(call AutoLoad,30,grace sunrpc lockd) endef @@ -413,10 +495,9 @@ define KernelPackage/fs-nfs-common-rpcsec CONFIG_SUNRPC_GSS \ CONFIG_RPCSEC_GSS_KRB5 FILES:= \ - $(LINUX_DIR)/lib/oid_registry.ko \ $(LINUX_DIR)/net/sunrpc/auth_gss/auth_rpcgss.ko \ $(LINUX_DIR)/net/sunrpc/auth_gss/rpcsec_gss_krb5.ko - AUTOLOAD:=$(call AutoLoad,31,oid_registry auth_rpcgss rpcsec_gss_krb5) + AUTOLOAD:=$(call AutoLoad,31,auth_rpcgss rpcsec_gss_krb5) endef define KernelPackage/fs-nfs-common-rpcsec/description @@ -471,7 +552,8 @@ define KernelPackage/fs-nfsd CONFIG_NFSD_BLOCKLAYOUT=n \ CONFIG_NFSD_SCSILAYOUT=n \ CONFIG_NFSD_FLEXFILELAYOUT=n \ - CONFIG_NFSD_FAULT_INJECTION=n + CONFIG_NFSD_FAULT_INJECTION=n \ + CONFIG_NFSD_V4_2_INTER_SSC=n FILES:=$(LINUX_DIR)/fs/nfsd/nfsd.ko AUTOLOAD:=$(call AutoLoad,40,nfsd) endef @@ -485,7 +567,7 @@ $(eval $(call KernelPackage,fs-nfsd)) define KernelPackage/fs-ntfs SUBMENU:=$(FS_MENU) - TITLE:=NTFS filesystem support + TITLE:=NTFS filesystem read-only (old driver) support KCONFIG:=CONFIG_NTFS_FS FILES:=$(LINUX_DIR)/fs/ntfs/ntfs.ko AUTOLOAD:=$(call AutoLoad,30,ntfs) @@ -493,12 +575,32 @@ define KernelPackage/fs-ntfs endef define KernelPackage/fs-ntfs/description - Kernel module for NTFS filesystem support + Kernel module for limited NTFS filesystem support. Support for writing + is extremely limited and disabled as a result. endef $(eval $(call KernelPackage,fs-ntfs)) +define KernelPackage/fs-ntfs3 + SUBMENU:=$(FS_MENU) + TITLE:=NTFS filesystem read & write (new driver) support + KCONFIG:= CONFIG_NTFS3_FS CONFIG_NTFS3_FS_POSIX_ACL=y + FILES:=$(LINUX_DIR)/fs/ntfs3/ntfs3.ko + $(call AddDepends/nls) + AUTOLOAD:=$(call AutoLoad,80,ntfs3) +endef + +define KernelPackage/fs-ntfs3/description + Kernel module for fully functional NTFS filesystem support. It allows + reading as well as writing. + + It supports NTFS versions up to 3.1. +endef + +$(eval $(call KernelPackage,fs-ntfs3)) + + define KernelPackage/fs-reiserfs SUBMENU:=$(FS_MENU) TITLE:=ReiserFS filesystem support @@ -556,7 +658,7 @@ define KernelPackage/fs-vfat FILES:= \ $(LINUX_DIR)/fs/fat/fat.ko \ $(LINUX_DIR)/fs/fat/vfat.ko - AUTOLOAD:=$(call AutoLoad,30,fat vfat) + AUTOLOAD:=$(call AutoLoad,30,fat vfat,1) $(call AddDepends/nls,cp437 iso8859-1 utf8) endef @@ -596,3 +698,24 @@ define KernelPackage/fuse/description endef $(eval $(call KernelPackage,fuse)) + + +define KernelPackage/pstore + SUBMENU:=$(FS_MENU) + TITLE:=Pstore file system + DEFAULT:=m if ALL_KMODS + KCONFIG:= \ + CONFIG_PSTORE \ + CONFIG_PSTORE_COMPRESS=y \ + CONFIG_PSTORE_COMPRESS_DEFAULT="deflate" \ + CONFIG_PSTORE_DEFLATE_COMPRESS=y \ + CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y + FILES:= $(LINUX_DIR)/fs/pstore/pstore.ko + AUTOLOAD:=$(call AutoLoad,30,pstore,1) +endef + +define KernelPackage/pstore/description + Kernel module for pstore filesystem support +endef + +$(eval $(call KernelPackage,pstore)) diff --git a/package/kernel/linux/modules/gpio.mk b/package/kernel/linux/modules/gpio.mk new file mode 100644 index 00000000000..511cd3af8ca --- /dev/null +++ b/package/kernel/linux/modules/gpio.mk @@ -0,0 +1,138 @@ +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +GPIO_MENU:=GPIO support + +define KernelPackage/gpio-amd-fch + SUBMENU:=$(GPIO_MENU) + DEPENDS:=@GPIO_SUPPORT @TARGET_x86 + TITLE:=GPIO support for AMD Fusion Controller Hub (G-series SOCs) + KCONFIG:=CONFIG_GPIO_AMD_FCH + FILES:=$(LINUX_DIR)/drivers/gpio/gpio-amd-fch.ko + AUTOLOAD:=$(call AutoLoad,25,gpio-amd-fch,1) +endef + +define KernelPackage/gpio-amd-fch/description + This option enables driver for GPIO on AMDs Fusion Controller Hub, + as found on G-series SOCs (eg. GX-412TC) +endef + +$(eval $(call KernelPackage,gpio-amd-fch)) + + +define KernelPackage/gpio-beeper + SUBMENU:=$(GPIO_MENU) + TITLE:=GPIO beeper support + DEPENDS:=+kmod-input-core + KCONFIG:= \ + CONFIG_INPUT_MISC=y \ + CONFIG_INPUT_GPIO_BEEPER + FILES:= \ + $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko + AUTOLOAD:=$(call AutoLoad,50,gpio-beeper) +endef + +define KernelPackage/gpio-beeper/description + This enables playing beeps through an GPIO-connected buzzer +endef + +$(eval $(call KernelPackage,gpio-beeper)) + + +define KernelPackage/gpio-cascade + SUBMENU:=$(GPIO_MENU) + TITLE:=Generic GPIO cascade + KCONFIG:=CONFIG_GPIO_CASCADE + DEPENDS:=@GPIO_SUPPORT +kmod-mux-core + FILES:=$(LINUX_DIR)/drivers/gpio/gpio-cascade.ko + AUTOLOAD:=$(call AutoLoad,29,gpio-cascade,1) +endef + +define KernelPackage/gpio-cascade/description + Kernel module for Generic GPIO cascade +endef + +$(eval $(call KernelPackage,gpio-cascade)) + + +define KernelPackage/gpio-f7188x + SUBMENU:=$(GPIO_MENU) + TITLE:=Fintek F718xx/F818xx GPIO Support + DEPENDS:=@GPIO_SUPPORT @TARGET_x86 + KCONFIG:=CONFIG_GPIO_F7188X + FILES:=$(LINUX_DIR)/drivers/gpio/gpio-f7188x.ko + AUTOLOAD:=$(call AutoProbe,gpio-f7188x) +endef + +define KernelPackage/gpio-f7188x/description + Kernel module for the GPIOs found on many Fintek Super-IO chips. +endef + +$(eval $(call KernelPackage,gpio-f7188x)) + + +define KernelPackage/gpio-it87 + SUBMENU:=$(GPIO_MENU) + DEPENDS:=@GPIO_SUPPORT @TARGET_x86 + TITLE:=GPIO support for IT87xx Super I/O chips + KCONFIG:=CONFIG_GPIO_IT87 + FILES:=$(LINUX_DIR)/drivers/gpio/gpio-it87.ko + AUTOLOAD:=$(call AutoLoad,25,gpio-it87,1) +endef + +define KernelPackage/gpio-it87/description + This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and + supports the IT8761E, IT8613, IT8620E, and IT8628E Super I/O chips as + well. +endef + +$(eval $(call KernelPackage,gpio-it87)) + + +define KernelPackage/gpio-nxp-74hc164 + SUBMENU:=$(GPIO_MENU) + TITLE:=NXP 74HC164 GPIO expander support + KCONFIG:=CONFIG_GPIO_74X164 + FILES:=$(LINUX_DIR)/drivers/gpio/gpio-74x164.ko + AUTOLOAD:=$(call AutoProbe,gpio-74x164) +endef + +define KernelPackage/gpio-nxp-74hc164/description + Kernel module for NXP 74HC164 GPIO expander +endef + +$(eval $(call KernelPackage,gpio-nxp-74hc164)) + + +define KernelPackage/gpio-pca953x + SUBMENU:=$(GPIO_MENU) + DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core +kmod-regmap-i2c + TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports + KCONFIG:=CONFIG_GPIO_PCA953X + FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko + AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x) +endef + +define KernelPackage/gpio-pca953x/description + Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7}, + PCA957{4,5} and TCA64{08,16} I2C GPIO expanders +endef + +$(eval $(call KernelPackage,gpio-pca953x)) + + +define KernelPackage/gpio-pcf857x + SUBMENU:=$(GPIO_MENU) + DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core + TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders + KCONFIG:=CONFIG_GPIO_PCF857X + FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko + AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x) +endef + +define KernelPackage/gpio-pcf857x/description + Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders +endef + +$(eval $(call KernelPackage,gpio-pcf857x)) diff --git a/package/kernel/linux/modules/hwmon.mk b/package/kernel/linux/modules/hwmon.mk index a39a8910f0a..8afe315344f 100644 --- a/package/kernel/linux/modules/hwmon.mk +++ b/package/kernel/linux/modules/hwmon.mk @@ -43,20 +43,6 @@ endef $(eval $(call KernelPackage,hwmon-ad7418)) -define KernelPackage/hwmon-ads1015 - TITLE:=Texas Instruments ADS1015 - KCONFIG:= CONFIG_SENSORS_ADS1015 - FILES:= $(LINUX_DIR)/drivers/hwmon/ads1015.ko - AUTOLOAD:=$(call AutoLoad,60,ads1015) - $(call AddDepends/hwmon,+kmod-i2c-core) -endef - -define KernelPackage/hwmon-ads1015/description - Kernel module for Texas Instruments ADS1015 Analog-to-Digital converter -endef - -$(eval $(call KernelPackage,hwmon-ads1015)) - define KernelPackage/hwmon-adt7410 TITLE:=ADT7410 monitoring support KCONFIG:= \ @@ -66,7 +52,7 @@ define KernelPackage/hwmon-adt7410 $(LINUX_DIR)/drivers/hwmon/adt7x10.ko \ $(LINUX_DIR)/drivers/hwmon/adt7410.ko AUTOLOAD:=$(call AutoLoad,60,adt7x10 adt7410) - $(call AddDepends/hwmon,+kmod-i2c-core) + $(call AddDepends/hwmon,+kmod-i2c-core +LINUX_6_1:kmod-regmap-core) endef define KernelPackage/hwmon-adt7410/description @@ -91,6 +77,23 @@ endef $(eval $(call KernelPackage,hwmon-adt7475)) +define KernelPackage/hwmon-coretemp + TITLE:=Intel Core/Core2/Atom temperature sensor + KCONFIG:=CONFIG_SENSORS_CORETEMP + FILES:=$(LINUX_DIR)/drivers/hwmon/coretemp.ko + AUTOLOAD:=$(call AutoProbe,coretemp) + $(call AddDepends/hwmon,) +endef + +define KernelPackage/hwmon-coretemp/description + Kernel module for Intel Core/Core2/Atom temperature monitoring support. + Most of the family 6 CPUs are supported. + Check Documentation/hwmon/coretemp.rst for details. +endef + +$(eval $(call KernelPackage,hwmon-coretemp)) + + define KernelPackage/hwmon-dme1737 TITLE:=SMSC DME1737 and compatible monitoring support KCONFIG:=CONFIG_SENSORS_DME1737 @@ -122,6 +125,25 @@ endef $(eval $(call KernelPackage,hwmon-drivetemp)) +define KernelPackage/hwmon-gsc + TITLE:=Gateworks System Controller support + KCONFIG:=CONFIG_MFD_GATEWORKS_GSC \ + CONFIG_SENSORS_GSC + FILES:= \ + $(LINUX_DIR)/drivers/mfd/gateworks-gsc.ko \ + $(LINUX_DIR)/drivers/hwmon/gsc-hwmon.ko + AUTOLOAD:=$(call AutoLoad,20,gsc-hwmon,1) + $(call AddDepends/hwmon,+kmod-i2c-core) +endef + +define KernelPackage/hwmon-gsc/description + Kernel module for Gateworks System Controller with temperature sensor, +ADCs, and FAN controller +endef + +$(eval $(call KernelPackage,hwmon-gsc)) + + define KernelPackage/hwmon-gpiofan TITLE:=Generic GPIO FAN support KCONFIG:=CONFIG_SENSORS_GPIO_FAN @@ -152,6 +174,21 @@ endef $(eval $(call KernelPackage,hwmon-f71882fg)) +define KernelPackage/hwmon-g762 + TITLE:=G762/G763 fan speed PWM controller support + KCONFIG:=CONFIG_SENSORS_G762 + FILES:=$(LINUX_DIR)/drivers/hwmon/g762.ko + AUTOLOAD:=$(call AutoProbe,g762) + $(call AddDepends/hwmon,+kmod-i2c-core) +endef + +define KernelPackage/hwmon-g762/description + Kernel module for Global Mixed-mode Technology Inc G762 and G763 fan speed PWM controller chips. +endef + +$(eval $(call KernelPackage,hwmon-g762)) + + define KernelPackage/hwmon-ina209 TITLE:=INA209 monitoring support KCONFIG:=CONFIG_SENSORS_INA209 @@ -197,6 +234,21 @@ endef $(eval $(call KernelPackage,hwmon-it87)) +define KernelPackage/hwmon-jc42 + TITLE:=Jedec JC42.4 compliant temperature sensors support + KCONFIG:=CONFIG_SENSORS_JC42 + FILES:=$(LINUX_DIR)/drivers/hwmon/jc42.ko + AUTOLOAD:=$(call AutoProbe,jc42) + $(call AddDepends/hwmon,+kmod-i2c-core +kmod-regmap-i2c) +endef + +define KernelPackage/hwmon-jc42/description + Kernel module for Jedec JC42.4 compliant temperature sensors +endef + +$(eval $(call KernelPackage,hwmon-jc42)) + + define KernelPackage/hwmon-lm63 TITLE:=LM63/64 monitoring support KCONFIG:=CONFIG_SENSORS_LM63 @@ -212,6 +264,23 @@ endef $(eval $(call KernelPackage,hwmon-lm63)) +define KernelPackage/hwmon-lm70 + TITLE:=LM70 monitoring support + KCONFIG:=CONFIG_SENSORS_LM70 \ + CONFIG_SPI=y \ + CONFIG_SPI_MASTER=y + FILES:=$(LINUX_DIR)/drivers/hwmon/lm70.ko + AUTOLOAD:=$(call AutoProbe,lm70) + $(call AddDepends/hwmon) +endef + +define KernelPackage/hwmon-lm70/description + Kernel module for lm70 and compatible thermal monitor chip +endef + +$(eval $(call KernelPackage,hwmon-lm70)) + + define KernelPackage/hwmon-lm75 TITLE:=LM75 monitoring support KCONFIG:=CONFIG_SENSORS_LM75 @@ -317,6 +386,36 @@ endef $(eval $(call KernelPackage,hwmon-ltc4151)) +define KernelPackage/hwmon-max6642 + TITLE:=MAX6642 monitoring support + KCONFIG:=CONFIG_SENSORS_MAX6642 + FILES:=$(LINUX_DIR)/drivers/hwmon/max6642.ko + AUTOLOAD:=$(call AutoLoad,60,max6642 max6642) + $(call AddDepends/hwmon,+kmod-i2c-core) +endef + +define KernelPackage/hwmon-max6642/description + Kernel module for Maxim MAX6642 temperature monitor +endef + +$(eval $(call KernelPackage,hwmon-max6642)) + + +define KernelPackage/hwmon-max6697 + TITLE:=MAX6697 monitoring support + KCONFIG:=CONFIG_SENSORS_MAX6697 + FILES:=$(LINUX_DIR)/drivers/hwmon/max6697.ko + AUTOLOAD:=$(call AutoProbe,max6697) + $(call AddDepends/hwmon,+kmod-i2c-core) +endef + +define KernelPackage/hwmon-max6697/description + Kernel module for Maxim MAX6697 temperature monitor +endef + +$(eval $(call KernelPackage,hwmon-max6697)) + + define KernelPackage/hwmon-mcp3021 TITLE:=MCP3021/3221 monitoring support KCONFIG:=CONFIG_SENSORS_MCP3021 @@ -335,9 +434,11 @@ $(eval $(call KernelPackage,hwmon-mcp3021)) define KernelPackage/hwmon-nct6775 TITLE:=NCT6106D/6775F/6776F/6779D/6791D/6792D/6793D and compatibles monitoring support KCONFIG:=CONFIG_SENSORS_NCT6775 - FILES:=$(LINUX_DIR)/drivers/hwmon/nct6775.ko + FILES:= \ + $(LINUX_DIR)/drivers/hwmon/nct6775.ko \ + $(LINUX_DIR)/drivers/hwmon/nct6775-core.ko AUTOLOAD:=$(call AutoProbe,nct6775) - $(call AddDepends/hwmon,@PCI_SUPPORT @TARGET_x86 +kmod-hwmon-vid) + $(call AddDepends/hwmon,@PCI_SUPPORT @TARGET_x86 +kmod-hwmon-vid +kmod-regmap-core) endef define KernelPackage/hwmon-nct6775/description @@ -347,6 +448,21 @@ endef $(eval $(call KernelPackage,hwmon-nct6775)) +define KernelPackage/hwmon-nct7802 + TITLE:=NCT7802Y and compatibles monitoring support + KCONFIG:=CONFIG_SENSORS_NCT7802 + FILES:=$(LINUX_DIR)/drivers/hwmon/nct7802.ko + AUTOLOAD:=$(call AutoProbe,nct7802) + $(call AddDepends/hwmon,+kmod-regmap-i2c) +endef + +define KernelPackage/hwmon-nct7802/description + Kernel module for NCT7802Y thermal monitor chip +endef + +$(eval $(call KernelPackage,hwmon-nct7802)) + + define KernelPackage/hwmon-pc87360 TITLE:=PC87360 monitoring support KCONFIG:=CONFIG_SENSORS_PC87360 @@ -441,6 +557,21 @@ endef $(eval $(call KernelPackage,hwmon-sht21)) +define KernelPackage/hwmon-sht3x + TITLE:=Sensiron SHT3x and compat. monitoring support + KCONFIG:=CONFIG_SENSORS_SHT3x + FILES:=$(LINUX_DIR)/drivers/hwmon/sht3x.ko + AUTOLOAD:=$(call AutoProbe,sht3x) + $(call AddDepends/hwmon,+kmod-i2c-core +kmod-lib-crc8) +endef + +define KernelPackage/hwmon-sht3x/description + Kernel module for Sensirion SHT3x temperature and humidity sensors chip +endef + +$(eval $(call KernelPackage,hwmon-sht3x)) + + define KernelPackage/hwmon-tmp102 TITLE:=Texas Instruments TMP102 monitoring support KCONFIG:=CONFIG_SENSORS_TMP102 @@ -486,6 +617,20 @@ endef $(eval $(call KernelPackage,hwmon-tmp421)) +define KernelPackage/hwmon-tps23861 + TITLE:=Texas Instruments TPS23861 PoE PSE + KCONFIG:=CONFIG_SENSORS_TPS23861 + FILES:=$(LINUX_DIR)/drivers/hwmon/tps23861.ko + AUTOLOAD:=$(call AutoProbe,tps23861) + $(call AddDepends/hwmon,+kmod-i2c-core +kmod-regmap-i2c) +endef + +define KernelPackage/hwmon-tps23861/description + Kernel module for the Texas Instruments TPS23861 802.3at PoE PSE chips. +endef + +$(eval $(call KernelPackage,hwmon-tps23861)) + define KernelPackage/hwmon-vid TITLE:=VID/VRM/VRD voltage conversion module. KCONFIG:=CONFIG_HWMON_VID diff --git a/package/kernel/linux/modules/i2c.mk b/package/kernel/linux/modules/i2c.mk index f4297632272..7cd69dbb95a 100644 --- a/package/kernel/linux/modules/i2c.mk +++ b/package/kernel/linux/modules/i2c.mk @@ -84,13 +84,27 @@ endef $(eval $(call KernelPackage,i2c-algo-pcf)) +I2C_CCGS_UCSI_MODULES:= \ + CONFIG_I2C_CCGX_UCSI:drivers/i2c/busses/i2c-ccgx-ucsi + +define KernelPackage/i2c-ccgs-ucsi + $(call i2c_defaults,$(I2C_CCGS_UCSI_MODULES),58) + TITLE:=Cypress CCGx Type-C controller + DEPENDS:=+kmod-i2c-core +kmod-regmap-core + HIDDEN:=y +endef + + +$(eval $(call KernelPackage,i2c-ccgs-ucsi)) + + I2C_DWCORE_MODULES:= \ CONFIG_I2C_DESIGNWARE_CORE:drivers/i2c/busses/i2c-designware-core define KernelPackage/i2c-designware-core $(call i2c_defaults,$(I2C_DWCORE_MODULES),58) TITLE:=Synopsys DesignWare I2C core - DEPENDS:=+kmod-i2c-core +!LINUX_5_4:kmod-regmap-core + DEPENDS:=+kmod-i2c-core +kmod-regmap-core HIDDEN:=y endef @@ -103,7 +117,7 @@ I2C_DWPCI_MODULES:= \ define KernelPackage/i2c-designware-pci $(call i2c_defaults,$(I2C_DWPCI_MODULES),59) TITLE:=Synopsys DesignWare PCI - DEPENDS:=+kmod-i2c-designware-core + DEPENDS:=@PCI_SUPPORT +kmod-i2c-designware-core +kmod-i2c-ccgs-ucsi endef define KernelPackage/i2c-designware-pci/description @@ -186,6 +200,22 @@ endef $(eval $(call KernelPackage,i2c-mux-gpio)) +I2C_MUX_REG_MODULES:= \ + CONFIG_I2C_MUX_REG:drivers/i2c/muxes/i2c-mux-reg + +define KernelPackage/i2c-mux-reg + $(call i2c_defaults,$(I2C_MUX_REG_MODULES),51) + TITLE:=Register-based I2C mux/switches + DEPENDS:=+kmod-i2c-mux +endef + +define KernelPackage/i2c-mux-reg/description + Kernel modules for register-based I2C bus mux/switching devices +endef + +$(eval $(call KernelPackage,i2c-mux-reg)) + + I2C_MUX_PCA9541_MODULES:= \ CONFIG_I2C_MUX_PCA9541:drivers/i2c/muxes/i2c-mux-pca9541 diff --git a/package/kernel/linux/modules/iio.mk b/package/kernel/linux/modules/iio.mk index 7bfbd380792..f901f87ddd5 100644 --- a/package/kernel/linux/modules/iio.mk +++ b/package/kernel/linux/modules/iio.mk @@ -25,14 +25,17 @@ endef $(eval $(call KernelPackage,iio-core)) +define AddDepends/iio + SUBMENU:=$(IIO_MENU) + DEPENDS+=+kmod-iio-core $(1) +endef define KernelPackage/iio-kfifo-buf - SUBMENU:=$(IIO_MENU) TITLE:=Industrial I/O buffering based on kfifo - DEPENDS:=+kmod-iio-core KCONFIG:=CONFIG_IIO_KFIFO_BUF FILES:=$(LINUX_DIR)/drivers/iio/buffer/kfifo_buf.ko AUTOLOAD:=$(call AutoLoad,55,kfifo_buf) + $(call AddDepends/iio) endef define KernelPackage/iio-kfifo-buf/description @@ -44,12 +47,12 @@ $(eval $(call KernelPackage,iio-kfifo-buf)) define KernelPackage/industrialio-triggered-buffer - SUBMENU:=$(IIO_MENU) TITLE:=Provides helper functions for setting up triggered buffers. - DEPENDS:=+kmod-iio-core +kmod-iio-kfifo-buf + DEPENDS:=+kmod-iio-kfifo-buf KCONFIG:=CONFIG_IIO_TRIGGERED_BUFFER FILES:=$(LINUX_DIR)/drivers/iio/buffer/industrialio-triggered-buffer.ko AUTOLOAD:=$(call AutoLoad,55,industrialio-triggered-buffer) + $(call AddDepends/iio) endef define KernelPackage/industrialio-triggered-buffer/description @@ -60,14 +63,14 @@ $(eval $(call KernelPackage,industrialio-triggered-buffer)) define KernelPackage/iio-ad799x - SUBMENU:=$(IIO_MENU) - DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-industrialio-triggered-buffer + DEPENDS:=+kmod-i2c-core +kmod-industrialio-triggered-buffer TITLE:=Analog Devices AD799x ADC driver KCONFIG:= \ CONFIG_AD799X_RING_BUFFER=y \ CONFIG_AD799X FILES:=$(LINUX_DIR)/drivers/iio/adc/ad799x.ko AUTOLOAD:=$(call AutoLoad,56,ad799x) + $(call AddDepends/iio) endef define KernelPackage/iio-ad799x/description @@ -78,15 +81,30 @@ endef $(eval $(call KernelPackage,iio-ad799x)) +define KernelPackage/iio-ads1015 + DEPENDS:=+kmod-i2c-core +kmod-regmap-i2c +kmod-industrialio-triggered-buffer + TITLE:=Texas Instruments ADS1015 ADC driver + KCONFIG:= CONFIG_TI_ADS1015 + FILES:=$(LINUX_DIR)/drivers/iio/adc/ti-ads1015.ko + AUTOLOAD:=$(call AutoLoad,56,ti-ads1015) + $(call AddDepends/iio) +endef + +define KernelPackage/iio-ads1015/description + This driver adds support for Texas Instruments ADS1015 and ADS1115 ADCs. +endef + +$(eval $(call KernelPackage,iio-ads1015)) + define KernelPackage/iio-hmc5843 - SUBMENU:=$(IIO_MENU) - DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-regmap-i2c +kmod-industrialio-triggered-buffer + DEPENDS:=+kmod-i2c-core +kmod-regmap-i2c +kmod-industrialio-triggered-buffer TITLE:=Honeywell HMC58x3 Magnetometer KCONFIG:= CONFIG_SENSORS_HMC5843_I2C FILES:= \ $(LINUX_DIR)/drivers/iio/magnetometer/hmc5843_i2c.ko \ $(LINUX_DIR)/drivers/iio/magnetometer/hmc5843_core.ko AUTOLOAD:=$(call AutoLoad,56,hmc5843) + $(call AddDepends/iio) endef define KernelPackage/iio-hmc5843/description @@ -96,12 +114,12 @@ endef $(eval $(call KernelPackage,iio-hmc5843)) define KernelPackage/iio-bh1750 - SUBMENU:=$(IIO_MENU) - DEPENDS:=+kmod-i2c-core +kmod-iio-core + DEPENDS:=+kmod-i2c-core TITLE:=ROHM BH1750 ambient light sensor KCONFIG:= CONFIG_BH1750 FILES:=$(LINUX_DIR)/drivers/iio/light/bh1750.ko AUTOLOAD:=$(call AutoLoad,56,bh1750) + $(call AddDepends/iio) endef define KernelPackage/iio-bh1750/description ROHM BH1750 ambient light sensor (i2c bus) @@ -109,12 +127,12 @@ endef $(eval $(call KernelPackage,iio-bh1750)) define KernelPackage/iio-am2315 - SUBMENU:=$(IIO_MENU) - DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-industrialio-triggered-buffer + DEPENDS:=+kmod-i2c-core +kmod-industrialio-triggered-buffer TITLE:=Asong AM2315 humidity/temperature sensor KCONFIG:= CONFIG_AM2315 FILES:=$(LINUX_DIR)/drivers/iio/humidity/am2315.ko AUTOLOAD:=$(call AutoLoad,56,am2315) + $(call AddDepends/iio) endef define KernelPackage/iio-am2315/description Aosong AM2315 humidity/temperature sensor (I2C bus) @@ -122,13 +140,13 @@ endef $(eval $(call KernelPackage,iio-am2315)) define KernelPackage/iio-mxs-lradc - SUBMENU:=$(IIO_MENU) - DEPENDS:=@TARGET_mxs +kmod-iio-core +kmod-industrialio-triggered-buffer + DEPENDS:=@TARGET_mxs +kmod-industrialio-triggered-buffer TITLE:=Freescale i.MX23/i.MX28 LRADC ADC driver KCONFIG:= \ CONFIG_MXS_LRADC_ADC FILES:=$(LINUX_DIR)/drivers/iio/adc/mxs-lradc-adc.ko AUTOLOAD:=$(call AutoLoad,56,mxs-lradc-adc) + $(call AddDepends/iio) endef define KernelPackage/iio-mxs-lradc/description @@ -138,13 +156,13 @@ endef $(eval $(call KernelPackage,iio-mxs-lradc)) define KernelPackage/iio-dht11 - SUBMENU:=$(IIO_MENU) - DEPENDS:=+kmod-iio-core @GPIO_SUPPORT @USES_DEVICETREE + DEPENDS:=@GPIO_SUPPORT @USES_DEVICETREE TITLE:=DHT11 (and compatible) humidity and temperature sensors KCONFIG:= \ CONFIG_DHT11 FILES:=$(LINUX_DIR)/drivers/iio/humidity/dht11.ko AUTOLOAD:=$(call AutoLoad,56,dht11) + $(call AddDepends/iio) endef define KernelPackage/iio-dht11/description @@ -157,11 +175,11 @@ $(eval $(call KernelPackage,iio-dht11)) define KernelPackage/iio-bme680 - SUBMENU:=$(IIO_MENU) TITLE:=BME680 gas/humidity/pressure/temperature sensor - DEPENDS:=+kmod-iio-core +kmod-regmap-core + DEPENDS:=+kmod-regmap-core KCONFIG:=CONFIG_BME680 FILES:=$(LINUX_DIR)/drivers/iio/chemical/bme680_core.ko + $(call AddDepends/iio) endef define KernelPackage/iio-bme680/description @@ -172,12 +190,12 @@ endef $(eval $(call KernelPackage,iio-bme680)) define KernelPackage/iio-bme680-i2c - SUBMENU:=$(IIO_MENU) TITLE:=BME680 gas/humidity/pressure/temperature sensor (I2C) DEPENDS:=+kmod-iio-bme680 +kmod-regmap-i2c KCONFIG:=CONFIG_BME680_I2C FILES:=$(LINUX_DIR)/drivers/iio/chemical/bme680_i2c.ko AUTOLOAD:=$(call AutoProbe,bme680-i2c) + $(call AddDepends/iio) endef define KernelPackage/iio-bme680-i2c/description This driver adds support for Bosch Sensortec's BME680 connected via I2C. @@ -186,12 +204,12 @@ endef $(eval $(call KernelPackage,iio-bme680-i2c)) define KernelPackage/iio-bme680-spi - SUBMENU:=$(IIO_MENU) TITLE:=BME680 gas/humidity/pressure/temperature sensor (SPI) DEPENDS:=+kmod-iio-bme680 +kmod-regmap-spi KCONFIG:=CONFIG_BME680_SPI FILES:=$(LINUX_DIR)/drivers/iio/chemical/bme680_spi.ko AUTOLOAD:=$(call AutoProbe,bme680-spi) + $(call AddDepends/iio) endef define KernelPackage/iio-bme680-spi/description This driver adds support for Bosch Sensortec's BME680 connected via SPI. @@ -201,11 +219,11 @@ $(eval $(call KernelPackage,iio-bme680-spi)) define KernelPackage/iio-bmp280 - SUBMENU:=$(IIO_MENU) TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor - DEPENDS:=+kmod-iio-core +kmod-regmap-core + DEPENDS:=+kmod-regmap-core KCONFIG:=CONFIG_BMP280 FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280.ko + $(call AddDepends/iio) endef define KernelPackage/iio-bmp280/description @@ -218,12 +236,12 @@ $(eval $(call KernelPackage,iio-bmp280)) define KernelPackage/iio-bmp280-i2c - SUBMENU:=$(IIO_MENU) TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor (I2C) DEPENDS:=+kmod-iio-bmp280 +kmod-i2c-core +kmod-regmap-i2c KCONFIG:=CONFIG_BMP280_I2C FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280-i2c.ko AUTOLOAD:=$(call AutoProbe,bmp280-i2c) + $(call AddDepends/iio) endef define KernelPackage/iio-bmp280-i2c/description This driver adds support for Bosch Sensortec's digital pressure and @@ -234,12 +252,12 @@ $(eval $(call KernelPackage,iio-bmp280-i2c)) define KernelPackage/iio-bmp280-spi - SUBMENU:=$(IIO_MENU) TITLE:=BMP180/BMP280/BME280 pressure/temperatur sensor (SPI) DEPENDS:=+kmod-iio-bmp280 +kmod-spi-bitbang KCONFIG:=CONFIG_BMP280_SPI FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280-spi.ko AUTOLOAD:=$(call AutoProbe,bmp280-spi) + $(call AddDepends/iio) endef define KernelPackage/iio-bmp280-spi/description This driver adds support for Bosch Sensortec's digital pressure and @@ -249,8 +267,7 @@ endef $(eval $(call KernelPackage,iio-bmp280-spi)) define KernelPackage/iio-htu21 - SUBMENU:=$(IIO_MENU) - DEPENDS:=+kmod-i2c-core +kmod-iio-core + DEPENDS:=+kmod-i2c-core TITLE:=HTU21 humidity & temperature sensor KCONFIG:= \ CONFIG_HTU21 \ @@ -259,6 +276,7 @@ define KernelPackage/iio-htu21 $(LINUX_DIR)/drivers/iio/humidity/htu21.ko \ $(LINUX_DIR)/drivers/iio/common/ms_sensors/ms_sensors_i2c.ko AUTOLOAD:=$(call AutoLoad,56,htu21) + $(call AddDepends/iio) endef define KernelPackage/iio-htu21/description @@ -272,13 +290,13 @@ $(eval $(call KernelPackage,iio-htu21)) define KernelPackage/iio-ccs811 - SUBMENU:=$(IIO_MENU) - DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-industrialio-triggered-buffer + DEPENDS:=+kmod-i2c-core +kmod-industrialio-triggered-buffer TITLE:=AMS CCS811 VOC sensor KCONFIG:= \ CONFIG_CCS811 FILES:= $(LINUX_DIR)/drivers/iio/chemical/ccs811.ko AUTOLOAD:=$(call AutoLoad,56,ccs811) + $(call AddDepends/iio) endef define KernelPackage/iio-ccs811/description @@ -289,12 +307,12 @@ $(eval $(call KernelPackage,iio-ccs811)) define KernelPackage/iio-si7020 - SUBMENU:=$(IIO_MENU) - DEPENDS:=+kmod-i2c-core +kmod-iio-core + DEPENDS:=+kmod-i2c-core TITLE:=Silicon Labs Si7020 sensor KCONFIG:= CONFIG_SI7020 FILES:=$(LINUX_DIR)/drivers/iio/humidity/si7020.ko AUTOLOAD:=$(call AutoLoad,56,si7020) + $(call AddDepends/iio) endef define KernelPackage/iio-si7020/description @@ -307,15 +325,15 @@ $(eval $(call KernelPackage,iio-si7020)) define KernelPackage/iio-st_accel - SUBMENU:=$(IIO_MENU) TITLE:=STMicroelectronics accelerometer 3-Axis Driver - DEPENDS:=+kmod-iio-core +kmod-regmap-core +kmod-industrialio-triggered-buffer + DEPENDS:=+kmod-regmap-core +kmod-industrialio-triggered-buffer KCONFIG:= \ CONFIG_IIO_ST_ACCEL_3AXIS \ CONFIG_IIO_ST_SENSORS_CORE FILES:= \ $(LINUX_DIR)/drivers/iio/accel/st_accel.ko \ $(LINUX_DIR)/drivers/iio/common/st_sensors/st_sensors.ko + $(call AddDepends/iio) endef define KernelPackage/iio-st_accel/description @@ -329,7 +347,6 @@ $(eval $(call KernelPackage,iio-st_accel)) define KernelPackage/iio-st_accel-i2c - SUBMENU:=$(IIO_MENU) TITLE:=STMicroelectronics accelerometer 3-Axis Driver (I2C) DEPENDS:=+kmod-iio-st_accel +kmod-i2c-core +kmod-regmap-i2c KCONFIG:= CONFIG_IIO_ST_ACCEL_I2C_3AXIS @@ -337,6 +354,7 @@ define KernelPackage/iio-st_accel-i2c $(LINUX_DIR)/drivers/iio/accel/st_accel_i2c.ko \ $(LINUX_DIR)/drivers/iio/common/st_sensors/st_sensors_i2c.ko AUTOLOAD:=$(call AutoLoad,56,st_accel_i2c) + $(call AddDepends/iio) endef define KernelPackage/iio-st_accel-i2c/description @@ -347,7 +365,6 @@ $(eval $(call KernelPackage,iio-st_accel-i2c)) define KernelPackage/iio-st_accel-spi - SUBMENU:=$(IIO_MENU) TITLE:=STMicroelectronics accelerometer 3-Axis Driver (SPI) DEPENDS:=+kmod-iio-st_accel +kmod-regmap-spi KCONFIG:= CONFIG_IIO_ST_ACCEL_SPI_3AXIS @@ -355,6 +372,7 @@ define KernelPackage/iio-st_accel-spi $(LINUX_DIR)/drivers/iio/accel/st_accel_spi.ko \ $(LINUX_DIR)/drivers/iio/common/st_sensors/st_sensors_spi.ko AUTOLOAD:=$(call AutoLoad,56,st_accel_spi) + $(call AddDepends/iio) endef define KernelPackage/iio-st_accel-spi/description @@ -365,12 +383,12 @@ $(eval $(call KernelPackage,iio-st_accel-spi)) define KernelPackage/iio-lsm6dsx - SUBMENU:=$(IIO_MENU) - DEPENDS:=+kmod-iio-core +kmod-iio-kfifo-buf +kmod-regmap-core + DEPENDS:=+kmod-iio-kfifo-buf +kmod-regmap-core TITLE:=ST LSM6DSx driver for IMU MEMS sensors KCONFIG:=CONFIG_IIO_ST_LSM6DSX FILES:=$(LINUX_DIR)/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.ko AUTOLOAD:=$(call AutoProbe,st_lsm6dsx) + $(call AddDepends/iio) endef define KernelPackage/iio-lsm6dsx/description @@ -381,12 +399,12 @@ $(eval $(call KernelPackage,iio-lsm6dsx)) define KernelPackage/iio-lsm6dsx-i2c - SUBMENU:=$(IIO_MENU) DEPENDS:=+kmod-iio-lsm6dsx +kmod-i2c-core +kmod-regmap-i2c TITLE:=ST LSM6DSx driver for IMU MEMS sensors (I2C) KCONFIG:=CONFIG_IIO_ST_LSM6DSX FILES:=$(LINUX_DIR)/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.ko AUTOLOAD:=$(call AutoProbe,st_lsm6dsx-i2c) + $(call AddDepends/iio) endef define KernelPackage/iio-lsm6dsx-i2c/description @@ -397,12 +415,12 @@ $(eval $(call KernelPackage,iio-lsm6dsx-i2c)) define KernelPackage/iio-lsm6dsx-spi - SUBMENU:=$(IIO_MENU) DEPENDS:=+kmod-iio-lsm6dsx +kmod-regmap-spi TITLE:=ST LSM6DSx driver for IMU MEMS sensors (SPI) KCONFIG:=CONFIG_IIO_ST_LSM6DSX FILES:=$(LINUX_DIR)/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_spi.ko AUTOLOAD:=$(call AutoProbe,st_lsm6dsx-spi) + $(call AddDepends/iio) endef define KernelPackage/iio-lsm6dsx-spi/description @@ -413,12 +431,16 @@ $(eval $(call KernelPackage,iio-lsm6dsx-spi)) define KernelPackage/iio-sps30 - SUBMENU:=$(IIO_MENU) - DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-industrialio-triggered-buffer +kmod-lib-crc8 + DEPENDS:=+kmod-i2c-core +kmod-industrialio-triggered-buffer +kmod-lib-crc8 TITLE:=Sensirion SPS30 particulate matter sensor - KCONFIG:=CONFIG_SPS30 - FILES:=$(LINUX_DIR)/drivers/iio/chemical/sps30.ko - AUTOLOAD:=$(call AutoProbe,sps30) + KCONFIG:= \ + CONFIG_SPS30 \ + CONFIG_SPS30_I2C + FILES:= \ + $(LINUX_DIR)/drivers/iio/chemical/sps30.ko \ + $(LINUX_DIR)/drivers/iio/chemical/sps30_i2c.ko + AUTOLOAD:=$(call AutoProbe,sps30 sps30_i2c) + $(call AddDepends/iio) endef define KernelPackage/iio-sps30/description @@ -429,12 +451,12 @@ $(eval $(call KernelPackage,iio-sps30)) define KernelPackage/iio-tsl4531 - SUBMENU:=$(IIO_MENU) - DEPENDS:=+kmod-i2c-core +kmod-iio-core + DEPENDS:=+kmod-i2c-core TITLE:=TAOS TSL4531 ambient light sensor KCONFIG:= CONFIG_TSL4531 FILES:=$(LINUX_DIR)/drivers/iio/light/tsl4531.ko AUTOLOAD:=$(call AutoLoad,56,tsl4531) + $(call AddDepends/iio) endef define KernelPackage/iio-tsl4531/description @@ -447,12 +469,12 @@ $(eval $(call KernelPackage,iio-tsl4531)) define KernelPackage/iio-fxas21002c - SUBMENU:=$(IIO_MENU) TITLE:=Freescale FXAS21002C 3-axis gyro driver - DEPENDS:=+kmod-iio-core +kmod-regmap-core +kmod-industrialio-triggered-buffer + DEPENDS:=+kmod-regmap-core +kmod-industrialio-triggered-buffer KCONFIG:= CONFIG_FXAS21002C FILES:=$(LINUX_DIR)/drivers/iio/gyro/fxas21002c_core.ko AUTOLOAD:=$(call AutoLoad,56,fxas21002c) + $(call AddDepends/iio) endef define KernelPackage/iio-fxas21002c/description @@ -463,12 +485,12 @@ $(eval $(call KernelPackage,iio-fxas21002c)) define KernelPackage/iio-fxas21002c-i2c - SUBMENU:=$(IIO_MENU) TITLE:=Freescale FXAS21002C 3-axis gyro driver (I2C) DEPENDS:=+kmod-iio-fxas21002c +kmod-i2c-core +kmod-regmap-i2c KCONFIG:= CONFIG_FXAS21002C_I2C FILES:=$(LINUX_DIR)/drivers/iio/gyro/fxas21002c_i2c.ko AUTOLOAD:=$(call AutoLoad,56,fxas21002c_i2c) + $(call AddDepends/iio) endef define KernelPackage/iio-fxas21002c-i2c/description @@ -480,12 +502,12 @@ endef $(eval $(call KernelPackage,iio-fxas21002c-i2c)) define KernelPackage/iio-fxas21002c-spi - SUBMENU:=$(IIO_MENU) DEPENDS:=+kmod-iio-fxas21002c +kmod-regmap-spi TITLE:=Freescale FXAS21002C 3-axis gyro driver (SPI) KCONFIG:= CONFIG_FXAS21002C_SPI FILES:=$(LINUX_DIR)/drivers/iio/gyro/fxas21002c_spi.ko AUTOLOAD:=$(call AutoLoad,56,fxas21002c_spi) + $(call AddDepends/iio) endef define KernelPackage/iio-fxas21002c-spi/description @@ -497,12 +519,12 @@ $(eval $(call KernelPackage,iio-fxas21002c-spi)) define KernelPackage/iio-fxos8700 - SUBMENU:=$(IIO_MENU) TITLE:=Freescale FXOS8700 3-axis accelerometer driver - DEPENDS:=+kmod-iio-core +kmod-regmap-core + DEPENDS:=+kmod-regmap-core KCONFIG:= CONFIG_FXOS8700 FILES:=$(LINUX_DIR)/drivers/iio/imu/fxos8700_core.ko AUTOLOAD:=$(call AutoLoad,56,fxos8700) + $(call AddDepends/iio) endef define KernelPackage/iio-fxos8700/description @@ -513,12 +535,12 @@ $(eval $(call KernelPackage,iio-fxos8700)) define KernelPackage/iio-fxos8700-i2c - SUBMENU:=$(IIO_MENU) TITLE:=Freescale FXOS8700 3-axis acceleromter driver (I2C) DEPENDS:=+kmod-iio-fxos8700 +kmod-i2c-core +kmod-regmap-i2c KCONFIG:= CONFIG_FXOS8700_I2C FILES:=$(LINUX_DIR)/drivers/iio/imu/fxos8700_i2c.ko AUTOLOAD:=$(call AutoLoad,56,fxos8700_i2c) + $(call AddDepends/iio) endef define KernelPackage/iio-fxos8700-i2c/description @@ -530,12 +552,12 @@ endef $(eval $(call KernelPackage,iio-fxos8700-i2c)) define KernelPackage/iio-fxos8700-spi - SUBMENU:=$(IIO_MENU) DEPENDS:=+kmod-iio-fxos8700 +kmod-regmap-spi TITLE:=Freescale FXOS8700 3-axis accelerometer driver (SPI) KCONFIG:= CONFIG_FXOS8700_SPI FILES:=$(LINUX_DIR)/drivers/iio/imu/fxos8700_spi.ko AUTOLOAD:=$(call AutoLoad,56,fxos8700_spi) + $(call AddDepends/iio) endef define KernelPackage/iio-fxos8700-spi/description @@ -544,3 +566,17 @@ define KernelPackage/iio-fxos8700-spi/description endef $(eval $(call KernelPackage,iio-fxos8700-spi)) + +define KernelPackage/iio-ti-am335x-adc + TITLE:= TI Sitara AM335x ADC driver + DEPENDS:=@TARGET_omap + KCONFIG:=CONFIG_TI_AM335X_ADC + FILES:=$(LINUX_DIR)/drivers/iio/adc/ti_am335x_adc.ko + AUTOLOAD:=$(call AutoProbe,ti_am335x_adc) + $(call AddDepends/iio,+kmod-iio-kfifo-buf) +endef +define KernelPackage/iio-ti-am335x-adc/description + Driver for the TI AM335x ADC. +endef + +$(eval $(call KernelPackage,iio-ti-am335x-adc)) diff --git a/package/kernel/linux/modules/input.mk b/package/kernel/linux/modules/input.mk index c2f39ddd903..92587b1874c 100644 --- a/package/kernel/linux/modules/input.mk +++ b/package/kernel/linux/modules/input.mk @@ -92,7 +92,7 @@ $(eval $(call KernelPackage,input-gpio-keys)) define KernelPackage/input-gpio-keys-polled SUBMENU:=$(INPUT_MODULES_MENU) TITLE:=Polled GPIO key support - DEPENDS:=@GPIO_SUPPORT +kmod-input-polldev + DEPENDS:=@GPIO_SUPPORT +kmod-input-core KCONFIG:= \ CONFIG_KEYBOARD_GPIO_POLLED \ CONFIG_INPUT_KEYBOARD=y @@ -142,21 +142,6 @@ endef $(eval $(call KernelPackage,input-joydev)) -define KernelPackage/input-polldev - SUBMENU:=$(INPUT_MODULES_MENU) - TITLE:=Polled Input device support - DEPENDS:=+kmod-input-core - KCONFIG:=CONFIG_INPUT_POLLDEV - FILES:=$(LINUX_DIR)/drivers/input/input-polldev.ko -endef - -define KernelPackage/input-polldev/description - Kernel module for support of polled input devices -endef - -$(eval $(call KernelPackage,input-polldev)) - - define KernelPackage/input-matrixkmap SUBMENU:=$(INPUT_MODULES_MENU) TITLE:=Input matrix devices support @@ -179,10 +164,8 @@ define KernelPackage/input-touchscreen-ads7846 DEPENDS:=+kmod-hwmon-core +kmod-input-core +kmod-spi-bitbang KCONFIG:= \ CONFIG_INPUT_TOUCHSCREEN=y \ - CONFIG_TOUCHSCREEN_PROPERTIES=y \ CONFIG_TOUCHSCREEN_ADS7846 - FILES:=$(LINUX_DIR)/drivers/input/touchscreen/ads7846.ko \ - $(LINUX_DIR)/drivers/input/touchscreen/of_touchscreen.ko + FILES:=$(LINUX_DIR)/drivers/input/touchscreen/ads7846.ko AUTOLOAD:=$(call AutoProbe,ads7846) endef @@ -193,10 +176,29 @@ endef $(eval $(call KernelPackage,input-touchscreen-ads7846)) +define KernelPackage/input-touchscreen-edt-ft5x06 + SUBMENU:=$(INPUT_MODULES_MENU) + TITLE:=EDT FT5x06 and Focaltech FT6236 based touchscreens + DEPENDS:=+kmod-i2c-core +kmod-input-core + KCONFIG:= \ + CONFIG_INPUT_TOUCHSCREEN=y \ + CONFIG_TOUCHSCREEN_EDT_FT5X06 + FILES:=$(LINUX_DIR)/drivers/input/touchscreen/edt-ft5x06.ko + AUTOLOAD:=$(call AutoProbe,edt-ft5x06) +endef + +define KernelPackage/input-touchscreen-edt-ft5x06/description + Kernel module for EDT FT5206, FT5306, FT5406, FT5506, Evervision FT5726 \ + and Focaltech FT6236 based touchscreens +endef + +$(eval $(call KernelPackage,input-touchscreen-edt-ft5x06)) + + define KernelPackage/keyboard-imx SUBMENU:=$(INPUT_MODULES_MENU) TITLE:=IMX keypad support - DEPENDS:=@(TARGET_mxs||TARGET_imx6) +kmod-input-matrixkmap + DEPENDS:=@(TARGET_mxs||TARGET_imx) +kmod-input-matrixkmap KCONFIG:= \ CONFIG_KEYBOARD_IMX \ CONFIG_INPUT_KEYBOARD=y diff --git a/package/kernel/linux/modules/leds.mk b/package/kernel/linux/modules/leds.mk index 0ef0aee3fbe..60465a8ad50 100644 --- a/package/kernel/linux/modules/leds.mk +++ b/package/kernel/linux/modules/leds.mk @@ -99,6 +99,38 @@ endef $(eval $(call KernelPackage,ledtrig-oneshot)) +define KernelPackage/ledtrig-pattern + SUBMENU:=$(LEDS_MENU) + TITLE:=LED Pattern Trigger + KCONFIG:=CONFIG_LEDS_TRIGGER_PATTERN + FILES:=$(LED_TRIGGER_DIR)/ledtrig-pattern.ko + AUTOLOAD:=$(call AutoLoad,50,ledtrig-pattern) +endef + +define KernelPackage/ledtrig-pattern/description + This allows LEDs to be controlled by a software or hardware pattern + which is a series of tuples, of brightness and duration (ms). +endef + +$(eval $(call KernelPackage,ledtrig-pattern)) + + +define KernelPackage/ledtrig-tty + SUBMENU:=$(LEDS_MENU) + TITLE:=LED Trigger for TTY devices + KCONFIG:=CONFIG_LEDS_TRIGGER_TTY + FILES:=$(LED_TRIGGER_DIR)/ledtrig-tty.ko + AUTOLOAD:=$(call AutoLoad,50,ledtrig-tty) +endef + +define KernelPackage/ledtrig-tty/description + This allows LEDs to be controlled by activity on ttys which includes + serial devices like '/dev/ttyS0'. +endef + +$(eval $(call KernelPackage,ledtrig-tty)) + + define KernelPackage/leds-apu SUBMENU:=$(LEDS_MENU) TITLE:=PC Engines APU1 LED support @@ -115,6 +147,41 @@ endef $(eval $(call KernelPackage,leds-apu)) +define KernelPackage/leds-mlxcpld + SUBMENU:=$(LEDS_MENU) + TITLE:=LED support for the Mellanox boards + FILES:=$(LINUX_DIR)/drivers/leds/leds-mlxcpld.ko + KCONFIG:=CONFIG_LEDS_MLXCPLD + AUTOLOAD:=$(call AutoProbe,leds-mlxcpld) +endef + +define KernelPackage/leds-mlxcpld/description + This option enables support for the LEDs on the Mellanox + boards. +endef + +$(eval $(call KernelPackage,leds-mlxcpld)) + + +define KernelPackage/leds-pca955x + SUBMENU:=$(LEDS_MENU) + TITLE:=LED driver for PCA955x I2C chips + DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core + KCONFIG:=CONFIG_LEDS_PCA955X \ + CONFIG_LEDS_PCA955X_GPIO=y + FILES:=$(LINUX_DIR)/drivers/leds/leds-pca955x.ko + AUTOLOAD:=$(call AutoLoad,60,leds-pca955x,1) +endef + +define KernelPackage/leds-pca955x/description + This option enables support for LEDs connected to PCA955x + LED driver chips accessed via the I2C bus. Supported + devices include PCA9550, PCA9551, PCA9552, and PCA9553. +endef + +$(eval $(call KernelPackage,leds-pca955x)) + + define KernelPackage/leds-pca963x SUBMENU:=$(LEDS_MENU) TITLE:=PCA963x LED support @@ -146,6 +213,24 @@ endef $(eval $(call KernelPackage,leds-pwm)) + +define KernelPackage/leds-tlc591xx + SUBMENU:=$(LEDS_MENU) + TITLE:=LED driver for TLC59108 and TLC59116 controllers + DEPENDS:=+kmod-i2c-core +kmod-regmap-i2c + KCONFIG:=CONFIG_LEDS_TLC591XX + FILES:=$(LINUX_DIR)/drivers/leds/leds-tlc591xx.ko + AUTOLOAD:=$(call AutoLoad,60,leds-tlc591xx,1) +endef + +define KernelPackage/leds-tlc591xx/description + This option enables support for Texas Instruments TLC59108 + and TLC59116 LED controllers. +endef + +$(eval $(call KernelPackage,leds-tlc591xx)) + + define KernelPackage/leds-uleds SUBMENU:=$(LEDS_MENU) TITLE:=Userspace LEDs @@ -176,3 +261,37 @@ define KernelPackage/input-leds/description endef $(eval $(call KernelPackage,input-leds)) + + +define KernelPackage/leds-lp55xx-common + SUBMENU:=$(LEDS_MENU) + TITLE:=LED common driver for LP5521/LP5523/LP55231/LP5562 controllers + DEPENDS:=+kmod-i2c-core + KCONFIG:=CONFIG_LEDS_LP55XX_COMMON + FILES:=$(LINUX_DIR)/drivers/leds/leds-lp55xx-common.ko + AUTOLOAD:=$(call AutoLoad,60,leds-lp55xx-common,1) +endef + +define KernelPackage/leds-lp55xx-common/description + This option enables support for Texas Instruments + LP5521/LP5523/LP55231/LP5562 common driver. +endef + +$(eval $(call KernelPackage,leds-lp55xx-common)) + + +define KernelPackage/leds-lp5562 + SUBMENU:=$(LEDS_MENU) + TITLE:=LED driver for LP5562 controllers + DEPENDS:=+kmod-i2c-core +kmod-leds-lp55xx-common + KCONFIG:=CONFIG_LEDS_LP5562 + FILES:=$(LINUX_DIR)/drivers/leds/leds-lp5562.ko + AUTOLOAD:=$(call AutoLoad,60,leds-lp5562,1) +endef + +define KernelPackage/leds-lp5562/description + This option enables support for Texas Instruments LP5562 + LED controllers. +endef + +$(eval $(call KernelPackage,leds-lp5562))
\ No newline at end of file diff --git a/package/kernel/linux/modules/lib.mk b/package/kernel/linux/modules/lib.mk index 9a341932bde..8d67a3187a6 100644 --- a/package/kernel/linux/modules/lib.mk +++ b/package/kernel/linux/modules/lib.mk @@ -109,9 +109,10 @@ define KernelPackage/lib-lzo HIDDEN:=1 FILES:= \ $(LINUX_DIR)/crypto/lzo.ko \ + $(LINUX_DIR)/crypto/lzo-rle.ko \ $(LINUX_DIR)/lib/lzo/lzo_compress.ko \ $(LINUX_DIR)/lib/lzo/lzo_decompress.ko - AUTOLOAD:=$(call AutoProbe,lzo lzo_compress lzo_decompress) + AUTOLOAD:=$(call AutoProbe,lzo lzo-rle lzo_compress lzo_decompress) endef define KernelPackage/lib-lzo/description @@ -133,6 +134,7 @@ define KernelPackage/lib-zstd FILES:= \ $(LINUX_DIR)/crypto/zstd.ko \ $(LINUX_DIR)/lib/xxhash.ko \ + $(LINUX_DIR)/lib/zstd/zstd_common.ko@ge6.1 \ $(LINUX_DIR)/lib/zstd/zstd_compress.ko \ $(LINUX_DIR)/lib/zstd/zstd_decompress.ko AUTOLOAD:=$(call AutoProbe,xxhash zstd zstd_compress zstd_decompress) @@ -151,13 +153,15 @@ define KernelPackage/lib-lz4 DEPENDS:=+kmod-crypto-acompress KCONFIG:= \ CONFIG_CRYPTO_LZ4 \ + CONFIG_CRYPTO_LZ4HC \ CONFIG_LZ4_COMPRESS \ CONFIG_LZ4_DECOMPRESS FILES:= \ $(LINUX_DIR)/crypto/lz4.ko \ $(LINUX_DIR)/lib/lz4/lz4_compress.ko \ + $(LINUX_DIR)/lib/lz4/lz4hc_compress.ko \ $(LINUX_DIR)/lib/lz4/lz4_decompress.ko - AUTOLOAD:=$(call AutoProbe,lz4 lz4_compress lz4_decompress) + AUTOLOAD:=$(call AutoProbe,lz4 lz4_compress lz4hc_compress lz4_decompress) endef define KernelPackage/lib-lz4/description @@ -167,6 +171,28 @@ endef $(eval $(call KernelPackage,lib-lz4)) +define KernelPackage/lib-842 + SUBMENU:=$(LIB_MENU) + TITLE:=842 support + DEPENDS:=+kmod-crypto-acompress +kmod-crypto-crc32 + KCONFIG:= \ + CONFIG_CRYPTO_842 \ + CONFIG_842_COMPRESS \ + CONFIG_842_DECOMPRESS + FILES:= \ + $(LINUX_DIR)/crypto/842.ko \ + $(LINUX_DIR)/lib/842/842_compress.ko \ + $(LINUX_DIR)/lib/842/842_decompress.ko + AUTOLOAD:=$(call AutoProbe,842 842_compress 842_decompress) +endef + +define KernelPackage/lib-842/description + Kernel module for 842 compression/decompression support +endef + +$(eval $(call KernelPackage,lib-842)) + + define KernelPackage/lib-raid6 SUBMENU:=$(LIB_MENU) TITLE:=RAID6 algorithm support @@ -272,3 +298,49 @@ define KernelPackage/asn1-decoder endef $(eval $(call KernelPackage,asn1-decoder)) + +define KernelPackage/asn1-encoder + SUBMENU:=$(LIB_MENU) + TITLE:=Simple ASN1 encoder + KCONFIG:= CONFIG_ASN1_ENCODER + HIDDEN:=1 + FILES:=$(LINUX_DIR)/lib/asn1_encoder.ko +endef + +$(eval $(call KernelPackage,asn1-encoder)) + +define KernelPackage/oid-registry + SUBMENU:=$(LIB_MENU) + TITLE:=Object identifier registry + KCONFIG:= CONFIG_OID_REGISTRY + FILES:=$(LINUX_DIR)/lib/oid_registry.ko + AUTOLOAD:=$(call AutoLoad,31,oid_registry) +endef + +$(eval $(call KernelPackage,oid-registry)) + + +define KernelPackage/lib-objagg + SUBMENU:=$(LIB_MENU) + TITLE:=objagg support + FILES:=$(LINUX_DIR)/lib/objagg.ko + KCONFIG:= \ + CONFIG_OBJAGG \ + CONFIG_TEST_OBJAGG=n + AUTOLOAD:=$(call AutoProbe,objagg) +endef + +$(eval $(call KernelPackage,lib-objagg)) + + +define KernelPackage/lib-parman + SUBMENU:=$(LIB_MENU) + TITLE:=parman support + FILES:=$(LINUX_DIR)/lib/parman.ko + KCONFIG:= \ + CONFIG_PARMAN \ + CONFIG_TEST_PARMAN=n + AUTOLOAD:=$(call AutoProbe,parman) +endef + +$(eval $(call KernelPackage,lib-parman)) diff --git a/package/kernel/linux/modules/multiplexer.mk b/package/kernel/linux/modules/multiplexer.mk new file mode 100644 index 00000000000..135fc62c6dd --- /dev/null +++ b/package/kernel/linux/modules/multiplexer.mk @@ -0,0 +1,34 @@ +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +MENU_TITLE:=Multiplexer Support + +define KernelPackage/mux-core + SUBMENU:=$(MENU_TITLE) + TITLE:=Multiplexer Support + KCONFIG:=CONFIG_MULTIPLEXER + FILES:=$(LINUX_DIR)/drivers/mux/mux-core.ko + AUTOLOAD:=$(call AutoLoad,25,mux-core,1) +endef + +define KernelPackage/mux-core/description + Kernel module for multiplexer support +endef + +$(eval $(call KernelPackage,mux-core)) + +define KernelPackage/mux-gpio + SUBMENU:=$(MENU_TITLE) + TITLE:=GPIO-controlled Multiplexer controller + KCONFIG:=CONFIG_MUX_GPIO + DEPENDS:=@GPIO_SUPPORT kmod-mux-core + FILES:=$(LINUX_DIR)/drivers/mux/mux-gpio.ko + AUTOLOAD:=$(call AutoLoad,25,mux-gpio,1) +endef + +define KernelPackage/mux-gpio/description + Kernel modules for GPIO-controlled Multiplexer controller +endef + +$(eval $(call KernelPackage,mux-gpio)) diff --git a/package/kernel/linux/modules/netdevices.mk b/package/kernel/linux/modules/netdevices.mk index b91442748d4..72504d8de7f 100644 --- a/package/kernel/linux/modules/netdevices.mk +++ b/package/kernel/linux/modules/netdevices.mk @@ -111,6 +111,7 @@ $(eval $(call KernelPackage,libphy)) define KernelPackage/phylink SUBMENU:=$(NETWORK_DEVICES_MENU) TITLE:=Model for MAC to optional PHY connection + DEPENDS:=+kmod-libphy KCONFIG:=CONFIG_PHYLINK FILES:=$(LINUX_DIR)/drivers/net/phy/phylink.ko AUTOLOAD:=$(call AutoLoad,15,phylink,1) @@ -141,7 +142,7 @@ $(eval $(call KernelPackage,mii)) define KernelPackage/mdio-devres SUBMENU:=$(NETWORK_DEVICES_MENU) TITLE:=Supports MDIO device registration - DEPENDS:=@LINUX_5_10 +kmod-libphy PACKAGE_kmod-of-mdio:kmod-of-mdio + DEPENDS:=+kmod-libphy +(TARGET_armsr||TARGET_bcm27xx_bcm2708||TARGET_malta||TARGET_tegra):kmod-of-mdio KCONFIG:=CONFIG_MDIO_DEVRES HIDDEN:=1 FILES:=$(LINUX_DIR)/drivers/net/phy/mdio_devres.ko @@ -158,15 +159,13 @@ $(eval $(call KernelPackage,mdio-devres)) define KernelPackage/mdio-gpio SUBMENU:=$(NETWORK_DEVICES_MENU) TITLE:= Supports GPIO lib-based MDIO busses - DEPENDS:=+kmod-libphy @GPIO_SUPPORT +(TARGET_armvirt||TARGET_bcm27xx_bcm2708||TARGET_tegra):kmod-of-mdio + DEPENDS:=+kmod-libphy @GPIO_SUPPORT +(TARGET_armsr||TARGET_bcm27xx_bcm2708||TARGET_malta||TARGET_tegra):kmod-of-mdio KCONFIG:= \ CONFIG_MDIO_BITBANG \ CONFIG_MDIO_GPIO FILES:= \ - $(LINUX_DIR)/drivers/net/phy/mdio-gpio.ko@lt5.10 \ - $(LINUX_DIR)/drivers/net/phy/mdio-bitbang.ko@lt5.10 \ - $(LINUX_DIR)/drivers/net/mdio/mdio-gpio.ko@ge5.10 \ - $(LINUX_DIR)/drivers/net/mdio/mdio-bitbang.ko@ge5.10 + $(LINUX_DIR)/drivers/net/mdio/mdio-gpio.ko \ + $(LINUX_DIR)/drivers/net/mdio/mdio-bitbang.ko AUTOLOAD:=$(call AutoProbe,mdio-gpio) endef @@ -196,6 +195,21 @@ endef $(eval $(call KernelPackage,et131x)) +define KernelPackage/phy-microchip + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Microchip Ethernet PHY driver + KCONFIG:=CONFIG_MICROCHIP_PHY + DEPENDS:=+kmod-libphy + FILES:=$(LINUX_DIR)/drivers/net/phy/microchip.ko + AUTOLOAD:=$(call AutoLoad,18,microchip,1) +endef + +define KernelPackage/phy-microchip/description + Supports the LAN88XX PHYs. +endef + +$(eval $(call KernelPackage,phy-microchip)) + define KernelPackage/phylib-broadcom SUBMENU:=$(NETWORK_DEVICES_MENU) @@ -210,6 +224,39 @@ endef $(eval $(call KernelPackage,phylib-broadcom)) +define KernelPackage/phy-amd + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=AMD PHY driver + KCONFIG:=CONFIG_AMD_PHY + DEPENDS:=+kmod-libphy + FILES:=$(LINUX_DIR)/drivers/net/phy/amd.ko + AUTOLOAD:=$(call AutoProbe,amd,1) +endef + +define KernelPackage/phy-amd/description + Currently supports the AMD and Altima PHYs. +endef + +$(eval $(call KernelPackage,phy-amd)) + + +define KernelPackage/phy-ax88796b + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Asix PHY driver + KCONFIG:=CONFIG_AX88796B_PHY + DEPENDS:=+kmod-libphy + FILES:=$(LINUX_DIR)/drivers/net/phy/ax88796b.ko + AUTOLOAD:=$(call AutoProbe,ax88796b) +endef + +define KernelPackage/phy-ax88796b/description + Currently supports the Asix Electronics PHY found in the X-Surf 100 + AX88796B package. +endef + +$(eval $(call KernelPackage,phy-ax88796b)) + + define KernelPackage/phy-broadcom SUBMENU:=$(NETWORK_DEVICES_MENU) TITLE:=Broadcom Ethernet PHY driver @@ -243,6 +290,58 @@ endef $(eval $(call KernelPackage,phy-bcm84881)) +define KernelPackage/phy-marvell + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Marvell Gigabit Ethernet PHY driver + KCONFIG:=CONFIG_MARVELL_PHY + DEPENDS:=+kmod-libphy + FILES:=$(LINUX_DIR)/drivers/net/phy/marvell.ko + AUTOLOAD:=$(call AutoLoad,18,marvell) +endef + +define KernelPackage/phy-marvell/description + Supports Marvell Gigabit Ethernet PHYs: + * 88E1101 + * 88E1112 + * 88E1111 (incl. Finisar variant) + * 88E1118 + * 88E1121R + * 88E1145 + * 88E1149R + * 88E1240 + * 88E1318S + * 88E1116R + * 88E1510 + * 88E1540 + * 88E1545 + * 88E3016 + * 88E6341 family + * 88E6390 family + * 88E6393 family + * 88E1340S + * 88E1548P +endef + +$(eval $(call KernelPackage,phy-marvell)) + +define KernelPackage/phy-marvell-10g + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Marvell 10 Gigabit Ethernet PHY driver + KCONFIG:=CONFIG_MARVELL_10G_PHY + DEPENDS:=+kmod-libphy + FILES:=$(LINUX_DIR)/drivers/net/phy/marvell10g.ko + AUTOLOAD:=$(call AutoLoad,18,marvell10g) +endef + +define KernelPackage/phy-marvell/description + Supports Marvell 10 Gigabit Ethernet PHYs: + * 88E2110 + * 88E2111 + * 88x3310 + * 88x3340 +endef + +$(eval $(call KernelPackage,phy-marvell-10g)) define KernelPackage/phy-realtek SUBMENU:=$(NETWORK_DEVICES_MENU) @@ -260,6 +359,55 @@ endef $(eval $(call KernelPackage,phy-realtek)) +define KernelPackage/phy-smsc + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=SMSC PHY driver + KCONFIG:=CONFIG_SMSC_PHY + DEPENDS:=+kmod-libphy + FILES:=$(LINUX_DIR)/drivers/net/phy/smsc.ko + AUTOLOAD:=$(call AutoProbe,smsc) +endef + +define KernelPackage/phy-smsc/description + Currently supports the LAN83C185, LAN8187 and LAN8700 PHYs +endef + +$(eval $(call KernelPackage,phy-smsc)) + + +define KernelPackage/phy-airoha-en8811h + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Airoha EN8811H 2.5G Ethernet PHY + DEPENDS:=+airoha-en8811h-firmware +kmod-libphy @LINUX_6_1 + KCONFIG:=CONFIG_AIR_EN8811H_PHY + FILES:= \ + $(LINUX_DIR)/drivers/net/phy/air_en8811h.ko + AUTOLOAD:=$(call AutoLoad,18,air_en8811h,1) +endef + +define KernelPackage/phy-airoha-en8811h/description + Kernel modules for Airoha EN8811H 2.5G Ethernet PHY +endef + +$(eval $(call KernelPackage,phy-airoha-en8811h)) + + +define KernelPackage/phy-aquantia + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Aquantia Ethernet PHYs + DEPENDS:=+kmod-libphy +kmod-hwmon-core +kmod-lib-crc-ccitt + KCONFIG:=CONFIG_AQUANTIA_PHY + FILES:=$(LINUX_DIR)/drivers/net/phy/aquantia/aquantia.ko + AUTOLOAD:=$(call AutoLoad,18,aquantia,1) +endef + +define KernelPackage/phy-aquantia/description + Kernel modules for Aquantia Ethernet PHYs +endef + +$(eval $(call KernelPackage,phy-aquantia)) + + define KernelPackage/swconfig SUBMENU:=$(NETWORK_DEVICES_MENU) TITLE:=switch configuration API @@ -341,7 +489,7 @@ $(eval $(call KernelPackage,switch-rtl8306)) define KernelPackage/switch-rtl8366-smi SUBMENU:=$(NETWORK_DEVICES_MENU) TITLE:=Realtek RTL8366 SMI switch interface support - DEPENDS:=@GPIO_SUPPORT +kmod-swconfig +(TARGET_armvirt||TARGET_bcm27xx_bcm2708||TARGET_tegra):kmod-of-mdio + DEPENDS:=@GPIO_SUPPORT +kmod-swconfig +(TARGET_armsr||TARGET_bcm27xx_bcm2708||TARGET_malta||TARGET_tegra):kmod-of-mdio KCONFIG:=CONFIG_RTL8366_SMI FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8366_smi.ko AUTOLOAD:=$(call AutoLoad,42,rtl8366_smi,1) @@ -360,7 +508,7 @@ define KernelPackage/switch-rtl8366rb DEPENDS:=+kmod-switch-rtl8366-smi KCONFIG:=CONFIG_RTL8366RB_PHY FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8366rb.ko - AUTOLOAD:=$(call AutoLoad,43,rtl8366rb) + AUTOLOAD:=$(call AutoLoad,43,rtl8366rb,1) endef define KernelPackage/switch-rtl8366rb/description @@ -376,7 +524,7 @@ define KernelPackage/switch-rtl8366s DEPENDS:=+kmod-switch-rtl8366-smi KCONFIG:=CONFIG_RTL8366S_PHY FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8366s.ko - AUTOLOAD:=$(call AutoLoad,43,rtl8366s) + AUTOLOAD:=$(call AutoLoad,43,rtl8366s,1) endef define KernelPackage/switch-rtl8366s/description @@ -386,6 +534,22 @@ endef $(eval $(call KernelPackage,switch-rtl8366s)) +define KernelPackage/switch-rtl8367 + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Realtek RTL8367 switch support + DEPENDS:=+kmod-switch-rtl8366-smi + KCONFIG:=CONFIG_RTL8367_PHY + FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8367.ko + AUTOLOAD:=$(call AutoLoad,43,rtl8367,1) +endef + +define KernelPackage/switch-rtl8367/description + Realtek RTL8367 switch support +endef + +$(eval $(call KernelPackage,switch-rtl8367)) + + define KernelPackage/switch-rtl8367b SUBMENU:=$(NETWORK_DEVICES_MENU) TITLE:=Realtek RTL8367R/B switch support @@ -402,6 +566,22 @@ endef $(eval $(call KernelPackage,switch-rtl8367b)) +define KernelPackage/switch-ar8xxx + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Atheros AR8216/8327 switch support + DEPENDS:=+kmod-swconfig +kmod-mdio-devres + KCONFIG:=CONFIG_AR8216_PHY + FILES:=$(LINUX_DIR)/drivers/net/phy/ar8xxx.ko + AUTOLOAD:=$(call AutoLoad,43,ar8xxx,1) +endef + +define KernelPackage/switch-ar8xxx/description + Atheros AR8216/8327 switch support +endef + +$(eval $(call KernelPackage,switch-ar8xxx)) + + define KernelPackage/natsemi SUBMENU:=$(NETWORK_DEVICES_MENU) TITLE:=National Semiconductor DP8381x series @@ -562,7 +742,7 @@ $(eval $(call KernelPackage,8139cp)) define KernelPackage/r8169 SUBMENU:=$(NETWORK_DEVICES_MENU) TITLE:=RealTek RTL-8169 PCI Gigabit Ethernet Adapter kernel support - DEPENDS:=@PCI_SUPPORT +kmod-mii +r8169-firmware +kmod-phy-realtek +LINUX_5_10:kmod-mdio-devres + DEPENDS:=@PCI_SUPPORT +kmod-mii +r8169-firmware +kmod-phy-realtek +kmod-mdio-devres KCONFIG:= \ CONFIG_R8169 \ CONFIG_R8169_NAPI=y \ @@ -688,7 +868,7 @@ $(eval $(call KernelPackage,igbvf)) define KernelPackage/ixgbe SUBMENU:=$(NETWORK_DEVICES_MENU) TITLE:=Intel(R) 82598/82599 PCI-Express 10 Gigabit Ethernet support - DEPENDS:=@PCI_SUPPORT +kmod-mdio +kmod-ptp +kmod-hwmon-core +kmod-libphy +LINUX_5_10:kmod-mdio-devres + DEPENDS:=@PCI_SUPPORT +kmod-mdio +kmod-ptp +kmod-hwmon-core +kmod-libphy +kmod-mdio-devres KCONFIG:=CONFIG_IXGBE \ CONFIG_IXGBE_VXLAN=n \ CONFIG_IXGBE_HWMON=y \ @@ -822,7 +1002,7 @@ define KernelPackage/tg3 TITLE:=Broadcom Tigon3 Gigabit Ethernet KCONFIG:=CONFIG_TIGON3 \ CONFIG_TIGON3_HWMON=n - DEPENDS:=+!TARGET_bcm47xx:kmod-libphy +kmod-ptp + DEPENDS:=@PCI_SUPPORT +!TARGET_bcm47xx:kmod-libphy +kmod-ptp SUBMENU:=$(NETWORK_DEVICES_MENU) FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/tg3.ko AUTOLOAD:=$(call AutoLoad,19,tg3,1) @@ -838,7 +1018,7 @@ $(eval $(call KernelPackage,tg3)) define KernelPackage/hfcpci TITLE:=HFC PCI cards (single port) support for mISDN KCONFIG:=CONFIG_MISDN_HFCPCI - DEPENDS:=+kmod-misdn + DEPENDS:=@PCI_SUPPORT +kmod-misdn SUBMENU:=$(NETWORK_DEVICES_MENU) FILES:=$(LINUX_DIR)/drivers/isdn/hardware/mISDN/hfcpci.ko AUTOLOAD:=$(call AutoLoad,31,hfcpci) @@ -855,7 +1035,7 @@ $(eval $(call KernelPackage,hfcpci)) define KernelPackage/hfcmulti TITLE:=HFC multiport cards (HFC-4S/8S/E1) support for mISDN KCONFIG:=CONFIG_MISDN_HFCMULTI - DEPENDS:=+kmod-misdn + DEPENDS:=@PCI_SUPPORT +kmod-misdn SUBMENU:=$(NETWORK_DEVICES_MENU) FILES:=$(LINUX_DIR)/drivers/isdn/hardware/mISDN/hfcmulti.ko AUTOLOAD:=$(call AutoLoad,31,hfcmulti) @@ -1019,15 +1199,30 @@ endef $(eval $(call KernelPackage,forcedeth)) +define KernelPackage/fixed-phy + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=MDIO Bus/PHY emulation with fixed speed/link PHYs + DEPENDS:=+kmod-libphy + KCONFIG:=CONFIG_FIXED_PHY + FILES:=$(LINUX_DIR)/drivers/net/phy/fixed_phy.ko + AUTOLOAD:=$(call AutoProbe,fixed_phy) +endef + +define KernelPackage/fixed-phy/description + Kernel driver for "fixed" MDIO Bus to cover the boards + and devices that use PHYs that are not connected to the real MDIO bus. +endef + +$(eval $(call KernelPackage,fixed-phy)) + define KernelPackage/of-mdio SUBMENU:=$(NETWORK_DEVICES_MENU) TITLE:=OpenFirmware MDIO support - DEPENDS:=+kmod-libphy @!TARGET_x86 + DEPENDS:=+kmod-libphy +kmod-fixed-phy @!TARGET_x86 KCONFIG:=CONFIG_OF_MDIO FILES:= \ - $(LINUX_DIR)/drivers/net/phy/fixed_phy.ko \ - $(LINUX_DIR)/drivers/of/of_mdio.ko@lt5.10 \ - $(LINUX_DIR)/drivers/net/mdio/of_mdio.ko@ge5.10 + $(LINUX_DIR)/drivers/net/mdio/of_mdio.ko \ + $(LINUX_DIR)/drivers/net/mdio/fwnode_mdio.ko AUTOLOAD:=$(call AutoLoad,41,of_mdio) endef @@ -1165,7 +1360,7 @@ $(eval $(call KernelPackage,mlx4-core)) define KernelPackage/mlx5-core SUBMENU:=$(NETWORK_DEVICES_MENU) TITLE:=Mellanox ConnectX(R) mlx5 core Network Driver - DEPENDS:=@PCI_SUPPORT +kmod-ptp + DEPENDS:=@PCI_SUPPORT +kmod-ptp +kmod-mlxfw FILES:=$(LINUX_DIR)/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko KCONFIG:= CONFIG_MLX5_CORE \ CONFIG_MLX5_CORE_EN=y \ @@ -1182,7 +1377,8 @@ define KernelPackage/mlx5-core CONFIG_MLX5_MPFS=y \ CONFIG_MLX5_SW_STEERING=n \ CONFIG_MLX5_TC_CT=n \ - CONFIG_MLX5_TLS=n + CONFIG_MLX5_TLS=n \ + CONFIG_MLX5_VFIO_PCI=n AUTOLOAD:=$(call AutoProbe,mlx5_core) endef @@ -1193,13 +1389,143 @@ endef $(eval $(call KernelPackage,mlx5-core)) +define KernelPackage/mlxfw + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Mellanox Technologies firmware flash module + FILES:=$(LINUX_DIR)/drivers/net/ethernet/mellanox/mlxfw/mlxfw.ko + KCONFIG:=CONFIG_MLXFW + AUTOLOAD:=$(call AutoProbe,mlxfw) +endef + +define KernelPackage/mlxfw/description + This driver supports Mellanox Technologies Firmware + flashing common logic. +endef + +$(eval $(call KernelPackage,mlxfw)) + + +define KernelPackage/mlxsw-core + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Mellanox Technologies Switch ASICs support + DEPENDS:=+kmod-mlxfw +kmod-hwmon-core + FILES:=$(LINUX_DIR)/drivers/net/ethernet/mellanox/mlxsw/mlxsw_core.ko + KCONFIG:= \ + CONFIG_MLXSW_CORE \ + CONFIG_MLXSW_CORE_HWMON=y \ + CONFIG_MLXSW_CORE_THERMAL=y + AUTOLOAD:=$(call AutoProbe,mlxsw_core) +endef + +define KernelPackage/mlxsw-core/description + This driver supports Mellanox Technologies Switch ASICs family. +endef + +$(eval $(call KernelPackage,mlxsw-core)) + + +define KernelPackage/mlxsw-i2c + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=I2C bus implementation for Mellanox Technologies Switch ASICs + DEPENDS:=+kmod-mlxsw-core +kmod-i2c-core + FILES:=$(LINUX_DIR)/drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c.ko + KCONFIG:=CONFIG_MLXSW_I2C + AUTOLOAD:=$(call AutoProbe,mlxsw_i2c) +endef + +define KernelPackage/mlxsw-i2c/description + This is I2C bus implementation for Mellanox Technologies Switch ASICs. +endef + +$(eval $(call KernelPackage,mlxsw-i2c)) + + +define KernelPackage/mlxsw-minimal + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Mellanox Technologies minimal I2C support + DEPENDS:=+kmod-mlxsw-core +kmod-mlxsw-i2c + FILES:=$(LINUX_DIR)/drivers/net/ethernet/mellanox/mlxsw/mlxsw_minimal.ko + KCONFIG:=CONFIG_MLXSW_MINIMAL + AUTOLOAD:=$(call AutoProbe,mlxsw_minimal) +endef + +define KernelPackage/mlxsw-minimal/description + This driver supports I2C access for Mellanox Technologies Switch + ASICs. +endef + +$(eval $(call KernelPackage,mlxsw-minimal)) + + +define KernelPackage/mlxsw-pci + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=PCI bus implementation for Mellanox Technologies Switch ASICs + DEPENDS:=@PCI_SUPPORT +kmod-mlxsw-core + FILES:=$(LINUX_DIR)/drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci.ko + KCONFIG:=CONFIG_MLXSW_PCI + AUTOLOAD:=$(call AutoProbe,mlxsw_pci) +endef + +define KernelPackage/mlxsw-pci/description + This is PCI bus implementation for Mellanox Technologies Switch ASICs. +endef + +$(eval $(call KernelPackage,mlxsw-pci)) + + +define KernelPackage/mlxsw-spectrum + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Mellanox Technologies Spectrum family support + DEPENDS:= \ + +kmod-mlxsw-core +kmod-mlxsw-pci +kmod-lib-objagg +kmod-lib-parman \ + +kmod-ip6-tunnel +kmod-ptp +kmod-sched-act-sample +kmod-vxlan + FILES:=$(LINUX_DIR)/drivers/net/ethernet/mellanox/mlxsw/mlxsw_spectrum.ko + KCONFIG:= \ + CONFIG_MLXSW_SPECTRUM \ + CONFIG_NET_SWITCHDEV=y \ + CONFIG_MLXSW_SPECTRUM_DCB=y \ + CONFIG_DCB=y \ + CONFIG_AMD_XGBE_DCB=n \ + CONFIG_IXGBE_DCB=n \ + CONFIG_I40E_DCB=n \ + CONFIG_QLCNIC_DCB=n \ + CONFIG_FSL_DPAA2_ETH_DCB=n \ + CONFIG_FSL_DPAA2_SWITCH=n + AUTOLOAD:=$(call AutoProbe,mlxsw_spectrum) +endef + +define KernelPackage/mlxsw-spectrum/description + This driver supports Mellanox Technologies + Spectrum/Spectrum-2/Spectrum-3/Spectrum-4 Ethernet Switch ASICs. +endef + +$(eval $(call KernelPackage,mlxsw-spectrum)) + + +define KernelPackage/net-selftests + SUBMENU:=$(NETWORK_DEVICES_MENU) + DEPENDS:=+kmod-libphy + TITLE:=Network generic selftest support + KCONFIG:=CONFIG_NET_SELFTESTS + FILES:=$(LINUX_DIR)/net/core/selftests.ko + AUTOLOAD:=$(call AutoLoad,99,selftests) +endef + +define KernelPackage/net-selftests/description + Kernel modules for the generic selftest support +endef + +$(eval $(call KernelPackage,net-selftests)) + + define KernelPackage/qlcnic SUBMENU:=$(NETWORK_DEVICES_MENU) DEPENDS:=@PCI_SUPPORT +kmod-hwmon-core TITLE:=QLogic QLE8240 and QLE8242 device support KCONFIG:= \ CONFIG_QLCNIC \ - CONFIG_QLCNIC_HWMON=y + CONFIG_QLCNIC_HWMON=y \ + CONFIG_QLCNIC_SRIOV=y FILES:=$(LINUX_DIR)/drivers/net/ethernet/qlogic/qlcnic/qlcnic.ko AUTOLOAD:=$(call AutoProbe,qlcnic) endef @@ -1221,8 +1547,7 @@ define KernelPackage/sfp CONFIG_MDIO_I2C FILES:= \ $(LINUX_DIR)/drivers/net/phy/sfp.ko \ - $(LINUX_DIR)/drivers/net/phy/mdio-i2c.ko@lt5.10 \ - $(LINUX_DIR)/drivers/net/mdio/mdio-i2c.ko@ge5.10 + $(LINUX_DIR)/drivers/net/mdio/mdio-i2c.ko AUTOLOAD:=$(call AutoProbe,mdio-i2c sfp) endef @@ -1232,6 +1557,37 @@ endef $(eval $(call KernelPackage,sfp)) + +define KernelPackage/pcs-xpcs + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Synopsis DesignWare PCS driver + DEPENDS:=@(TARGET_x86_64||TARGET_armsr_armv8) +kmod-phylink + KCONFIG:=CONFIG_PCS_XPCS + FILES:=$(LINUX_DIR)/drivers/net/pcs/pcs_xpcs.ko + AUTOLOAD:=$(call AutoLoad,20,pcs_xpcs) +endef + +$(eval $(call KernelPackage,pcs-xpcs)) + + +define KernelPackage/stmmac-core + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Synopsis Ethernet Controller core (NXP,STMMicro,others) + DEPENDS:=@TARGET_x86_64||TARGET_armsr_armv8 +kmod-pcs-xpcs +kmod-ptp + KCONFIG:=CONFIG_STMMAC_ETH \ + CONFIG_STMMAC_SELFTESTS=n \ + CONFIG_STMMAC_PLATFORM \ + CONFIG_CONFIG_DWMAC_DWC_QOS_ETH=n \ + CONFIG_DWMAC_GENERIC + FILES=$(LINUX_DIR)/drivers/net/ethernet/stmicro/stmmac/stmmac.ko \ + $(LINUX_DIR)/drivers/net/ethernet/stmicro/stmmac/stmmac-platform.ko \ + $(LINUX_DIR)/drivers/net/ethernet/stmicro/stmmac/dwmac-generic.ko + AUTOLOAD=$(call AutoLoad,40,stmmac stmmac-platform dwmac-generic) +endef + +$(eval $(call KernelPackage,stmmac-core)) + + define KernelPackage/igc SUBMENU:=$(NETWORK_DEVICES_MENU) TITLE:=Intel(R) Ethernet Controller I225 Series support @@ -1284,3 +1640,115 @@ define KernelPackage/sfc-falcon/description endef $(eval $(call KernelPackage,sfc-falcon)) + + +define KernelPackage/wwan + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=WWAN Driver Core + KCONFIG:= \ + CONFIG_WWAN \ + CONFIG_WWAN_DEBUGFS=y@ge5.17 + FILES:=$(LINUX_DIR)/drivers/net/wwan/wwan.ko + AUTOLOAD:=$(call AutoProbe,wwan) +endef + +define KernelPackage/wwan/description + This driver provides a common framework for WWAN drivers. +endef + +$(eval $(call KernelPackage,wwan)) + + +define KernelPackage/mhi-net + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=MHI Network Device + DEPENDS:=@PCI_SUPPORT +kmod-mhi-bus + KCONFIG:=CONFIG_MHI_NET + FILES:=$(LINUX_DIR)/drivers/net/mhi_net.ko + AUTOLOAD:=$(call AutoProbe,mhi_net) +endef + +define KernelPackage/mhi-net/description + Driver for MHI network interface +endef + +$(eval $(call KernelPackage,mhi-net)) + +define KernelPackage/mhi-wwan-ctrl + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=MHI WWAN Control + DEPENDS:=@PCI_SUPPORT +kmod-mhi-bus +kmod-wwan + KCONFIG:=CONFIG_MHI_WWAN_CTRL + FILES:=$(LINUX_DIR)/drivers/net/wwan/mhi_wwan_ctrl.ko + AUTOLOAD:=$(call AutoProbe,mhi_wwan_ctrl) +endef + +define KernelPackage/mhi-wwan-ctrl/description + Driver for MHI WWAN Control + This exposes all modem control ports like AT, MBIM, QMI, DIAG, .. +endef + +$(eval $(call KernelPackage,mhi-wwan-ctrl)) + +define KernelPackage/mhi-wwan-mbim + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=MHI MBIM + DEPENDS:=@PCI_SUPPORT +kmod-mhi-bus +kmod-wwan + KCONFIG:=CONFIG_MHI_WWAN_MBIM + FILES:=$(LINUX_DIR)/drivers/net/wwan/mhi_wwan_mbim.ko + AUTOLOAD:=$(call AutoProbe,mhi_wwan_mbim) +endef + +define KernelPackage/mhi-wwan-mbim/description + Driver for MHI MBIM + This implements MBIM over MHI +endef + +$(eval $(call KernelPackage,mhi-wwan-mbim)) + +define KernelPackage/atlantic + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Aquantia AQtion 10Gbps Ethernet NIC + DEPENDS:=@PCI_SUPPORT +kmod-ptp +kmod-hwmon-core +kmod-macsec + KCONFIG:=CONFIG_AQTION + FILES:=$(LINUX_DIR)/drivers/net/ethernet/aquantia/atlantic/atlantic.ko + AUTOLOAD:=$(call AutoProbe,atlantic) +endef + +define KernelPackage/atlantic/description + Kernel modules for Aquantia AQtion 10Gbps Ethernet NIC +endef + +$(eval $(call KernelPackage,atlantic)) + + +define KernelPackage/lan743x + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Microchip LAN743x PCI Express Gigabit Ethernet NIC + DEPENDS:=@PCI_SUPPORT +kmod-ptp +kmod-mdio-devres + KCONFIG:=CONFIG_LAN743X + FILES:=$(LINUX_DIR)/drivers/net/ethernet/microchip/lan743x.ko + AUTOLOAD:=$(call AutoProbe,lan743x) +endef + +define KernelPackage/lan743x/description + Kernel module for Microchip LAN743x PCI Express Gigabit Ethernet NIC +endef + +$(eval $(call KernelPackage,lan743x)) + +define KernelPackage/amazon-ena + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Elastic Network Adapter (for Amazon AWS) + DEPENDS:=@TARGET_x86_64||TARGET_armsr_armv8 + KCONFIG:=CONFIG_ENA_ETHERNET + FILES:=$(LINUX_DIR)/drivers/net/ethernet/amazon/ena/ena.ko + AUTOLOAD:=$(call AutoLoad,12,ena) +endef + +define KernelPackage/amazon-ena/description + This driver supports Elastic Network Adapter (ENA) + used by Amazon AWS T3 (2018) and later instances. +endef + +$(eval $(call KernelPackage,amazon-ena)) diff --git a/package/kernel/linux/modules/netfilter.mk b/package/kernel/linux/modules/netfilter.mk index e2bb1d0681a..da3e69e49ac 100644 --- a/package/kernel/linux/modules/netfilter.mk +++ b/package/kernel/linux/modules/netfilter.mk @@ -1,6 +1,6 @@ # -# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2006-2023 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -39,6 +39,17 @@ endef $(eval $(call KernelPackage,nf-reject6)) +define KernelPackage/nf-conncount + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter conncount support + KCONFIG:=$(KCONFIG_NF_CONNCOUNT) + HIDDEN:=1 + DEPENDS:=+kmod-nf-conntrack + FILES:=$(foreach mod,$(NF_CONNCOUNT-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_CONNCOUNT-m))) +endef + +$(eval $(call KernelPackage,nf-conncount)) define KernelPackage/nf-ipt SUBMENU:=$(NF_MENU) @@ -57,7 +68,7 @@ define KernelPackage/nf-ipt6 KCONFIG:=$(KCONFIG_NF_IPT6) FILES:=$(foreach mod,$(NF_IPT6-m),$(LINUX_DIR)/net/$(mod).ko) AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_IPT6-m))) - DEPENDS:=+kmod-nf-ipt + DEPENDS:=+kmod-nf-ipt +kmod-nf-log6 endef $(eval $(call KernelPackage,nf-ipt6)) @@ -70,7 +81,7 @@ define KernelPackage/ipt-core KCONFIG:=$(KCONFIG_IPT_CORE) FILES:=$(foreach mod,$(IPT_CORE-m),$(LINUX_DIR)/net/$(mod).ko) AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CORE-m))) - DEPENDS:=+kmod-nf-reject +kmod-nf-ipt + DEPENDS:=+kmod-nf-reject +kmod-nf-ipt +kmod-nf-log endef define KernelPackage/ipt-core/description @@ -121,6 +132,29 @@ endef $(eval $(call KernelPackage,nf-conntrack6)) +define KernelPackage/nf-log + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter Logging + KCONFIG:=$(KCONFIG_NF_LOG) + FILES:=$(foreach mod,$(NF_LOG-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_LOG-m))) +endef + +$(eval $(call KernelPackage,nf-log)) + + +define KernelPackage/nf-log6 + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter IPV6 Logging + KCONFIG:=$(KCONFIG_NF_LOG6) + DEPENDS:=@IPV6 +kmod-nf-log + FILES:=$(foreach mod,$(NF_LOG6-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_LOG6-m))) +endef + +$(eval $(call KernelPackage,nf-log6)) + + define KernelPackage/nf-nat SUBMENU:=$(NF_MENU) TITLE:=Netfilter NAT @@ -153,15 +187,35 @@ define KernelPackage/nf-flow CONFIG_NF_FLOW_TABLE \ CONFIG_NF_FLOW_TABLE_HW DEPENDS:=+kmod-nf-conntrack - FILES:= \ - $(LINUX_DIR)/net/netfilter/nf_flow_table.ko \ - $(if $(CONFIG_LINUX_5_4),$(LINUX_DIR)/net/netfilter/nf_flow_table_hw.ko) + FILES:= $(LINUX_DIR)/net/netfilter/nf_flow_table.ko AUTOLOAD:=$(call AutoProbe,nf_flow_table nf_flow_table_hw) endef $(eval $(call KernelPackage,nf-flow)) +define KernelPackage/nf-socket + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter socket lookup support + KCONFIG:= $(KCONFIG_NF_SOCKET) + FILES:=$(foreach mod,$(NF_SOCKET-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_SOCKET-m))) +endef + +$(eval $(call KernelPackage,nf-socket)) + + +define KernelPackage/nf-tproxy + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter tproxy support + KCONFIG:= $(KCONFIG_NF_TPROXY) + FILES:=$(foreach mod,$(NF_TPROXY-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_TPROXY-m))) +endef + +$(eval $(call KernelPackage,nf-tproxy)) + + define AddDepends/ipt SUBMENU:=$(NF_MENU) DEPENDS+= +kmod-ipt-core $(1) @@ -191,6 +245,7 @@ $(eval $(call KernelPackage,ipt-conntrack)) define KernelPackage/ipt-conntrack-extra TITLE:=Extra connection tracking modules + DEPENDS:=+kmod-nf-conncount KCONFIG:=$(KCONFIG_IPT_CONNTRACK_EXTRA) FILES:=$(foreach mod,$(IPT_CONNTRACK_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko) AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CONNTRACK_EXTRA-m))) @@ -305,6 +360,7 @@ IPSET_MODULES:= \ ipset/ip_set_bitmap_ipmac \ ipset/ip_set_bitmap_port \ ipset/ip_set_hash_ip \ + ipset/ip_set_hash_ipmac \ ipset/ip_set_hash_ipmark \ ipset/ip_set_hash_ipport \ ipset/ip_set_hash_ipportip \ @@ -542,7 +598,7 @@ define KernelPackage/nf-nathelper-extra KCONFIG:=$(KCONFIG_NF_NATHELPER_EXTRA) FILES:=$(foreach mod,$(NF_NATHELPER_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko) AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_NATHELPER_EXTRA-m))) - DEPENDS:=+kmod-nf-nat +kmod-lib-textsearch +kmod-ipt-raw +kmod-asn1-decoder + DEPENDS:=+kmod-nf-nat +kmod-lib-textsearch +kmod-asn1-decoder endef define KernelPackage/nf-nathelper-extra/description @@ -563,23 +619,6 @@ endef $(eval $(call KernelPackage,nf-nathelper-extra)) -define KernelPackage/ipt-ulog - TITLE:=Module for user-space packet logging - KCONFIG:=$(KCONFIG_IPT_ULOG) - FILES:=$(foreach mod,$(IPT_ULOG-m),$(LINUX_DIR)/net/$(mod).ko) - AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_ULOG-m))) - $(call AddDepends/ipt) -endef - -define KernelPackage/ipt-ulog/description - Netfilter (IPv4) module for user-space packet logging - Includes: - - ULOG -endef - -$(eval $(call KernelPackage,ipt-ulog)) - - define KernelPackage/ipt-nflog TITLE:=Module for user-space packet logging KCONFIG:=$(KCONFIG_IPT_NFLOG) @@ -645,9 +684,24 @@ endef $(eval $(call KernelPackage,ipt-led)) +define KernelPackage/ipt-socket + TITLE:=Iptables socket matching support + DEPENDS+=+kmod-nf-socket +kmod-nf-conntrack + KCONFIG:=$(KCONFIG_IPT_SOCKET) + FILES:=$(foreach mod,$(IPT_SOCKET-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_SOCKET-m))) + $(call AddDepends/ipt) +endef + +define KernelPackage/ipt-socket/description + Kernel modules for socket matching +endef + +$(eval $(call KernelPackage,ipt-socket)) + define KernelPackage/ipt-tproxy TITLE:=Transparent proxying support - DEPENDS+=+kmod-ipt-conntrack +IPV6:kmod-nf-conntrack6 +IPV6:kmod-ip6tables + DEPENDS+=+kmod-nf-tproxy +kmod-nf-conntrack KCONFIG:=$(KCONFIG_IPT_TPROXY) FILES:=$(foreach mod,$(IPT_TPROXY-m),$(LINUX_DIR)/net/$(mod).ko) AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_TPROXY-m))) @@ -1004,7 +1058,7 @@ define KernelPackage/nf-conntrack-netlink FILES:=$(LINUX_DIR)/net/netfilter/nf_conntrack_netlink.ko KCONFIG:=CONFIG_NF_CT_NETLINK CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NETFILTER_NETLINK_GLUE_CT=y AUTOLOAD:=$(call AutoProbe,nf_conntrack_netlink) - $(call AddDepends/nfnetlink,+kmod-ipt-conntrack) + $(call AddDepends/nfnetlink,+kmod-nf-conntrack) endef define KernelPackage/nf-conntrack-netlink/description @@ -1052,7 +1106,7 @@ $(eval $(call KernelPackage,ipt-rpfilter)) define KernelPackage/nft-core SUBMENU:=$(NF_MENU) TITLE:=Netfilter nf_tables support - DEPENDS:=+kmod-nfnetlink +kmod-nf-reject +IPV6:kmod-nf-reject6 +IPV6:kmod-nf-conntrack6 +kmod-nf-nat +kmod-lib-crc32c + DEPENDS:=+kmod-nfnetlink +kmod-nf-reject +IPV6:kmod-nf-reject6 +IPV6:kmod-nf-conntrack6 +kmod-nf-nat +kmod-nf-log +IPV6:kmod-nf-log6 +kmod-lib-crc32c FILES:=$(foreach mod,$(NFT_CORE-m),$(LINUX_DIR)/net/$(mod).ko) AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_CORE-m))) KCONFIG:= \ @@ -1087,13 +1141,32 @@ define KernelPackage/nft-bridge FILES:=$(foreach mod,$(NFT_BRIDGE-m),$(LINUX_DIR)/net/$(mod).ko) AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_BRIDGE-m))) KCONFIG:= \ - CONFIG_NF_LOG_BRIDGE=n \ $(KCONFIG_NFT_BRIDGE) endef $(eval $(call KernelPackage,nft-bridge)) +define KernelPackage/nft-dup-inet + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter nf_tables dup in ip/ip6/inet family support + DEPENDS:=+kmod-nft-core +kmod-nf-conntrack +IPV6:kmod-nf-conntrack6 + KCONFIG:= \ + CONFIG_NF_DUP_IPV4 \ + CONFIG_NF_DUP_IPV6 \ + CONFIG_NFT_DUP_IPV4 \ + CONFIG_NFT_DUP_IPV6 + FILES:= \ + $(LINUX_DIR)/net/ipv4/netfilter/nf_dup_ipv4.ko \ + $(LINUX_DIR)/net/ipv6/netfilter/nf_dup_ipv6.ko \ + $(LINUX_DIR)/net/ipv4/netfilter/nft_dup_ipv4.ko \ + $(LINUX_DIR)/net/ipv6/netfilter/nft_dup_ipv6.ko + AUTOLOAD:=$(call AutoProbe,nf_dup_ipv4 nf_dup_ipv6 nft_dup_ipv4 nft_dup_ipv6) +endef + +$(eval $(call KernelPackage,nft-dup-inet)) + + define KernelPackage/nft-nat SUBMENU:=$(NF_MENU) TITLE:=Netfilter nf_tables NAT support @@ -1112,31 +1185,20 @@ define KernelPackage/nft-offload DEPENDS:=@IPV6 +kmod-nf-flow +kmod-nft-nat KCONFIG:= \ CONFIG_NF_FLOW_TABLE_INET \ - CONFIG_NF_FLOW_TABLE_IPV4 \ - CONFIG_NF_FLOW_TABLE_IPV6 \ + CONFIG_NF_FLOW_TABLE_IPV4@lt5.17 \ + CONFIG_NF_FLOW_TABLE_IPV6@lt5.17 \ CONFIG_NFT_FLOW_OFFLOAD FILES:= \ $(LINUX_DIR)/net/netfilter/nf_flow_table_inet.ko \ - $(LINUX_DIR)/net/ipv4/netfilter/nf_flow_table_ipv4.ko \ - $(LINUX_DIR)/net/ipv6/netfilter/nf_flow_table_ipv6.ko \ + $(LINUX_DIR)/net/ipv4/netfilter/nf_flow_table_ipv4.ko@lt5.17 \ + $(LINUX_DIR)/net/ipv6/netfilter/nf_flow_table_ipv6.ko@lt5.17 \ $(LINUX_DIR)/net/netfilter/nft_flow_offload.ko - AUTOLOAD:=$(call AutoProbe,nf_flow_table_inet nf_flow_table_ipv4 nf_flow_table_ipv6 nft_flow_offload) + AUTOLOAD:=$(call AutoProbe,nf_flow_table_inet nf_flow_table_ipv4@lt5.17 nf_flow_table_ipv6@lt5.17 nft_flow_offload) endef $(eval $(call KernelPackage,nft-offload)) -define KernelPackage/nft-nat6 - SUBMENU:=$(NF_MENU) - TITLE:=Netfilter nf_tables IPv6-NAT support - DEPENDS:=+kmod-nft-nat +kmod-nf-nat6 - FILES:=$(foreach mod,$(NFT_NAT6-m),$(LINUX_DIR)/net/$(mod).ko) - AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_NAT6-m))) - KCONFIG:=$(KCONFIG_NFT_NAT6) -endef - -$(eval $(call KernelPackage,nft-nat6)) - define KernelPackage/nft-netdev SUBMENU:=$(NF_MENU) TITLE:=Netfilter nf_tables netdev support @@ -1179,3 +1241,58 @@ define KernelPackage/nft-queue endef $(eval $(call KernelPackage,nft-queue)) + +define KernelPackage/nft-socket + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter nf_tables socket support + DEPENDS:=+kmod-nft-core +kmod-nf-socket + FILES:=$(foreach mod,$(NFT_SOCKET-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_SOCKET-m))) + KCONFIG:=$(KCONFIG_NFT_SOCKET) +endef + +$(eval $(call KernelPackage,nft-socket)) + +define KernelPackage/nft-tproxy + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter nf_tables tproxy support + DEPENDS:=+kmod-nft-core +kmod-nf-tproxy +kmod-nf-conntrack + FILES:=$(foreach mod,$(NFT_TPROXY-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_TPROXY-m))) + KCONFIG:=$(KCONFIG_NFT_TPROXY) +endef + +$(eval $(call KernelPackage,nft-tproxy)) + +define KernelPackage/nft-compat + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter nf_tables compat support + DEPENDS:=+kmod-nft-core +kmod-nf-ipt + FILES:=$(foreach mod,$(NFT_COMPAT-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_COMPAT-m))) + KCONFIG:=$(KCONFIG_NFT_COMPAT) +endef + +$(eval $(call KernelPackage,nft-compat)) + +define KernelPackage/nft-xfrm + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter nf_tables xfrm support (ipsec) + DEPENDS:=+kmod-nft-core + FILES:=$(foreach mod,$(NFT_XFRM-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_XFRM-m))) + KCONFIG:=$(KCONFIG_NFT_XFRM) +endef + +$(eval $(call KernelPackage,nft-xfrm)) + +define KernelPackage/nft-connlimit + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter nf_tables connlimit support + DEPENDS:=+kmod-nft-core +kmod-nf-conncount + FILES:=$(foreach mod,$(NFT_CONNLIMIT-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_CONNLIMIT-m))) + KCONFIG:=$(KCONFIG_NFT_CONNLIMIT) +endef + +$(eval $(call KernelPackage,nft-connlimit)) diff --git a/package/kernel/linux/modules/netsupport.mk b/package/kernel/linux/modules/netsupport.mk index 1eec9f9b639..fcf327b434e 100644 --- a/package/kernel/linux/modules/netsupport.mk +++ b/package/kernel/linux/modules/netsupport.mk @@ -46,8 +46,10 @@ define KernelPackage/bonding SUBMENU:=$(NETWORK_SUPPORT_MENU) TITLE:=Ethernet bonding driver KCONFIG:=CONFIG_BONDING + DEPENDS:=PACKAGE_kmod-tls:kmod-tls FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.ko AUTOLOAD:=$(call AutoLoad,40,bonding) + MODPARAMS.bonding:=max_bonds=0 endef define KernelPackage/bonding/description @@ -90,7 +92,8 @@ define KernelPackage/vxlan +kmod-udptunnel4 \ +IPV6:kmod-udptunnel6 KCONFIG:=CONFIG_VXLAN - FILES:=$(LINUX_DIR)/drivers/net/vxlan.ko + FILES:= \ + $(LINUX_DIR)/drivers/net/vxlan/vxlan.ko AUTOLOAD:=$(call AutoLoad,13,vxlan) endef @@ -162,38 +165,6 @@ endef $(eval $(call KernelPackage,misdn)) -define KernelPackage/isdn4linux - SUBMENU:=$(NETWORK_SUPPORT_MENU) - TITLE:=Old ISDN4Linux (deprecated) - DEPENDS:=+kmod-ppp - KCONFIG:= \ - CONFIG_ISDN=y \ - CONFIG_ISDN_I4L \ - CONFIG_ISDN_PPP=y \ - CONFIG_ISDN_PPP_VJ=y \ - CONFIG_ISDN_MPP=y \ - CONFIG_IPPP_FILTER=y \ - CONFIG_ISDN_PPP_BSDCOMP \ - CONFIG_ISDN_CAPI_MIDDLEWARE=y \ - CONFIG_ISDN_CAPI_CAPIFS_BOOL=y \ - CONFIG_ISDN_AUDIO=y \ - CONFIG_ISDN_TTY_FAX=y \ - CONFIG_ISDN_X25=y \ - CONFIG_ISDN_DIVERSION - FILES:= \ - $(LINUX_DIR)/drivers/isdn/divert/dss1_divert.ko \ - $(LINUX_DIR)/drivers/isdn/i4l/isdn.ko \ - $(LINUX_DIR)/drivers/isdn/i4l/isdn_bsdcomp.ko - AUTOLOAD:=$(call AutoLoad,40,isdn isdn_bsdcomp dss1_divert) -endef - -define KernelPackage/isdn4linux/description - This driver allows you to use an ISDN adapter for networking -endef - -$(eval $(call KernelPackage,isdn4linux)) - - define KernelPackage/ipip SUBMENU:=$(NETWORK_SUPPORT_MENU) TITLE:=IP-in-IP encapsulation @@ -246,10 +217,8 @@ $(eval $(call KernelPackage,ipsec)) IPSEC4-m = \ ipv4/ah4 \ ipv4/esp4 \ - ipv4/xfrm4_tunnel \ ipv4/ipcomp \ - -IPSEC4-m += $(ifeq ($$(strip $$(call CompareKernelPatchVer,$$(KERNEL_PATCHVER),le,5.2))),ipv4/xfrm4_mode_beet ipv4/xfrm4_mode_transport ipv4/xfrm4_mode_tunnel) + ipv4/xfrm4_tunnel define KernelPackage/ipsec4 SUBMENU:=$(NETWORK_SUPPORT_MENU) @@ -259,9 +228,6 @@ define KernelPackage/ipsec4 CONFIG_INET_AH \ CONFIG_INET_ESP \ CONFIG_INET_IPCOMP \ - CONFIG_INET_XFRM_MODE_BEET \ - CONFIG_INET_XFRM_MODE_TRANSPORT \ - CONFIG_INET_XFRM_MODE_TUNNEL \ CONFIG_INET_XFRM_TUNNEL \ CONFIG_INET_ESP_OFFLOAD=n FILES:=$(foreach mod,$(IPSEC4-m),$(LINUX_DIR)/net/$(mod).ko) @@ -274,9 +240,6 @@ define KernelPackage/ipsec4/description - ah4 - esp4 - ipcomp4 - - xfrm4_mode_beet - - xfrm4_mode_transport - - xfrm4_mode_tunnel - xfrm4_tunnel endef @@ -286,10 +249,8 @@ $(eval $(call KernelPackage,ipsec4)) IPSEC6-m = \ ipv6/ah6 \ ipv6/esp6 \ - ipv6/xfrm6_tunnel \ ipv6/ipcomp6 \ - -IPSEC6-m += $(ifeq ($$(strip $$(call CompareKernelPatchVer,$$(KERNEL_PATCHVER),le,5.2))),ipv6/xfrm6_mode_beet ipv6/xfrm6_mode_transport ipv6/xfrm6_mode_tunnel) + ipv6/xfrm6_tunnel define KernelPackage/ipsec6 SUBMENU:=$(NETWORK_SUPPORT_MENU) @@ -299,9 +260,6 @@ define KernelPackage/ipsec6 CONFIG_INET6_AH \ CONFIG_INET6_ESP \ CONFIG_INET6_IPCOMP \ - CONFIG_INET6_XFRM_MODE_BEET \ - CONFIG_INET6_XFRM_MODE_TRANSPORT \ - CONFIG_INET6_XFRM_MODE_TUNNEL \ CONFIG_INET6_XFRM_TUNNEL \ CONFIG_INET6_ESP_OFFLOAD=n FILES:=$(foreach mod,$(IPSEC6-m),$(LINUX_DIR)/net/$(mod).ko) @@ -314,9 +272,6 @@ define KernelPackage/ipsec6/description - ah6 - esp6 - ipcomp6 - - xfrm6_mode_beet - - xfrm6_mode_transport - - xfrm6_mode_tunnel - xfrm6_tunnel endef @@ -375,7 +330,7 @@ $(eval $(call KernelPackage,ip6-vti)) define KernelPackage/xfrm-interface SUBMENU:=$(NETWORK_SUPPORT_MENU) TITLE:=IPsec XFRM Interface - DEPENDS:=+kmod-ipsec4 +IPV6:kmod-ipsec6 + DEPENDS:=@IPV6 +kmod-ipsec4 +kmod-ipsec6 KCONFIG:=CONFIG_XFRM_INTERFACE FILES:=$(LINUX_DIR)/net/xfrm/xfrm_interface.ko AUTOLOAD:=$(call AutoProbe,xfrm_interface) @@ -563,6 +518,23 @@ endef $(eval $(call KernelPackage,veth)) +define KernelPackage/vrf + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Virtual Routing and Forwarding (Lite) + DEPENDS:=@KERNEL_NET_L3_MASTER_DEV + KCONFIG:=CONFIG_NET_VRF + FILES:=$(LINUX_DIR)/drivers/net/vrf.ko + AUTOLOAD:=$(call AutoLoad,30,vrf) +endef + +define KernelPackage/vrf/description + This option enables the support for mapping interfaces into VRF's. The + support enables VRF devices. +endef + +$(eval $(call KernelPackage,vrf)) + + define KernelPackage/slhc SUBMENU:=$(NETWORK_SUPPORT_MENU) HIDDEN:=1 @@ -720,12 +692,8 @@ endef $(eval $(call KernelPackage,mppe)) -SCHED_MODULES = $(patsubst $(LINUX_DIR)/net/sched/%.ko,%,$(wildcard $(LINUX_DIR)/net/sched/*.ko)) -SCHED_MODULES_CORE = sch_ingress sch_fq_codel sch_hfsc sch_htb sch_tbf cls_basic cls_fw cls_route cls_flow cls_tcindex cls_u32 em_u32 act_gact act_mirred act_skbedit cls_matchall -SCHED_MODULES_FILTER = $(SCHED_MODULES_CORE) act_connmark act_ctinfo sch_cake sch_netem sch_mqprio em_ipset cls_bpf cls_flower act_bpf act_vlan -SCHED_MODULES_EXTRA = $(filter-out $(SCHED_MODULES_FILTER),$(SCHED_MODULES)) -SCHED_FILES = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(filter $(SCHED_MODULES_CORE),$(SCHED_MODULES))) -SCHED_FILES_EXTRA = $(patsubst %,$(LINUX_DIR)/net/sched/%.ko,$(SCHED_MODULES_EXTRA)) +SCHED_MODULES_CORE = sch_ingress sch_hfsc sch_htb sch_tbf cls_basic cls_fw cls_route cls_flow cls_u32 em_u32 act_gact act_mirred act_skbedit cls_matchall +SCHED_FILES_CORE = $(foreach mod,$(SCHED_MODULES_CORE),$(LINUX_DIR)/net/sched/$(mod).ko) define KernelPackage/sched-core SUBMENU:=$(NETWORK_SUPPORT_MENU) @@ -736,14 +704,12 @@ define KernelPackage/sched-core CONFIG_NET_SCH_HTB \ CONFIG_NET_SCH_TBF \ CONFIG_NET_SCH_INGRESS \ - CONFIG_NET_SCH_FQ_CODEL \ CONFIG_NET_CLS=y \ CONFIG_NET_CLS_ACT=y \ CONFIG_NET_CLS_BASIC \ CONFIG_NET_CLS_FLOW \ CONFIG_NET_CLS_FW \ CONFIG_NET_CLS_ROUTE4 \ - CONFIG_NET_CLS_TCINDEX \ CONFIG_NET_CLS_U32 \ CONFIG_NET_ACT_GACT \ CONFIG_NET_ACT_MIRRED \ @@ -751,7 +717,7 @@ define KernelPackage/sched-core CONFIG_NET_CLS_MATCHALL \ CONFIG_NET_EMATCH=y \ CONFIG_NET_EMATCH_U32 - FILES:=$(SCHED_FILES) + FILES:=$(SCHED_FILES_CORE) AUTOLOAD:=$(call AutoLoad,70, $(SCHED_MODULES_CORE)) endef @@ -762,35 +728,52 @@ endef $(eval $(call KernelPackage,sched-core)) -define KernelPackage/sched-cake +define KernelPackage/sched-act-police SUBMENU:=$(NETWORK_SUPPORT_MENU) - TITLE:=Cake fq_codel/blue derived shaper + TITLE:=Traffic Policing DEPENDS:=+kmod-sched-core - KCONFIG:=CONFIG_NET_SCH_CAKE - FILES:=$(LINUX_DIR)/net/sched/sch_cake.ko - AUTOLOAD:=$(call AutoProbe,sch_cake) + KCONFIG:=CONFIG_NET_ACT_POLICE + FILES:=$(LINUX_DIR)/net/sched/act_police.ko + AUTOLOAD:=$(call AutoProbe,act_police) endef -define KernelPackage/sched-cake/description - Common Applications Kept Enhanced fq_codel/blue derived shaper -endef +$(eval $(call KernelPackage,sched-act-police)) -$(eval $(call KernelPackage,sched-cake)) -define KernelPackage/sched-flower +define KernelPackage/sched-act-sample SUBMENU:=$(NETWORK_SUPPORT_MENU) - TITLE:=Flower traffic classifier + TITLE:=Traffic Sampling DEPENDS:=+kmod-sched-core - KCONFIG:=CONFIG_NET_CLS_FLOWER - FILES:=$(LINUX_DIR)/net/sched/cls_flower.ko - AUTOLOAD:=$(call AutoProbe, cls_flower) + KCONFIG:= \ + CONFIG_NET_ACT_SAMPLE \ + CONFIG_PSAMPLE + FILES:= \ + $(LINUX_DIR)/net/psample/psample.ko \ + $(LINUX_DIR)/net/sched/act_sample.ko + AUTOLOAD:=$(call AutoProbe,act_sample psample) endef -define KernelPackage/sched-flower/description - Allows to classify packets based on a configurable combination of packet keys and masks. +define KernelPackage/sched-act-sample/description + Packet sampling tc action. endef -$(eval $(call KernelPackage,sched-flower)) +$(eval $(call KernelPackage,sched-act-sample)) + + +define KernelPackage/sched-act-ipt + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=IPtables targets + DEPENDS:=+kmod-ipt-core +kmod-sched-core + KCONFIG:=CONFIG_NET_ACT_IPT + FILES:=$(LINUX_DIR)/net/sched/act_ipt.ko + AUTOLOAD:=$(call AutoProbe, act_ipt) +endef + +define KernelPackage/sched-act-ipt/description + Allows to invoke iptables targets after successful classification. +endef + +$(eval $(call KernelPackage,sched-act-ipt)) define KernelPackage/sched-act-vlan @@ -809,20 +792,36 @@ endef $(eval $(call KernelPackage,sched-act-vlan)) -define KernelPackage/sched-mqprio +define KernelPackage/sched-bpf SUBMENU:=$(NETWORK_SUPPORT_MENU) - TITLE:=Multi-queue priority scheduler (MQPRIO) + TITLE:=Traffic shaper support for Berkeley Packet Filter + KCONFIG:= \ + CONFIG_NET_CLS_BPF \ + CONFIG_NET_ACT_BPF + FILES:= \ + $(LINUX_DIR)/net/sched/cls_bpf.ko \ + $(LINUX_DIR)/net/sched/act_bpf.ko + AUTOLOAD:=$(call AutoLoad,72,cls_bpf act_bpf) +endef + +$(eval $(call KernelPackage,sched-bpf)) + + +define KernelPackage/sched-cake + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Cake fq_codel/blue derived shaper DEPENDS:=+kmod-sched-core - KCONFIG:=CONFIG_NET_SCH_MQPRIO - FILES:=$(LINUX_DIR)/net/sched/sch_mqprio.ko - AUTOLOAD:=$(call AutoProbe, sch_mqprio) + KCONFIG:=CONFIG_NET_SCH_CAKE + FILES:=$(LINUX_DIR)/net/sched/sch_cake.ko + AUTOLOAD:=$(call AutoProbe,sch_cake) endef -define KernelPackage/sched-mqprio/description - This scheduler allows QOS to be offloaded on NICs that have support for offloading QOS schedulers. +define KernelPackage/sched-cake/description + Common Applications Kept Enhanced fq_codel/blue derived shaper endef -$(eval $(call KernelPackage,sched-mqprio)) +$(eval $(call KernelPackage,sched-cake)) + define KernelPackage/sched-connmark SUBMENU:=$(NETWORK_SUPPORT_MENU) @@ -834,6 +833,7 @@ define KernelPackage/sched-connmark endef $(eval $(call KernelPackage,sched-connmark)) + define KernelPackage/sched-ctinfo SUBMENU:=$(NETWORK_SUPPORT_MENU) TITLE:=Traffic shaper ctinfo support @@ -844,6 +844,55 @@ define KernelPackage/sched-ctinfo endef $(eval $(call KernelPackage,sched-ctinfo)) + +define KernelPackage/sched-drr + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Deficit Round Robin scheduler (DRR) + DEPENDS:=+kmod-sched-core + KCONFIG:=CONFIG_NET_SCH_DRR + FILES:=$(LINUX_DIR)/net/sched/sch_drr.ko + AUTOLOAD:=$(call AutoProbe,sch_drr) +endef + +define KernelPackage/sched-drr/description + DRR algorithm Configuration +endef + +$(eval $(call KernelPackage,sched-drr)) + + +define KernelPackage/sched-flower + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Flower traffic classifier + DEPENDS:=+kmod-sched-core + KCONFIG:=CONFIG_NET_CLS_FLOWER + FILES:=$(LINUX_DIR)/net/sched/cls_flower.ko + AUTOLOAD:=$(call AutoProbe, cls_flower) +endef + +define KernelPackage/sched-flower/description + Allows to classify packets based on a configurable combination of packet keys and masks. +endef + +$(eval $(call KernelPackage,sched-flower)) + + +define KernelPackage/sched-fq-pie + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Flow Queue Proportional Integral Enhanced (FQ-PIE) + DEPENDS:=+kmod-sched-core +kmod-sched-pie + KCONFIG:=CONFIG_NET_SCH_FQ_PIE + FILES:=$(LINUX_DIR)/net/sched/sch_fq_pie.ko + AUTOLOAD:=$(call AutoProbe, sch_fq_pie) +endef + +define KernelPackage/sched-fq-pie/description + A queuing discipline that combines Flow Queuing with the PIE AQM. +endef + +$(eval $(call KernelPackage,sched-fq-pie)) + + define KernelPackage/sched-ipset SUBMENU:=$(NETWORK_SUPPORT_MENU) TITLE:=Traffic shaper ipset support @@ -858,19 +907,80 @@ endef $(eval $(call KernelPackage,sched-ipset)) -define KernelPackage/sched-bpf +define KernelPackage/sched-mqprio SUBMENU:=$(NETWORK_SUPPORT_MENU) - TITLE:=Traffic shaper support for Berkeley Packet Filter - KCONFIG:= \ - CONFIG_NET_CLS_BPF \ - CONFIG_NET_ACT_BPF - FILES:= \ - $(LINUX_DIR)/net/sched/cls_bpf.ko \ - $(LINUX_DIR)/net/sched/act_bpf.ko - AUTOLOAD:=$(call AutoLoad,72,cls_bpf act_bpf) + TITLE:=Multi-queue priority scheduler (MQPRIO) + DEPENDS:=+kmod-sched-core + KCONFIG:=CONFIG_NET_SCH_MQPRIO + FILES:=$(LINUX_DIR)/net/sched/sch_mqprio.ko + AUTOLOAD:=$(call AutoProbe, sch_mqprio) endef -$(eval $(call KernelPackage,sched-bpf)) +define KernelPackage/sched-mqprio/description + This scheduler allows QOS to be offloaded on NICs that have support for offloading QOS schedulers. +endef + +$(eval $(call KernelPackage,sched-mqprio)) + + +define KernelPackage/sched-pie + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Proportional Integral controller-Enhanced AQM (PIE) + DEPENDS:=+kmod-sched-core + KCONFIG:=CONFIG_NET_SCH_PIE + FILES:=$(LINUX_DIR)/net/sched/sch_pie.ko + AUTOLOAD:=$(call AutoProbe, sch_pie) +endef + +define KernelPackage/sched-pie/description + A control theoretic active queue management scheme. +endef + +$(eval $(call KernelPackage,sched-pie)) + + +define KernelPackage/sched-prio + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Multi Band Priority Queueing (PRIO) + DEPENDS:=+kmod-sched-core + KCONFIG:=CONFIG_NET_SCH_PRIO + FILES:=$(LINUX_DIR)/net/sched/sch_prio.ko + AUTOLOAD:=$(call AutoProbe,sch_prio) +endef + +define KernelPackage/sched-prio/description + PRIO algorithm Configuration +endef + +$(eval $(call KernelPackage,sched-prio)) + + +define KernelPackage/sched-red + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Random Early Detection (RED) + DEPENDS:=+kmod-sched-core + KCONFIG:=CONFIG_NET_SCH_RED + FILES:=$(LINUX_DIR)/net/sched/sch_red.ko + AUTOLOAD:=$(call AutoProbe,sch_red) +endef + +define KernelPackage/sched-red/description + Random Early Detection (RED) algorithm Configuration +endef + +$(eval $(call KernelPackage,sched-red)) + + +define KernelPackage/sched-skbprio + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=SKB priority queue scheduler (SKBPRIO) + DEPENDS:=+kmod-sched-core + KCONFIG:= CONFIG_NET_SCH_SKBPRIO + FILES:= $(LINUX_DIR)/net/sched/sch_skbprio.ko + AUTOLOAD:=$(call AutoProbe,sch_skbprio) +endef + +$(eval $(call KernelPackage,sched-skbprio)) define KernelPackage/bpf-test @@ -883,26 +993,24 @@ endef $(eval $(call KernelPackage,bpf-test)) +SCHED_MODULES_EXTRA = sch_codel sch_dsmark sch_gred sch_multiq sch_sfq sch_teql sch_fq act_pedit act_simple act_skbmod act_csum em_cmp em_nbyte em_meta em_text +SCHED_FILES_EXTRA = $(foreach mod,$(SCHED_MODULES_EXTRA),$(LINUX_DIR)/net/sched/$(mod).ko) + define KernelPackage/sched SUBMENU:=$(NETWORK_SUPPORT_MENU) TITLE:=Extra traffic schedulers - DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-lib-crc32c + DEPENDS:=+kmod-sched-core +kmod-lib-crc32c +kmod-lib-textsearch KCONFIG:= \ CONFIG_NET_SCH_CODEL \ CONFIG_NET_SCH_DSMARK \ - CONFIG_NET_SCH_FIFO \ CONFIG_NET_SCH_GRED \ CONFIG_NET_SCH_MULTIQ \ - CONFIG_NET_SCH_PRIO \ - CONFIG_NET_SCH_RED \ CONFIG_NET_SCH_SFQ \ CONFIG_NET_SCH_TEQL \ CONFIG_NET_SCH_FQ \ - CONFIG_NET_SCH_PIE \ - CONFIG_NET_ACT_POLICE \ - CONFIG_NET_ACT_IPT \ CONFIG_NET_ACT_PEDIT \ CONFIG_NET_ACT_SIMP \ + CONFIG_NET_ACT_SKBMOD \ CONFIG_NET_ACT_CSUM \ CONFIG_NET_EMATCH_CMP \ CONFIG_NET_EMATCH_NBYTE \ @@ -949,6 +1057,24 @@ endef $(eval $(call KernelPackage,tcp-bbr)) +define KernelPackage/tls + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=In-kernel TLS Support with HW Offload + KCONFIG:=CONFIG_TLS \ + CONFIG_TLS_DEVICE=y + FILES:=$(LINUX_DIR)/net/tls/tls.ko + AUTOLOAD:=$(call AutoProbe,tls) +endef + +define KernelPackage/tls/description + Kernel module for in-kernel TLS protocol support and hw offload + (to supported interfaces). + This allows symmetric encryption handling of the TLS protocol to + be done in-kernel and it's HW offload when available. +endef + +$(eval $(call KernelPackage,tls)) + define KernelPackage/tcp-hybla SUBMENU:=$(NETWORK_SUPPORT_MENU) @@ -968,6 +1094,24 @@ endef $(eval $(call KernelPackage,tcp-hybla)) +define KernelPackage/tcp-scalable + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=TCP-Scalable congestion control algorithm + KCONFIG:=CONFIG_TCP_CONG_SCALABLE + FILES:=$(LINUX_DIR)/net/ipv4/tcp_scalable.ko + AUTOLOAD:=$(call AutoProbe,tcp-scalable) +endef + +define KernelPackage/tcp-scalable/description + Scalable TCP is a sender-side only change to TCP which uses a + MIMD congestion control algorithm which has some nice scaling + properties, though is known to have fairness issues. + See http://www.deneholme.net/tom/scalable/ +endef + +$(eval $(call KernelPackage,tcp-scalable)) + + define KernelPackage/ax25 SUBMENU:=$(NETWORK_SUPPORT_MENU) TITLE:=AX25 support @@ -1075,7 +1219,8 @@ define KernelPackage/sctp CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y FILES:= $(LINUX_DIR)/net/sctp/sctp.ko AUTOLOAD:= $(call AutoLoad,32,sctp) - DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac + DEPENDS:=+kmod-lib-crc32c +kmod-crypto-md5 +kmod-crypto-hmac \ + +kmod-udptunnel4 +kmod-udptunnel6 endef define KernelPackage/sctp/description @@ -1142,7 +1287,8 @@ define KernelPackage/rxrpc FILES:= \ $(LINUX_DIR)/net/rxrpc/rxrpc.ko AUTOLOAD:=$(call AutoLoad,30,rxrpc.ko) - DEPENDS:= +kmod-crypto-manager +kmod-crypto-pcbc +kmod-crypto-fcrypt + DEPENDS:= +kmod-crypto-manager +kmod-crypto-pcbc +kmod-crypto-fcrypt \ + +kmod-udptunnel4 +kmod-udptunnel6 endef define KernelPackage/rxrpc/description @@ -1178,16 +1324,13 @@ $(eval $(call KernelPackage,mpls)) define KernelPackage/9pnet SUBMENU:=$(NETWORK_SUPPORT_MENU) TITLE:=Plan 9 Resource Sharing Support (9P2000) - DEPENDS:=@VIRTIO_SUPPORT KCONFIG:= \ CONFIG_NET_9P \ CONFIG_NET_9P_DEBUG=n \ - CONFIG_NET_9P_XEN=n \ - CONFIG_NET_9P_VIRTIO + CONFIG_NET_9P_FD=n@ge5.17 FILES:= \ - $(LINUX_DIR)/net/9p/9pnet.ko \ - $(LINUX_DIR)/net/9p/9pnet_virtio.ko - AUTOLOAD:=$(call AutoLoad,29,9pnet 9pnet_virtio) + $(LINUX_DIR)/net/9p/9pnet.ko + AUTOLOAD:=$(call AutoLoad,29,9pnet) endef define KernelPackage/9pnet/description @@ -1197,6 +1340,25 @@ endef $(eval $(call KernelPackage,9pnet)) +define KernelPackage/9pvirtio + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Plan 9 Virtio Support + DEPENDS:=+kmod-9pnet @VIRTIO_SUPPORT + KCONFIG:= \ + CONFIG_NET_9P_XEN=n \ + CONFIG_NET_9P_VIRTIO + FILES:= \ + $(LINUX_DIR)/net/9p/9pnet_virtio.ko + AUTOLOAD:=$(call AutoLoad,29,9pnet_virtio) +endef + +define KernelPackage/9pvirtio/description + Kernel support support for + Plan 9 resource sharing for virtio. +endef + +$(eval $(call KernelPackage,9pvirtio)) + define KernelPackage/nlmon SUBMENU:=$(NETWORK_SUPPORT_MENU) @@ -1228,6 +1390,21 @@ endef $(eval $(call KernelPackage,mdio)) +define KernelPackage/mdio-bus-mux + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=MDIO bus multiplexers + KCONFIG:=CONFIG_MDIO_BUS_MUX + HIDDEN:=1 + FILES:=$(LINUX_DIR)/drivers/net/mdio/mdio-mux.ko + AUTOLOAD:=$(call AutoLoad,32,mdio-mux) +endef + +define KernelPackage/mdio-bus-mux/description + Kernel framework for MDIO bus multiplexers. +endef + +$(eval $(call KernelPackage,mdio-bus-mux)) + define KernelPackage/macsec SUBMENU:=$(NETWORK_SUPPORT_MENU) TITLE:=IEEE 802.1AE MAC-level encryption (MAC) @@ -1259,11 +1436,51 @@ endef $(eval $(call KernelPackage,netlink-diag)) +define KernelPackage/inet-diag + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=INET diag support for ss utility + KCONFIG:= \ + CONFIG_INET_DIAG \ + CONFIG_INET_TCP_DIAG \ + CONFIG_INET_UDP_DIAG \ + CONFIG_INET_RAW_DIAG \ + CONFIG_INET_DIAG_DESTROY=n + FILES:= \ + $(LINUX_DIR)/net/ipv4/inet_diag.ko \ + $(LINUX_DIR)/net/ipv4/tcp_diag.ko \ + $(LINUX_DIR)/net/ipv4/udp_diag.ko \ + $(LINUX_DIR)/net/ipv4/raw_diag.ko + AUTOLOAD:=$(call AutoLoad,31,inet_diag tcp_diag udp_diag raw_diag) +endef + +define KernelPackage/inet-diag/description +Support for INET (TCP, DCCP, etc) socket monitoring interface used by +native Linux tools such as ss. +endef + +$(eval $(call KernelPackage,inet-diag)) + + +define KernelPackage/xdp-sockets-diag + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=PF_XDP sockets monitoring interface support for ss utility + DEPENDS:=@KERNEL_XDP_SOCKETS + KCONFIG:=CONFIG_XDP_SOCKETS_DIAG + FILES:=$(LINUX_DIR)/net/xdp/xsk_diag.ko + AUTOLOAD:=$(call AutoLoad,31,xsk_diag) +endef + +define KernelPackage/xdp-sockets-diag/description + Support for PF_XDP sockets monitoring interface used by the ss tool +endef + +$(eval $(call KernelPackage,xdp-sockets-diag)) + + define KernelPackage/wireguard SUBMENU:=$(NETWORK_SUPPORT_MENU) TITLE:=WireGuard secure network tunnel DEPENDS:= \ - +kmod-crypto-lib-blake2s \ +kmod-crypto-lib-chacha20poly1305 \ +kmod-crypto-lib-curve25519 \ +kmod-udptunnel4 \ @@ -1285,3 +1502,81 @@ define KernelPackage/wireguard/description endef $(eval $(call KernelPackage,wireguard)) + + +define KernelPackage/netconsole + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Network console logging support + KCONFIG:=CONFIG_NETCONSOLE \ + CONFIG_NETCONSOLE_DYNAMIC=n + FILES:=$(LINUX_DIR)/drivers/net/netconsole.ko + AUTOLOAD:=$(call AutoProbe,netconsole) +endef + +define KernelPackage/netconsole/description + Network console logging support. +endef + +$(eval $(call KernelPackage,netconsole)) + + +define KernelPackage/qrtr + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Qualcomm IPC Router support + HIDDEN:=1 + KCONFIG:=CONFIG_QRTR + FILES:= \ + $(LINUX_DIR)/net/qrtr/qrtr.ko + AUTOLOAD:=$(call AutoProbe,qrtr) +endef + +define KernelPackage/qrtr/description + Qualcomm IPC Router support +endef + +$(eval $(call KernelPackage,qrtr)) + +define KernelPackage/qrtr-tun + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=TUN device for Qualcomm IPC Router + DEPENDS:=+kmod-qrtr + KCONFIG:=CONFIG_QRTR_TUN + FILES:= $(LINUX_DIR)/net/qrtr/qrtr-tun.ko + AUTOLOAD:=$(call AutoProbe,qrtr-tun) +endef + +define KernelPackage/qrtr-tun/description + TUN device for Qualcomm IPC Router +endef + +$(eval $(call KernelPackage,qrtr-tun)) + +define KernelPackage/qrtr-smd + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=SMD IPC Router channels + DEPENDS:=+kmod-qrtr @TARGET_qualcommax + KCONFIG:=CONFIG_QRTR_SMD + FILES:= $(LINUX_DIR)/net/qrtr/qrtr-smd.ko + AUTOLOAD:=$(call AutoProbe,qrtr-smd) +endef + +define KernelPackage/qrtr-smd/description + SMD IPC Router channels +endef + +$(eval $(call KernelPackage,qrtr-smd)) + +define KernelPackage/qrtr-mhi + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=MHI IPC Router channels + DEPENDS:=+kmod-mhi-bus +kmod-qrtr + KCONFIG:=CONFIG_QRTR_MHI + FILES:= $(LINUX_DIR)/net/qrtr/qrtr-mhi.ko + AUTOLOAD:=$(call AutoProbe,qrtr-mhi) +endef + +define KernelPackage/qrtr-mhi/description + MHI IPC Router channels +endef + +$(eval $(call KernelPackage,qrtr-mhi)) diff --git a/package/kernel/linux/modules/nls.mk b/package/kernel/linux/modules/nls.mk index 05fce27bbc2..7450ed1ce56 100644 --- a/package/kernel/linux/modules/nls.mk +++ b/package/kernel/linux/modules/nls.mk @@ -135,8 +135,10 @@ define KernelPackage/nls-cp932 SUBMENU:=Native Language Support TITLE:=Codepage 932 (Japanese) KCONFIG:=CONFIG_NLS_CODEPAGE_932 - FILES:=$(LINUX_DIR)/fs/nls/nls_cp932.ko - AUTOLOAD:=$(call AutoLoad,25,nls_cp932) + FILES:= \ + $(LINUX_DIR)/fs/nls/nls_cp932.ko \ + $(LINUX_DIR)/fs/nls/nls_euc-jp.ko + AUTOLOAD:=$(call AutoLoad,25,nls_cp932 nls_euc-jp) $(call AddDepends/nls) endef diff --git a/package/kernel/linux/modules/other.mk b/package/kernel/linux/modules/other.mk index 926fc67386f..4a061974c33 100644 --- a/package/kernel/linux/modules/other.mk +++ b/package/kernel/linux/modules/other.mk @@ -40,6 +40,8 @@ define KernelPackage/bluetooth CONFIG_BT_BNEP \ CONFIG_BT_HCIBTUSB \ CONFIG_BT_HCIBTUSB_BCM=n \ + CONFIG_BT_HCIBTUSB_MTK=y \ + CONFIG_BT_HCIBTUSB_RTL=y \ CONFIG_BT_HCIUART \ CONFIG_BT_HCIUART_BCM=n \ CONFIG_BT_HCIUART_INTEL=n \ @@ -54,7 +56,9 @@ define KernelPackage/bluetooth $(LINUX_DIR)/net/bluetooth/hidp/hidp.ko \ $(LINUX_DIR)/drivers/bluetooth/hci_uart.ko \ $(LINUX_DIR)/drivers/bluetooth/btusb.ko \ - $(LINUX_DIR)/drivers/bluetooth/btintel.ko + $(LINUX_DIR)/drivers/bluetooth/btintel.ko \ + $(LINUX_DIR)/drivers/bluetooth/btrtl.ko \ + $(LINUX_DIR)/drivers/bluetooth/btmtk.ko@ge5.17 AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb) endef @@ -71,7 +75,6 @@ define KernelPackage/ath3k KCONFIG:= \ CONFIG_BT_ATH3K \ CONFIG_BT_HCIUART_ATH3K=y - $(call AddDepends/bluetooth) FILES:= \ $(LINUX_DIR)/drivers/bluetooth/ath3k.ko AUTOLOAD:=$(call AutoProbe,ath3k) @@ -107,7 +110,6 @@ define KernelPackage/btmrvl KCONFIG:= \ CONFIG_BT_MRVL \ CONFIG_BT_MRVL_SDIO - $(call AddDepends/bluetooth) FILES:= \ $(LINUX_DIR)/drivers/bluetooth/btmrvl.ko \ $(LINUX_DIR)/drivers/bluetooth/btmrvl_sdio.ko @@ -121,6 +123,24 @@ endef $(eval $(call KernelPackage,btmrvl)) +define KernelPackage/btsdio + SUBMENU:=$(OTHER_MENU) + TITLE:=Bluetooth HCI SDIO driver + DEPENDS:=+kmod-bluetooth +kmod-mmc + KCONFIG:= \ + CONFIG_BT_HCIBTSDIO + FILES:= \ + $(LINUX_DIR)/drivers/bluetooth/btsdio.ko + AUTOLOAD:=$(call AutoProbe,btsdio) +endef + +define KernelPackage/btsdio/description + Kernel support for Bluetooth device with SDIO interface +endef + +$(eval $(call KernelPackage,btsdio)) + + define KernelPackage/dma-buf SUBMENU:=$(OTHER_MENU) TITLE:=DMA shared buffer support @@ -182,136 +202,98 @@ endef $(eval $(call KernelPackage,eeprom-at25)) -define KernelPackage/gpio-dev - SUBMENU:=$(OTHER_MENU) - TITLE:=Generic GPIO char device support - DEPENDS:=@GPIO_SUPPORT - KCONFIG:=CONFIG_GPIO_DEVICE - FILES:=$(LINUX_DIR)/drivers/char/gpio_dev.ko - AUTOLOAD:=$(call AutoLoad,40,gpio_dev) -endef - -define KernelPackage/gpio-dev/description - Kernel module to allows control of GPIO pins using a character device. -endef - -$(eval $(call KernelPackage,gpio-dev)) - - -define KernelPackage/gpio-f7188x - SUBMENU:=$(OTHER_MENU) - TITLE:=Fintek F718xx/F818xx GPIO Support - DEPENDS:=@GPIO_SUPPORT @TARGET_x86 - KCONFIG:=CONFIG_GPIO_F7188X - FILES:=$(LINUX_DIR)/drivers/gpio/gpio-f7188x.ko - AUTOLOAD:=$(call AutoProbe,gpio-f7188x) -endef - -define KernelPackage/gpio-f7188x/description - Kernel module for the GPIOs found on many Fintek Super-IO chips. -endef - -$(eval $(call KernelPackage,gpio-f7188x)) - - -define KernelPackage/gpio-mcp23s08 +define KernelPackage/google-firmware SUBMENU:=$(OTHER_MENU) - TITLE:=Microchip MCP23xxx I/O expander - DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core +kmod-regmap-i2c + TITLE:=Google firmware drivers (Coreboot, VPD, Memconsole) KCONFIG:= \ - CONFIG_GPIO_MCP23S08 \ - CONFIG_PINCTRL_MCP23S08 + CONFIG_GOOGLE_FIRMWARE=y \ + CONFIG_GOOGLE_COREBOOT_TABLE \ + CONFIG_GOOGLE_MEMCONSOLE \ + CONFIG_GOOGLE_MEMCONSOLE_COREBOOT \ + CONFIG_GOOGLE_VPD FILES:= \ - $(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08.ko - AUTOLOAD:=$(call AutoLoad,40,pinctrl-mcp23s08) + $(LINUX_DIR)/drivers/firmware/google/coreboot_table.ko \ + $(LINUX_DIR)/drivers/firmware/google/memconsole.ko \ + $(LINUX_DIR)/drivers/firmware/google/memconsole-coreboot.ko \ + $(LINUX_DIR)/drivers/firmware/google/vpd-sysfs.ko + AUTOLOAD:=$(call AutoProbe,coreboot_table memconsole-coreboot vpd-sysfs) endef -define KernelPackage/gpio-mcp23s08/description - Kernel module for Microchip MCP23xxx SPI/I2C I/O expander +define KernelPackage/google-firmware/description + Kernel modules for Google firmware drivers. Useful for examining firmware and + boot details on devices using a Google bootloader based on Coreboot. Provides + files like /sys/firmware/log and /sys/firmware/vpd. endef -$(eval $(call KernelPackage,gpio-mcp23s08)) +$(eval $(call KernelPackage,google-firmware)) -define KernelPackage/gpio-nxp-74hc164 +define KernelPackage/lkdtm SUBMENU:=$(OTHER_MENU) - TITLE:=NXP 74HC164 GPIO expander support - KCONFIG:=CONFIG_GPIO_74X164 - FILES:=$(LINUX_DIR)/drivers/gpio/gpio-74x164.ko - AUTOLOAD:=$(call AutoProbe,gpio-74x164) -endef - -define KernelPackage/gpio-nxp-74hc164/description - Kernel module for NXP 74HC164 GPIO expander + TITLE:=Linux Kernel Dump Test Tool Module + KCONFIG:=CONFIG_LKDTM + FILES:=$(LINUX_DIR)/drivers/misc/lkdtm/lkdtm.ko + AUTOLOAD:=$(call AutoProbe,lkdtm) endef -$(eval $(call KernelPackage,gpio-nxp-74hc164)) - -define KernelPackage/gpio-pca953x - SUBMENU:=$(OTHER_MENU) - DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core +kmod-regmap-i2c - TITLE:=PCA95xx, TCA64xx, and MAX7310 I/O ports - KCONFIG:=CONFIG_GPIO_PCA953X - FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pca953x.ko - AUTOLOAD:=$(call AutoLoad,55,gpio-pca953x) +define KernelPackage/lkdtm/description + This module enables testing of the different dumping mechanisms by inducing + system failures at predefined crash points. endef -define KernelPackage/gpio-pca953x/description - Kernel module for MAX731{0,2,3,5}, PCA6107, PCA953{4-9}, PCA955{4-7}, - PCA957{4,5} and TCA64{08,16} I2C GPIO expanders -endef +$(eval $(call KernelPackage,lkdtm)) -$(eval $(call KernelPackage,gpio-pca953x)) -define KernelPackage/gpio-pcf857x +define KernelPackage/pinctrl-mcp23s08 SUBMENU:=$(OTHER_MENU) - DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core - TITLE:=PCX857x, PCA967x and MAX732X I2C GPIO expanders - KCONFIG:=CONFIG_GPIO_PCF857X - FILES:=$(LINUX_DIR)/drivers/gpio/gpio-pcf857x.ko - AUTOLOAD:=$(call AutoLoad,55,gpio-pcf857x) + TITLE:=Microchip MCP23xxx I/O expander + HIDDEN:=1 + DEPENDS:=@GPIO_SUPPORT +kmod-regmap-core + KCONFIG:=CONFIG_PINCTRL_MCP23S08 + FILES:=$(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08.ko + AUTOLOAD:=$(call AutoLoad,40,pinctrl-mcp23s08) endef -define KernelPackage/gpio-pcf857x/description - Kernel module for PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders +define KernelPackage/pinctrl-mcp23s08/description + Kernel module for Microchip MCP23xxx I/O expander endef -$(eval $(call KernelPackage,gpio-pcf857x)) +$(eval $(call KernelPackage,pinctrl-mcp23s08)) -define KernelPackage/gpio-it87 +define KernelPackage/pinctrl-mcp23s08-i2c SUBMENU:=$(OTHER_MENU) - DEPENDS:=@GPIO_SUPPORT @TARGET_x86 - TITLE:=GPIO support for IT87xx Super I/O chips - KCONFIG:=CONFIG_GPIO_IT87 - FILES:=$(LINUX_DIR)/drivers/gpio/gpio-it87.ko - AUTOLOAD:=$(call AutoLoad,25,gpio-it87,1) + TITLE:=Microchip MCP23xxx I/O expander (I2C) + DEPENDS:=@GPIO_SUPPORT \ + +kmod-pinctrl-mcp23s08 \ + +kmod-i2c-core \ + +kmod-regmap-i2c + KCONFIG:=CONFIG_PINCTRL_MCP23S08_I2C + FILES:=$(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08_i2c.ko + AUTOLOAD:=$(call AutoLoad,40,pinctrl-mcp23s08-i2c) endef -define KernelPackage/gpio-it87/description - This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and - supports the IT8761E, IT8613, IT8620E, and IT8628E Super I/O chips as - well. +define KernelPackage/pinctrl-mcp23s08-i2c/description + Kernel module for Microchip MCP23xxx I/O expander via I2C endef -$(eval $(call KernelPackage,gpio-it87)) +$(eval $(call KernelPackage,pinctrl-mcp23s08-i2c)) -define KernelPackage/gpio-amd-fch +define KernelPackage/pinctrl-mcp23s08-spi SUBMENU:=$(OTHER_MENU) - DEPENDS:=@GPIO_SUPPORT @TARGET_x86 - TITLE:=GPIO support for AMD Fusion Controller Hub (G-series SOCs) - KCONFIG:=CONFIG_GPIO_AMD_FCH - FILES:=$(LINUX_DIR)/drivers/gpio/gpio-amd-fch.ko - AUTOLOAD:=$(call AutoLoad,25,gpio-amd-fch,1) + TITLE:=Microchip MCP23xxx I/O expander (SPI) + DEPENDS:=@GPIO_SUPPORT +kmod-pinctrl-mcp23s08 + KCONFIG:=CONFIG_PINCTRL_MCP23S08_SPI + FILES:=$(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08_spi.ko + AUTOLOAD:=$(call AutoLoad,40,pinctrl-mcp23s08-spi) endef -define KernelPackage/gpio-amd-fch/description - This option enables driver for GPIO on AMDs Fusion Controller Hub, - as found on G-series SOCs (eg. GX-412TC) +define KernelPackage/pinctrl-mcp23s08-spi/description + Kernel module for Microchip MCP23xxx I/O expander via SPI endef -$(eval $(call KernelPackage,gpio-amd-fch)) +$(eval $(call KernelPackage,pinctrl-mcp23s08-spi)) define KernelPackage/ppdev @@ -375,7 +357,6 @@ define KernelPackage/mmc CONFIG_MMC_BLOCK \ CONFIG_MMC_DEBUG=n \ CONFIG_MMC_UNSAFE_RESUME=n \ - CONFIG_MMC_BLOCK_BOUNCE=y \ CONFIG_MMC_TIFM_SD=n \ CONFIG_MMC_WBSD=n \ CONFIG_SDIO_UART=n @@ -392,23 +373,6 @@ endef $(eval $(call KernelPackage,mmc)) -define KernelPackage/mvsdio - SUBMENU:=$(OTHER_MENU) - TITLE:=Marvell MMC/SD/SDIO host driver - DEPENDS:=+kmod-mmc @TARGET_kirkwood - KCONFIG:= CONFIG_MMC_MVSDIO - FILES:= \ - $(LINUX_DIR)/drivers/mmc/host/mvsdio.ko - AUTOLOAD:=$(call AutoProbe,mvsdio,1) -endef - -define KernelPackage/mvsdio/description - Kernel support for the Marvell SDIO host driver. -endef - -$(eval $(call KernelPackage,mvsdio)) - - define KernelPackage/sdhci SUBMENU:=$(OTHER_MENU) TITLE:=Secure Digital Host Controller Interface support @@ -478,6 +442,7 @@ define KernelPackage/ssb CONFIG_SSB_DRIVER_MIPS=n \ CONFIG_SSB_DRIVER_PCICORE=y \ CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \ + CONFIG_SSB_FALLBACK_SPROM=y \ CONFIG_SSB_PCIHOST=y \ CONFIG_SSB_PCIHOST_POSSIBLE=y \ CONFIG_SSB_POSSIBLE=y \ @@ -502,6 +467,7 @@ define KernelPackage/bcma CONFIG_BCMA \ CONFIG_BCMA_POSSIBLE=y \ CONFIG_BCMA_BLOCKIO=y \ + CONFIG_BCMA_FALLBACK_SPROM=y \ CONFIG_BCMA_HOST_PCI_POSSIBLE=y \ CONFIG_BCMA_HOST_PCI=y \ CONFIG_BCMA_HOST_SOC=n \ @@ -665,22 +631,22 @@ endef $(eval $(call KernelPackage,rtc-pcf2127)) -define KernelPackage/rtc-pt7c4338 +define KernelPackage/rtc-r7301 SUBMENU:=$(OTHER_MENU) - TITLE:=Pericom PT7C4338 RTC support + TITLE:=Epson RTC7301 support DEFAULT:=m if ALL_KMODS && RTC_SUPPORT - DEPENDS:=+kmod-i2c-core - KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \ + DEPENDS:=+kmod-regmap-mmio + KCONFIG:=CONFIG_RTC_DRV_R7301 \ CONFIG_RTC_CLASS=y - FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko - AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338) + FILES:=$(LINUX_DIR)/drivers/rtc/rtc-r7301.ko + AUTOLOAD:=$(call AutoProbe,rtc-r7301) endef -define KernelPackage/rtc-pt7c4338/description - Kernel module for Pericom PT7C4338 i2c RTC chip +define KernelPackage/rtc-r7301/description + Kernel module for Epson RTC7301 RTC chip endef -$(eval $(call KernelPackage,rtc-pt7c4338)) +$(eval $(call KernelPackage,rtc-r7301)) define KernelPackage/rtc-rs5c372a SUBMENU:=$(OTHER_MENU) @@ -733,6 +699,22 @@ endef $(eval $(call KernelPackage,rtc-s35390a)) +define KernelPackage/rtc-x1205 + SUBMENU:=$(OTHER_MENU) + TITLE:=Xicor Intersil X1205 + DEFAULT:=m if ALL_KMODS && RTC_SUPPORT + DEPENDS:=+kmod-i2c-core + KCONFIG:=CONFIG_RTC_DRV_X1205 \ + CONFIG_RTC_CLASS=y + FILES:=$(LINUX_DIR)/drivers/rtc/rtc-x1205.ko + AUTOLOAD:=$(call AutoProbe,rtc-x1205) +endef + +define KernelPackage/rtc-x1205/description + Kernel module for Xicor Intersil X1205 I2C RTC chip +endef + +$(eval $(call KernelPackage,rtc-x1205)) define KernelPackage/mtdtests SUBMENU:=$(OTHER_MENU) @@ -786,6 +768,42 @@ endef $(eval $(call KernelPackage,mtdram)) +define KernelPackage/ramoops + SUBMENU:=$(OTHER_MENU) + TITLE:=Ramoops (pstore-ram) + DEFAULT:=m if ALL_KMODS + KCONFIG:=CONFIG_PSTORE_RAM \ + CONFIG_PSTORE_CONSOLE=y + DEPENDS:=+kmod-pstore +kmod-reed-solomon + FILES:= $(LINUX_DIR)/fs/pstore/ramoops.ko + AUTOLOAD:=$(call AutoLoad,30,ramoops,1) +endef + +define KernelPackage/ramoops/description + Kernel module for pstore-ram (ramoops) crash log storage +endef + +$(eval $(call KernelPackage,ramoops)) + + +define KernelPackage/reed-solomon + SUBMENU:=$(OTHER_MENU) + TITLE:=Reed-Solomon error correction + DEFAULT:=m if ALL_KMODS + KCONFIG:=CONFIG_REED_SOLOMON \ + CONFIG_REED_SOLOMON_DEC8=y \ + CONFIG_REED_SOLOMON_ENC8=y + FILES:= $(LINUX_DIR)/lib/reed_solomon/reed_solomon.ko + AUTOLOAD:=$(call AutoLoad,30,reed_solomon,1) +endef + +define KernelPackage/reed-solomon/description + Kernel module for Reed-Solomon error correction +endef + +$(eval $(call KernelPackage,reed-solomon)) + + define KernelPackage/serial-8250 SUBMENU:=$(OTHER_MENU) TITLE:=8250 UARTs @@ -819,7 +837,7 @@ define KernelPackage/serial-8250-exar KCONFIG:= CONFIG_SERIAL_8250_EXAR FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/8250_exar.ko AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_exar) - DEPENDS:=+kmod-serial-8250 + DEPENDS:=@PCI_SUPPORT +kmod-serial-8250 endef define KernelPackage/serial-8250-exar/description @@ -914,7 +932,6 @@ $(eval $(call KernelPackage,ikconfig)) define KernelPackage/zram SUBMENU:=$(OTHER_MENU) TITLE:=ZRAM - DEPENDS:=+kmod-lib-lzo KCONFIG:= \ CONFIG_ZSMALLOC \ CONFIG_ZRAM \ @@ -931,8 +948,37 @@ define KernelPackage/zram/description Compressed RAM block device support endef -$(eval $(call KernelPackage,zram)) +define KernelPackage/zram/config + if PACKAGE_kmod-zram + choice + prompt "ZRAM Default compressor" + default ZRAM_DEF_COMP_LZORLE + + config ZRAM_DEF_COMP_LZORLE + bool "lzo-rle" + select PACKAGE_kmod-lib-lzo + + config ZRAM_DEF_COMP_LZO + bool "lzo" + select PACKAGE_kmod-lib-lzo + + config ZRAM_DEF_COMP_LZ4 + bool "lz4" + select PACKAGE_kmod-lib-lz4 + + config ZRAM_DEF_COMP_LZ4HC + bool "lz4-hc" + select PACKAGE_kmod-lib-lz4hc + config ZRAM_DEF_COMP_ZSTD + bool "zstd" + select PACKAGE_kmod-lib-zstd + + endchoice + endif +endef + +$(eval $(call KernelPackage,zram)) define KernelPackage/pps SUBMENU:=$(OTHER_MENU) @@ -1008,7 +1054,7 @@ $(eval $(call KernelPackage,ptp)) define KernelPackage/ptp-qoriq SUBMENU:=$(OTHER_MENU) TITLE:=Freescale QorIQ PTP support - DEPENDS:=@TARGET_mpc85xx +kmod-ptp + DEPENDS:=@(TARGET_mpc85xx||TARGET_qoriq) +kmod-ptp KCONFIG:=CONFIG_PTP_1588_CLOCK_QORIQ FILES:=$(LINUX_DIR)/drivers/ptp/ptp-qoriq.ko AUTOLOAD:=$(call AutoProbe,ptp-qoriq) @@ -1064,25 +1110,6 @@ endef $(eval $(call KernelPackage,thermal)) -define KernelPackage/gpio-beeper - SUBMENU:=$(OTHER_MENU) - TITLE:=GPIO beeper support - DEPENDS:=+kmod-input-core - KCONFIG:= \ - CONFIG_INPUT_MISC=y \ - CONFIG_INPUT_GPIO_BEEPER - FILES:= \ - $(LINUX_DIR)/drivers/input/misc/gpio-beeper.ko - AUTOLOAD:=$(call AutoLoad,50,gpio-beeper) -endef - -define KernelPackage/gpio-beeper/description - This enables playing beeps through an GPIO-connected buzzer -endef - -$(eval $(call KernelPackage,gpio-beeper)) - - define KernelPackage/echo SUBMENU:=$(OTHER_MENU) TITLE:=Line Echo Canceller @@ -1125,9 +1152,7 @@ define KernelPackage/keys-trusted TITLE:=TPM trusted keys on kernel keyring DEPENDS:=@KERNEL_KEYS +kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha1 +kmod-tpm KCONFIG:=CONFIG_TRUSTED_KEYS - FILES:= \ - $(LINUX_DIR)/security/keys/trusted.ko@lt5.10 \ - $(LINUX_DIR)/security/keys/trusted-keys/trusted.ko@ge5.10 + FILES:= $(LINUX_DIR)/security/keys/trusted-keys/trusted.ko AUTOLOAD:=$(call AutoLoad,01,trusted-keys,1) endef @@ -1145,7 +1170,8 @@ $(eval $(call KernelPackage,keys-trusted)) define KernelPackage/tpm SUBMENU:=$(OTHER_MENU) TITLE:=TPM Hardware Support - DEPENDS:= +kmod-random-core + DEPENDS:= +kmod-random-core +kmod-asn1-decoder \ + +kmod-asn1-encoder +kmod-oid-registry KCONFIG:= CONFIG_TCG_TPM FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko AUTOLOAD:=$(call AutoLoad,10,tpm,1) @@ -1208,67 +1234,50 @@ endef $(eval $(call KernelPackage,tpm-i2c-infineon)) -define KernelPackage/w83627hf-wdt +define KernelPackage/i6300esb-wdt SUBMENU:=$(OTHER_MENU) - TITLE:=Winbond 83627HF Watchdog Timer - KCONFIG:=CONFIG_W83627HF_WDT - FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/w83627hf_wdt.ko - AUTOLOAD:=$(call AutoLoad,50,w83627hf-wdt,1) + TITLE:=Intel 6300ESB Timer/Watchdog + DEPENDS:=@PCI_SUPPORT @!SMALL_FLASH + KCONFIG:=CONFIG_I6300ESB_WDT \ + CONFIG_WATCHDOG_CORE=y + FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/i6300esb.ko + AUTOLOAD:=$(call AutoLoad,50,i6300esb,1) endef -define KernelPackage/w83627hf-wdt/description - Kernel module for Winbond 83627HF Watchdog Timer +define KernelPackage/i6300esb-wdt/description + Kernel module for the watchdog timer built into the Intel + 6300ESB controller hub. Also used by QEMU/libvirt. endef -$(eval $(call KernelPackage,w83627hf-wdt)) +$(eval $(call KernelPackage,i6300esb-wdt)) -define KernelPackage/itco-wdt +define KernelPackage/mhi-bus SUBMENU:=$(OTHER_MENU) - TITLE:=Intel iTCO Watchdog Timer - KCONFIG:=CONFIG_ITCO_WDT \ - CONFIG_ITCO_VENDOR_SUPPORT=y - FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_wdt.ko \ - $(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/iTCO_vendor_support.ko - AUTOLOAD:=$(call AutoLoad,50,iTCO_vendor_support iTCO_wdt,1) + TITLE:=MHI bus + KCONFIG:=CONFIG_MHI_BUS \ + CONFIG_MHI_BUS_DEBUG=y + FILES:=$(LINUX_DIR)/drivers/bus/mhi/host/mhi.ko + AUTOLOAD:=$(call AutoProbe,mhi) endef -define KernelPackage/itco-wdt/description - Kernel module for Intel iTCO Watchdog Timer +define KernelPackage/mhi-bus/description + Kernel module for the Qualcomm MHI bus. endef -$(eval $(call KernelPackage,itco-wdt)) - - -define KernelPackage/it87-wdt - SUBMENU:=$(OTHER_MENU) - TITLE:=ITE IT87 Watchdog Timer - KCONFIG:=CONFIG_IT87_WDT - FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/it87_wdt.ko - AUTOLOAD:=$(call AutoLoad,50,it87-wdt,1) - MODPARAMS.it87-wdt:= \ - nogameport=1 \ - nocir=1 -endef - -define KernelPackage/it87-wdt/description - Kernel module for ITE IT87 Watchdog Timer -endef - -$(eval $(call KernelPackage,it87-wdt)) - +$(eval $(call KernelPackage,mhi-bus)) -define KernelPackage/f71808e-wdt +define KernelPackage/mhi-pci-generic SUBMENU:=$(OTHER_MENU) - TITLE:=Fintek F718xx/F818xx Watchdog Timer - DEPENDS:=@TARGET_x86 - KCONFIG:=CONFIG_F71808E_WDT - FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/f71808e_wdt.ko - AUTOLOAD:=$(call AutoProbe,f71808e-wdt,1) + TITLE:=MHI PCI controller driver + DEPENDS:=@PCI_SUPPORT +kmod-mhi-bus + KCONFIG:=CONFIG_MHI_BUS_PCI_GENERIC + FILES:=$(LINUX_DIR)/drivers/bus/mhi/host/mhi_pci_generic.ko + AUTOLOAD:=$(call AutoProbe,mhi_pci_generic) endef -define KernelPackage/f71808e-wdt/description - Kernel module for the watchdog timer found on many Fintek Super-IO chips. +define KernelPackage/mhi-pci-generic/description + Kernel module for the MHI PCI controller driver. endef -$(eval $(call KernelPackage,f71808e-wdt)) +$(eval $(call KernelPackage,mhi-pci-generic)) diff --git a/package/kernel/linux/modules/sound.mk b/package/kernel/linux/modules/sound.mk index e43be25bc67..623f65ac59a 100644 --- a/package/kernel/linux/modules/sound.mk +++ b/package/kernel/linux/modules/sound.mk @@ -225,17 +225,51 @@ define KernelPackage/sound-soc-imx $(LINUX_DIR)/sound/soc/fsl/snd-soc-fsl-ssi.ko \ $(LINUX_DIR)/sound/soc/fsl/imx-pcm-dma.ko AUTOLOAD:=$(call AutoLoad,56,snd-soc-imx-audmux snd-soc-fsl-ssi snd-soc-imx-pcm) - DEPENDS:=@TARGET_imx6 +kmod-sound-soc-core + DEPENDS:=@TARGET_imx +kmod-sound-soc-core $(call AddDepends/sound) endef define KernelPackage/sound-soc-imx/description - Support for i.MX6 Platform sound (ssi/audmux/pcm) + Support for i.MX Platform sound (ssi/audmux/pcm) endef $(eval $(call KernelPackage,sound-soc-imx)) +define KernelPackage/sound-soc-mt7986 + TITLE:=MediaTek MT7986 Audio support + KCONFIG:=CONFIG_SND_SOC_MT7986 CONFIG_SND_SOC_MT7986_WM8960 + FILES:= \ + $(LINUX_DIR)/sound/soc/mediatek/common/snd-soc-mtk-common.ko \ + $(LINUX_DIR)/sound/soc/mediatek/mt7986/snd-soc-mt7986-afe.ko + AUTOLOAD:=$(call AutoLoad,56,snd-soc-mtk-common snd-soc-mt7986-afe) + DEPENDS:=@TARGET_mediatek_filogic +kmod-sound-soc-core + $(call AddDepends/sound) +endef + +define KernelPackage/sound-soc-mt7986/description + Support for audio on systems using the MediaTek MT7986 SoC. +endef + +$(eval $(call KernelPackage,sound-soc-mt7986)) + + +define KernelPackage/sound-soc-mt7986-wm8960 + TITLE:=MediaTek MT7986 Audio support + KCONFIG:=CONFIG_SND_SOC_MT7986_WM8960 + FILES:=$(LINUX_DIR)/sound/soc/mediatek/mt7986/mt7986-wm8960.ko + AUTOLOAD:=$(call AutoLoad,57,mt7986-wm8960) + DEPENDS:=@TARGET_mediatek_filogic +kmod-sound-soc-wm8960 +kmod-sound-soc-mt7986 + $(call AddDepends/sound) +endef + +define KernelPackage/sound-soc-mt7986-wm8960/description + Support for use of the Wolfson Audio WM8960 codec with the MediaTek MT7986 SoC. +endef + +$(eval $(call KernelPackage,sound-soc-mt7986-wm8960)) + + define KernelPackage/sound-soc-imx-sgtl5000 TITLE:=IMX SoC support for SGTL5000 KCONFIG:=CONFIG_SND_SOC_IMX_SGTL5000 @@ -243,17 +277,29 @@ define KernelPackage/sound-soc-imx-sgtl5000 $(LINUX_DIR)/sound/soc/codecs/snd-soc-sgtl5000.ko \ $(LINUX_DIR)/sound/soc/fsl/snd-soc-imx-sgtl5000.ko AUTOLOAD:=$(call AutoLoad,57,snd-soc-sgtl5000 snd-soc-imx-sgtl5000) - DEPENDS:=@TARGET_imx6 +kmod-sound-soc-imx + DEPENDS:=@TARGET_imx +kmod-sound-soc-imx +kmod-regmap-i2c $(call AddDepends/sound) endef define KernelPackage/sound-soc-imx-sgtl5000/description - Support for i.MX6 Platform sound SGTL5000 codec + Support for i.MX Platform sound SGTL5000 codec endef $(eval $(call KernelPackage,sound-soc-imx-sgtl5000)) +define KernelPackage/sound-soc-wm8960 + TITLE:=SoC WM8960 codec support + KCONFIG:=CONFIG_SND_SOC_WM8960 + FILES:=$(LINUX_DIR)/sound/soc/codecs/snd-soc-wm8960.ko + DEPENDS:=+kmod-sound-soc-core +kmod-i2c-core +kmod-regmap-i2c + AUTOLOAD:=$(call AutoProbe,snd-soc-wm8960) + $(call AddDepends/sound) +endef + +$(eval $(call KernelPackage,sound-soc-wm8960)) + + define KernelPackage/sound-soc-spdif TITLE:=SoC S/PDIF codec support KCONFIG:=CONFIG_SND_SOC_SPDIF @@ -523,8 +569,7 @@ define KernelPackage/sound-hda-intel CONFIG_SND_HDA_INTEL FILES:= \ $(LINUX_DIR)/sound/pci/hda/snd-hda-intel.ko \ - $(LINUX_DIR)/sound/hda/snd-intel-nhlt.ko@lt5.5 \ - $(LINUX_DIR)/sound/hda/snd-intel-dspcfg.ko@ge5.5 + $(LINUX_DIR)/sound/hda/snd-intel-dspcfg.ko AUTOLOAD:=$(call AutoProbe,snd-hda-intel) $(call AddDepends/sound,kmod-sound-hda-core) endef diff --git a/package/kernel/linux/modules/spi.mk b/package/kernel/linux/modules/spi.mk index 01dc7dc7e60..78a1c8a0328 100644 --- a/package/kernel/linux/modules/spi.mk +++ b/package/kernel/linux/modules/spi.mk @@ -15,9 +15,9 @@ define KernelPackage/mmc-spi CONFIG_SPI=y \ CONFIG_SPI_MASTER=y FILES:=\ - $(if $(CONFIG_OF),$(LINUX_DIR)/drivers/mmc/host/of_mmc_spi.ko) \ + $(LINUX_DIR)/drivers/mmc/host/of_mmc_spi.ko \ $(LINUX_DIR)/drivers/mmc/host/mmc_spi.ko - AUTOLOAD:=$(call AutoProbe,$(if $(CONFIG_OF),of_mmc_spi) mmc_spi) + AUTOLOAD:=$(call AutoProbe,of_mmc_spi mmc_spi) endef define KernelPackage/mmc-spi/description diff --git a/package/kernel/linux/modules/usb.mk b/package/kernel/linux/modules/usb.mk index 3249b854d66..7f9e627fdb4 100644 --- a/package/kernel/linux/modules/usb.mk +++ b/package/kernel/linux/modules/usb.mk @@ -331,17 +331,6 @@ define KernelPackage/usb-bcma endef $(eval $(call KernelPackage,usb-bcma)) -define KernelPackage/usb-fotg210 - TITLE:=Support for FOTG210 USB host controllers - DEPENDS:=@USB_SUPPORT @TARGET_gemini - KCONFIG:=CONFIG_USB_FOTG210_HCD - FILES:= \ - $(if $(CONFIG_USB_FOTG210_HCD),$(LINUX_DIR)/drivers/usb/host/fotg210-hcd.ko) - AUTOLOAD:=$(call AutoLoad,50,fotg210-hcd,1) - $(call AddDepends/usb) -endef -$(eval $(call KernelPackage,usb-fotg210)) - define KernelPackage/usb-ssb TITLE:=Support for SSB USB controllers DEPENDS:=@USB_SUPPORT @TARGET_bcm47xx @@ -431,10 +420,7 @@ define KernelPackage/usb-dwc2 TITLE:=DWC2 USB controller driver DEPENDS:=+USB_GADGET_SUPPORT:kmod-usb-gadget +kmod-usb-roles KCONFIG:= \ - CONFIG_USB_PCI=y \ CONFIG_USB_DWC2 \ - CONFIG_USB_DWC2_PCI \ - CONFIG_USB_DWC2_PLATFORM \ CONFIG_USB_DWC2_DEBUG=n \ CONFIG_USB_DWC2_VERBOSE=n \ CONFIG_USB_DWC2_TRACK_MISSED_SOFS=n \ @@ -453,6 +439,26 @@ endef $(eval $(call KernelPackage,usb-dwc2)) +define KernelPackage/usb-dwc2-pci + TITLE:=DWC2 USB controller driver (PCI) + DEPENDS:=@PCI_SUPPORT +kmod-usb-dwc2 +kmod-usb-phy-nop + KCONFIG:= \ + CONFIG_USB_PCI=y \ + CONFIG_USB_DWC2_PCI + FILES:= \ + $(LINUX_DIR)/drivers/usb/dwc2/dwc2_pci.ko + AUTOLOAD:=$(call AutoLoad,54,dwc2_pci,1) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-dwc2-pci/description + The Designware USB2.0 PCI interface module for controllers + connected to a PCI bus. +endef + +$(eval $(call KernelPackage,usb-dwc2-pci)) + + define KernelPackage/usb-dwc3 TITLE:=DWC3 USB controller driver KCONFIG:= \ @@ -477,7 +483,7 @@ $(eval $(call KernelPackage,usb-dwc3)) define KernelPackage/usb-dwc3-qcom TITLE:=DWC3 Qualcomm USB driver - DEPENDS:=@(TARGET_ipq40xx||TARGET_ipq806x) +kmod-usb-dwc3 + DEPENDS:=@(TARGET_ipq40xx||TARGET_ipq806x||TARGET_qualcommax) +kmod-usb-dwc3 KCONFIG:= CONFIG_USB_DWC3_QCOM FILES:= $(LINUX_DIR)/drivers/usb/dwc3/dwc3-qcom.ko AUTOLOAD:=$(call AutoLoad,53,dwc3-qcom,1) @@ -528,7 +534,6 @@ $(eval $(call KernelPackage,usb-wdm)) define KernelPackage/usb-audio TITLE:=Support for USB audio devices KCONFIG:= \ - CONFIG_USB_AUDIO \ CONFIG_SND_USB=y \ CONFIG_SND_USB_AUDIO $(call AddDepends/usb) @@ -745,8 +750,9 @@ $(eval $(call KernelPackage,usb-serial-mct)) define KernelPackage/usb-serial-mos7720 TITLE:=Support for Moschip MOS7720 devices - KCONFIG:=CONFIG_USB_SERIAL_MOS7720 + KCONFIG:=CONFIG_USB_SERIAL_MOS7720 CONFIG_USB_SERIAL_MOS7715_PARPORT=y FILES:=$(LINUX_DIR)/drivers/usb/serial/mos7720.ko + DEPENDS:=+kmod-ppdev AUTOLOAD:=$(call AutoProbe,mos7720) $(call AddDepends/usb-serial) endef @@ -1138,7 +1144,9 @@ $(eval $(call KernelPackage,usb-net-aqc111)) define KernelPackage/usb-net-asix TITLE:=Kernel module for USB-to-Ethernet Asix convertors - DEPENDS:=+kmod-libphy + DEPENDS:= \ + +kmod-libphy +kmod-net-selftests +kmod-mdio-devres +kmod-phy-ax88796b \ + +LINUX_6_1:kmod-phylink KCONFIG:=CONFIG_USB_NET_AX8817X FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/asix.ko AUTOLOAD:=$(call AutoProbe,asix) @@ -1201,6 +1209,23 @@ endef $(eval $(call KernelPackage,usb-net-kaweth)) +define KernelPackage/usb-net-lan78xx + TITLE:=USB-To-Ethernet Microchip LAN78XX convertors + DEPENDS:=+kmod-fixed-phy +kmod-phy-microchip +PACKAGE_kmod-of-mdio:kmod-of-mdio + KCONFIG:=CONFIG_USB_LAN78XX + FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/lan78xx.ko + AUTOLOAD:=$(call AutoProbe,lan78xx) + $(call AddDepends/usb-net) +endef + +define KernelPackage/usb-net-lan78xx/description + Kernel module for Microchip LAN78XX based USB 2 & USB 3 + 10/100/1000 Ethernet adapters. +endef + +$(eval $(call KernelPackage,usb-net-lan78xx)) + + define KernelPackage/usb-net-pegasus TITLE:=Kernel module for USB-to-Ethernet Pegasus convertors KCONFIG:=CONFIG_USB_PEGASUS @@ -1231,9 +1256,25 @@ endef $(eval $(call KernelPackage,usb-net-mcs7830)) +define KernelPackage/usb-net-smsc75xx + TITLE:=SMSC LAN75XX based USB 2.0 Gigabit ethernet devices + DEPENDS:=+kmod-libphy + KCONFIG:=CONFIG_USB_NET_SMSC75XX + FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/smsc75xx.ko + AUTOLOAD:=$(call AutoProbe,smsc75xx) + $(call AddDepends/usb-net, +kmod-lib-crc16) +endef + +define KernelPackage/usb-net-smsc75xx/description + Kernel module for SMSC LAN75XX based devices +endef + +$(eval $(call KernelPackage,usb-net-smsc75xx)) + + define KernelPackage/usb-net-smsc95xx TITLE:=SMSC LAN95XX based USB 2.0 10/100 ethernet devices - DEPENDS:=+LINUX_5_10:kmod-libphy + DEPENDS:=+kmod-libphy +kmod-phy-smsc +LINUX_6_1:kmod-net-selftests KCONFIG:=CONFIG_USB_NET_SMSC95XX FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/smsc95xx.ko AUTOLOAD:=$(call AutoProbe,smsc95xx) @@ -1340,10 +1381,11 @@ $(eval $(call KernelPackage,usb-net-rtl8150)) define KernelPackage/usb-net-rtl8152 TITLE:=Kernel module for USB-to-Ethernet Realtek convertors + DEPENDS:=+r8152-firmware +kmod-crypto-sha256 +kmod-usb-net-cdc-ncm KCONFIG:=CONFIG_USB_RTL8152 FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/r8152.ko AUTOLOAD:=$(call AutoProbe,r8152) - $(call AddDepends/usb-net, +LINUX_5_10:kmod-crypto-hash) + $(call AddDepends/usb-net) endef define KernelPackage/usb-net-rtl8152/description @@ -1405,7 +1447,7 @@ define KernelPackage/usb-net-cdc-ncm KCONFIG:=CONFIG_USB_NET_CDC_NCM FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_ncm.ko AUTOLOAD:=$(call AutoProbe,cdc_ncm) - $(call AddDepends/usb-net,+!LINUX_5_4:kmod-usb-net-cdc-ether) + $(call AddDepends/usb-net,+kmod-usb-net-cdc-ether) endef define KernelPackage/usb-net-cdc-ncm/description @@ -1507,8 +1549,8 @@ $(eval $(call KernelPackage,usb-hid)) define KernelPackage/usb-hid-cp2112 SUBMENU:=$(USB_MENU) TITLE:=Silicon Labs CP2112 HID USB to SMBus Master Bridge - KCONFIG:=CONFIG_GPIOLIB=y CONFIG_HID_CP2112 - DEPENDS:=+kmod-usb-hid +kmod-i2c-core + KCONFIG:=CONFIG_HID_CP2112 + DEPENDS:=@GPIO_SUPPORT +kmod-usb-hid +kmod-i2c-core FILES:=$(LINUX_DIR)/drivers/hid/hid-cp2112.ko AUTOLOAD:=$(call AutoProbe,hid-cp2112) endef @@ -1521,6 +1563,23 @@ endef $(eval $(call KernelPackage,usb-hid-cp2112)) +define KernelPackage/usb-hid-mcp2221 + SUBMENU:=$(USB_MENU) + TITLE:=Microchip USB 2.0 to I2C/UART Protocol Converter with GPIO + KCONFIG:=CONFIG_HID_MCP2221 + DEPENDS:=@GPIO_SUPPORT +kmod-usb-hid +kmod-i2c-core + FILES:=$(LINUX_DIR)/drivers/hid/hid-mcp2221.ko + AUTOLOAD:=$(call AutoProbe,hid-mcp2221) +endef + +define KernelPackage/usb-hid-mcp2221/description + HID device driver which registers as an i2c adapter and gpiochip to expose + these functions of the MCP2221. +endef + +$(eval $(call KernelPackage,usb-hid-mcp2221)) + + define KernelPackage/usb-yealink TITLE:=USB Yealink VOIP phone DEPENDS:=+kmod-input-evdev @@ -1678,7 +1737,10 @@ define KernelPackage/usb3 +TARGET_bcm53xx:kmod-usb-bcma \ +TARGET_bcm53xx:kmod-phy-bcm-ns-usb3 \ +TARGET_ramips_mt7621:kmod-usb-xhci-mtk \ - +(TARGET_apm821xx_nand&&LINUX_5_10):kmod-usb-xhci-pci-renesas + +TARGET_mediatek:kmod-usb-xhci-mtk \ + +TARGET_apm821xx_nand:kmod-usb-xhci-pci-renesas \ + +TARGET_lantiq_xrx200:kmod-usb-xhci-pci-renesas \ + +TARGET_mvebu_cortexa9:kmod-usb-xhci-pci-renesas KCONFIG:= \ CONFIG_USB_PCI=y \ CONFIG_USB_XHCI_PCI \ @@ -1752,8 +1814,9 @@ define KernelPackage/usb-xhci-mtk DEPENDS:=+kmod-usb-xhci-hcd KCONFIG:=CONFIG_USB_XHCI_MTK HIDDEN:=1 - FILES:=$(LINUX_DIR)/drivers/usb/host/xhci-mtk.ko - AUTOLOAD:=$(call AutoLoad,54,xhci-mtk,1) + FILES:= \ + $(LINUX_DIR)/drivers/usb/host/xhci-mtk-hcd.ko + AUTOLOAD:=$(call AutoLoad,54,xhci-mtk-hcd,1) $(call AddDepends/usb) endef @@ -1766,7 +1829,6 @@ $(eval $(call KernelPackage,usb-xhci-mtk)) define KernelPackage/usb-xhci-pci-renesas TITLE:=Support for additional Renesas xHCI controller with firmware - DEPENDS:=@LINUX_5_10 KCONFIG:=CONFIG_USB_XHCI_PCI_RENESAS HIDDEN:=1 FILES:=$(LINUX_DIR)/drivers/usb/host/xhci-pci-renesas.ko diff --git a/package/kernel/linux/modules/video.mk b/package/kernel/linux/modules/video.mk index 394dff6239b..982bcb1db00 100644 --- a/package/kernel/linux/modules/video.mk +++ b/package/kernel/linux/modules/video.mk @@ -10,11 +10,30 @@ VIDEO_MENU:=Video Support V4L2_DIR=v4l2-core V4L2_USB_DIR=usb +V4L2_MEM2MEM_DIR=platform # # Video Display # +define KernelPackage/acpi-video + SUBMENU:=$(VIDEO_MENU) + TITLE:=ACPI Extensions For Display Adapters + DEPENDS:=@TARGET_x86 +kmod-backlight + HIDDEN:=1 + KCONFIG:=CONFIG_ACPI_VIDEO \ + CONFIG_ACPI_WMI + FILES:=$(LINUX_DIR)/drivers/acpi/video.ko \ + $(LINUX_DIR)/drivers/platform/x86/wmi.ko + AUTOLOAD:=$(call AutoProbe,wmi video) +endef + +define KernelPackage/acpi-video/description + Kernel support for integrated graphics devices. +endef + +$(eval $(call KernelPackage,acpi-video)) + define KernelPackage/backlight SUBMENU:=$(VIDEO_MENU) TITLE:=Backlight support @@ -225,7 +244,8 @@ define KernelPackage/drm SUBMENU:=$(VIDEO_MENU) TITLE:=Direct Rendering Manager (DRM) support HIDDEN:=1 - DEPENDS:=+kmod-dma-buf +kmod-i2c-core +PACKAGE_kmod-backlight:kmod-backlight + DEPENDS:=+kmod-dma-buf +kmod-i2c-core +PACKAGE_kmod-backlight:kmod-backlight \ + +kmod-fb KCONFIG:=CONFIG_DRM FILES:= \ $(LINUX_DIR)/drivers/gpu/drm/drm.ko \ @@ -239,6 +259,36 @@ endef $(eval $(call KernelPackage,drm)) +define KernelPackage/drm-buddy + SUBMENU:=$(VIDEO_MENU) + TITLE:=A page based buddy allocator + DEPENDS:=@DISPLAY_SUPPORT +kmod-drm @LINUX_6_1 + KCONFIG:=CONFIG_DRM_BUDDY + FILES:= $(LINUX_DIR)/drivers/gpu/drm/drm_buddy.ko + AUTOLOAD:=$(call AutoProbe,drm_buddy) +endef + +define KernelPackage/drm-buddy/description + A page based buddy allocator +endef + +$(eval $(call KernelPackage,drm-buddy)) + +define KernelPackage/drm-display-helper + SUBMENU:=$(VIDEO_MENU) + TITLE:=DRM helpers for display adapters drivers + DEPENDS:=@DISPLAY_SUPPORT +kmod-drm-kms-helper @LINUX_6_1 + KCONFIG:=CONFIG_DRM_DISPLAY_HELPER + FILES:=$(LINUX_DIR)/drivers/gpu/drm/display/drm_display_helper.ko + AUTOLOAD:=$(call AutoProbe,drm_display_helper) +endef + +define KernelPackage/drm-display-helper/description + DRM helpers for display adapters drivers. +endef + +$(eval $(call KernelPackage,drm-display-helper)) + define KernelPackage/drm-ttm SUBMENU:=$(VIDEO_MENU) TITLE:=GPU memory management subsystem @@ -255,6 +305,20 @@ endef $(eval $(call KernelPackage,drm-ttm)) + +define KernelPackage/drm-ttm-helper + SUBMENU:=$(VIDEO_MENU) + TITLE:=Helpers for ttm-based gem objects + HIDDEN:=1 + DEPENDS:=@DISPLAY_SUPPORT +kmod-drm-ttm + KCONFIG:=CONFIG_DRM_TTM_HELPER + FILES:=$(LINUX_DIR)/drivers/gpu/drm/drm_ttm_helper.ko + AUTOLOAD:=$(call AutoProbe,drm_ttm_helper) +endef + +$(eval $(call KernelPackage,drm-ttm-helper)) + + define KernelPackage/drm-kms-helper SUBMENU:=$(VIDEO_MENU) TITLE:=CRTC helpers for KMS drivers @@ -277,7 +341,8 @@ define KernelPackage/drm-amdgpu SUBMENU:=$(VIDEO_MENU) TITLE:=AMDGPU DRM support DEPENDS:=@TARGET_x86 @DISPLAY_SUPPORT +kmod-backlight +kmod-drm-ttm \ - +kmod-drm-kms-helper +kmod-i2c-algo-bit +amdgpu-firmware + +kmod-drm-ttm-helper +kmod-drm-kms-helper +kmod-i2c-algo-bit +amdgpu-firmware \ + +kmod-drm-display-helper +kmod-drm-buddy +kmod-acpi-video KCONFIG:=CONFIG_DRM_AMDGPU \ CONFIG_DRM_AMDGPU_SI=y \ CONFIG_DRM_AMDGPU_CIK=y \ @@ -298,7 +363,7 @@ $(eval $(call KernelPackage,drm-amdgpu)) define KernelPackage/drm-imx SUBMENU:=$(VIDEO_MENU) TITLE:=Freescale i.MX DRM support - DEPENDS:=@TARGET_imx6 +kmod-drm-kms-helper + DEPENDS:=@TARGET_imx +kmod-drm-kms-helper KCONFIG:=CONFIG_DRM_IMX \ CONFIG_DRM_FBDEV_EMULATION=y \ CONFIG_DRM_FBDEV_OVERALLOC=100 \ @@ -315,6 +380,7 @@ define KernelPackage/drm-imx CONFIG_DRM_IMX_HDMI=n FILES:= \ $(LINUX_DIR)/drivers/gpu/drm/imx/imxdrm.ko \ + $(LINUX_DIR)/drivers/gpu/drm/drm_dma_helper.ko@ge6.1 \ $(LINUX_DIR)/drivers/gpu/ipu-v3/imx-ipu-v3.ko AUTOLOAD:=$(call AutoLoad,08,imxdrm imx-ipu-v3 imx-ipuv3-crtc) endef @@ -328,7 +394,7 @@ $(eval $(call KernelPackage,drm-imx)) define KernelPackage/drm-imx-hdmi SUBMENU:=$(VIDEO_MENU) TITLE:=Freescale i.MX HDMI DRM support - DEPENDS:=+kmod-sound-core kmod-drm-imx + DEPENDS:=+kmod-sound-core kmod-drm-imx +LINUX_6_1:kmod-drm-display-helper KCONFIG:=CONFIG_DRM_IMX_HDMI \ CONFIG_DRM_DW_HDMI_AHB_AUDIO \ CONFIG_DRM_DW_HDMI_I2S_AUDIO @@ -360,7 +426,8 @@ define KernelPackage/drm-imx-ldb CONFIG_DRM_PANEL_S6E8AA0=n \ CONFIG_DRM_PANEL_SITRONIX_ST7789V=n FILES:=$(LINUX_DIR)/drivers/gpu/drm/imx/imx-ldb.ko \ - $(LINUX_DIR)/drivers/gpu/drm/panel/panel-simple.ko + $(LINUX_DIR)/drivers/gpu/drm/panel/panel-simple.ko \ + $(LINUX_DIR)/drivers/gpu/drm/drm_dp_aux_bus.ko@lt6.1 AUTOLOAD:=$(call AutoLoad,08,imx-ldb) endef @@ -374,7 +441,8 @@ define KernelPackage/drm-radeon SUBMENU:=$(VIDEO_MENU) TITLE:=Radeon DRM support DEPENDS:=@TARGET_x86 @DISPLAY_SUPPORT +kmod-backlight +kmod-drm-kms-helper \ - +kmod-drm-ttm +kmod-i2c-algo-bit +radeon-firmware + +kmod-drm-ttm +kmod-drm-ttm-helper +kmod-i2c-algo-bit +radeon-firmware \ + +kmod-drm-display-helper +kmod-acpi-video KCONFIG:=CONFIG_DRM_RADEON FILES:=$(LINUX_DIR)/drivers/gpu/drm/radeon/radeon.ko AUTOLOAD:=$(call AutoProbe,radeon) @@ -393,21 +461,16 @@ $(eval $(call KernelPackage,drm-radeon)) define KernelPackage/video-core SUBMENU:=$(VIDEO_MENU) TITLE=Video4Linux support - DEPENDS:=@PCI_SUPPORT||USB_SUPPORT +PACKAGE_kmod-i2c-core:kmod-i2c-core + DEPENDS:=+PACKAGE_kmod-i2c-core:kmod-i2c-core KCONFIG:= \ CONFIG_MEDIA_SUPPORT \ CONFIG_MEDIA_CAMERA_SUPPORT=y \ CONFIG_VIDEO_DEV \ - CONFIG_VIDEO_V4L1=y \ - CONFIG_VIDEO_ALLOW_V4L1=y \ - CONFIG_VIDEO_CAPTURE_DRIVERS=y \ - CONFIG_V4L_USB_DRIVERS=y \ - CONFIG_V4L_PCI_DRIVERS=y \ CONFIG_V4L_PLATFORM_DRIVERS=y \ - CONFIG_V4L_ISA_PARPORT_DRIVERS=y + CONFIG_MEDIA_PLATFORM_DRIVERS=y@ge6.1 FILES:= \ $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/videodev.ko - AUTOLOAD:=$(call AutoLoad,60, videodev v4l2-common) + AUTOLOAD:=$(call AutoLoad,60,videodev) endef define KernelPackage/video-core/description @@ -428,6 +491,10 @@ $(AddDepends/video) CONFIG_MEDIA_CAMERA_SUPPORT=y endef +define AddDepends/framegrabber +$(AddDepends/video) + KCONFIG+=CONFIG_MEDIA_PCI_SUPPORT=y +endef define KernelPackage/video-videobuf2 TITLE:=videobuf2 lib @@ -435,6 +502,7 @@ define KernelPackage/video-videobuf2 KCONFIG:= \ CONFIG_VIDEOBUF2_CORE \ CONFIG_VIDEOBUF2_MEMOPS \ + CONFIG_VIDEOBUF2_V4L2 \ CONFIG_VIDEOBUF2_VMALLOC FILES:= \ $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-common.ko \ @@ -856,6 +924,21 @@ endef $(eval $(call KernelPackage,video-gspca-sq905c)) +define KernelPackage/video-gspca-sq930x + TITLE:=sq930x webcam support + KCONFIG:=CONFIG_USB_GSPCA_SQ930X + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_sq930x.ko + AUTOLOAD:=$(call AutoProbe,gspca_sq930x) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-sq930x/description + The SQ Technologies SQ930X based USB Camera Driver (sq930x) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-sq930x)) + + define KernelPackage/video-gspca-stk014 TITLE:=stk014 webcam support KCONFIG:=CONFIG_USB_GSPCA_STK014 @@ -1019,3 +1102,101 @@ define KernelPackage/video-gspca-konica/description endef $(eval $(call KernelPackage,video-gspca-konica)) + +# +# Video Processing +# + +define KernelPackage/video-mem2mem + SUBMENU:=$(VIDEO_MENU) + TITLE:=Memory 2 Memory device support + HIDDEN:=1 + DEPENDS:=+kmod-video-videobuf2 + KCONFIG:= \ + CONFIG_V4L_MEM2MEM_DRIVERS=y \ + CONFIG_V4L2_MEM2MEM_DEV + FILES:= $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/v4l2-mem2mem.ko + AUTOLOAD:=$(call AutoLoad,66,v4l2-mem2mem) + $(call AddDepends/video) +endef + +define KernelPackage/video-mem2mem/description + Memory 2 memory device support +endef + +$(eval $(call KernelPackage,video-mem2mem)) + +define KernelPackage/video-dma + SUBMENU:=$(VIDEO_MENU) + TITLE:=Video DMA support + HIDDEN:=1 + DEPENDS:=+kmod-video-videobuf2 + KCONFIG:= \ + CONFIG_VIDEOBUF2_DMA_CONTIG \ + CONFIG_VIDEOBUF2_DMA_SG + FILES:= $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-dma-*.ko + AUTOLOAD:=$(call AutoLoad,66,videobuf2-dma-contig videobuf2-dma-sg) + $(call AddDepends/video) +endef + +define KernelPackage/video-dma/description + Video DMA support +endef + +$(eval $(call KernelPackage,video-dma)) + +define KernelPackage/video-coda + TITLE:=i.MX VPU support + DEPENDS:=@(TARGET_imx&&!TARGET_imx_cortexa7) +kmod-video-mem2mem +kmod-video-dma + KCONFIG:= \ + CONFIG_VIDEO_CODA \ + CONFIG_VIDEO_IMX_VDOA + FILES:= \ + $(LINUX_DIR)/drivers/media/$(V4L2_MEM2MEM_DIR)/coda/coda-vpu.ko@lt6.1 \ + $(LINUX_DIR)/drivers/media/$(V4L2_MEM2MEM_DIR)/chips-media/coda-vpu.ko@ge6.1 \ + $(LINUX_DIR)/drivers/media/$(V4L2_MEM2MEM_DIR)/coda/imx-vdoa.ko@lt6.1 \ + $(LINUX_DIR)/drivers/media/$(V4L2_MEM2MEM_DIR)/chips-media/imx-vdoa.ko@ge6.1 \ + $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/v4l2-jpeg.ko + AUTOLOAD:=$(call AutoProbe,coda-vpu imx-vdoa v4l2-jpeg) + $(call AddDepends/video) +endef + +define KernelPackage/video-coda/description + The i.MX Video Processing Unit (VPU) kernel module +endef + +$(eval $(call KernelPackage,video-coda)) + +define KernelPackage/video-pxp + TITLE:=i.MX PXP support + DEPENDS:=@TARGET_imx +kmod-video-mem2mem +kmod-video-dma + KCONFIG:= CONFIG_VIDEO_IMX_PXP + FILES:= $(LINUX_DIR)/drivers/media/$(V4L2_MEM2MEM_DIR)/imx-pxp.ko@lt6.1 \ + $(LINUX_DIR)/drivers/media/platform/nxp/imx-pxp.ko@ge6.1 + AUTOLOAD:=$(call AutoProbe,imx-pxp) + $(call AddDepends/video) +endef + +define KernelPackage/video-pxp/description + The i.MX Pixel Pipeline (PXP) kernel module + This enables hardware accelerated support for image + Colour Conversion, Scaling and Rotation +endef + +$(eval $(call KernelPackage,video-pxp)) + +define KernelPackage/video-tw686x + TITLE:=TW686x support + DEPENDS:=@PCIE_SUPPORT +kmod-video-dma +kmod-sound-core + KCONFIG:= CONFIG_VIDEO_TW686X + FILES:= $(LINUX_DIR)/drivers/media/pci/tw686x/tw686x.ko + AUTOLOAD:=$(call AutoProbe,tw686x) + MODPARAMS.tw686x:=dma_mode=contig + $(call AddDepends/framegrabber) +endef + +define KernelPackage/video-tw686x/description + The Intersil/Techwell TW686x kernel module +endef + +$(eval $(call KernelPackage,video-tw686x)) diff --git a/package/kernel/linux/modules/virt.mk b/package/kernel/linux/modules/virt.mk index a9a0b538ff2..f45cb176147 100644 --- a/package/kernel/linux/modules/virt.mk +++ b/package/kernel/linux/modules/virt.mk @@ -20,8 +20,9 @@ define KernelPackage/kvm-x86 TITLE:=Kernel-based Virtual Machine (KVM) support DEPENDS:=@TARGET_x86_generic||TARGET_x86_64 +kmod-irqbypass KCONFIG:=\ - CONFIG_VIRTUALIZATION=y \ - CONFIG_KVM + CONFIG_KVM \ + CONFIG_KVM_MMU_AUDIT=n \ + CONFIG_VIRTUALIZATION=y FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm.ko AUTOLOAD:=$(call AutoProbe,kvm.ko) endef @@ -71,3 +72,70 @@ define KernelPackage/kvm-amd/description endef $(eval $(call KernelPackage,kvm-amd)) + + +define KernelPackage/vfio + SUBMENU:=Virtualization + TITLE:=VFIO Non-Privileged userspace driver framework + DEPENDS:=@TARGET_x86_64||TARGET_armsr_armv8 + KCONFIG:= \ + CONFIG_VFIO \ + CONFIG_VFIO_NOIOMMU=n \ + CONFIG_VFIO_MDEV=n + FILES:= \ + $(LINUX_DIR)/drivers/vfio/vfio.ko \ + $(LINUX_DIR)/drivers/vfio/vfio_virqfd.ko \ + $(LINUX_DIR)/drivers/vfio/vfio_iommu_type1.ko + AUTOLOAD:=$(call AutoProbe,vfio vfio_iommu_type1 vfio_virqfd) +endef + +define KernelPackage/vfio/description + VFIO provides a framework for secure userspace device drivers. +endef + +$(eval $(call KernelPackage,vfio)) + + +define KernelPackage/vfio-pci + SUBMENU:=Virtualization + TITLE:=Generic VFIO support for any PCI device + DEPENDS:=@TARGET_x86_64||TARGET_armsr_armv8 @PCI_SUPPORT +kmod-vfio +kmod-irqbypass + KCONFIG:= \ + CONFIG_VFIO_PCI \ + CONFIG_VFIO_PCI_IGD=n + FILES:= \ + $(LINUX_DIR)/drivers/vfio/pci/vfio-pci-core.ko \ + $(LINUX_DIR)/drivers/vfio/pci/vfio-pci.ko + AUTOLOAD:=$(call AutoProbe,vfio-pci) +endef + +define KernelPackage/vfio-pci/description + Support for the generic PCI VFIO bus driver which can connect any PCI + device to the VFIO framework. +endef + +$(eval $(call KernelPackage,vfio-pci)) + + +define KernelPackage/vhost + SUBMENU:=Virtualization + TITLE:=Host kernel accelerator for virtio (base) + KCONFIG:=CONFIG_VHOST + FILES:=$(LINUX_DIR)/drivers/vhost/vhost.ko \ + $(LINUX_DIR)/drivers/vhost/vhost_iotlb.ko + AUTOLOAD:=$(call AutoProbe,vhost vhost_iotlb) +endef + +$(eval $(call KernelPackage,vhost)) + + +define KernelPackage/vhost-net + SUBMENU:=Virtualization + TITLE:=Host kernel accelerator for virtio-net + DEPENDS:=+kmod-tun +kmod-vhost + KCONFIG:=CONFIG_VHOST_NET + FILES:=$(LINUX_DIR)/drivers/vhost/vhost_net.ko + AUTOLOAD:=$(call AutoProbe,vhost_net) +endef + +$(eval $(call KernelPackage,vhost-net)) diff --git a/package/kernel/linux/modules/w1.mk b/package/kernel/linux/modules/w1.mk index 6ac7458e429..9cba28da11d 100644 --- a/package/kernel/linux/modules/w1.mk +++ b/package/kernel/linux/modules/w1.mk @@ -83,7 +83,7 @@ $(eval $(call KernelPackage,w1-master-ds2490)) define KernelPackage/w1-master-mxc TITLE:=Freescale MXC 1-wire busmaster - DEPENDS:=@TARGET_imx6 + DEPENDS:=@TARGET_imx KCONFIG:=CONFIG_W1_MASTER_MXC FILES:=$(W1_MASTERS_DIR)/mxc_w1.ko AUTOLOAD:=$(call AutoProbe,mxc_w1) @@ -160,23 +160,6 @@ endef $(eval $(call KernelPackage,w1-slave-ds2433)) -define KernelPackage/w1-slave-ds2760 - TITLE:=Dallas 2760 battery monitor chip (HP iPAQ & others) - KCONFIG:= \ - CONFIG_W1_SLAVE_DS2760 \ - CONFIG_W1_SLAVE_DS2433_CRC=n - FILES:=$(W1_SLAVES_DIR)/w1_ds2760.ko - AUTOLOAD:=$(call AutoProbe,w1_ds2760) - $(call AddDepends/w1) -endef - -define KernelPackage/w1-slave-ds2760/description - Kernel module for 1-wire DS2760 battery monitor chip support -endef - -$(eval $(call KernelPackage,w1-slave-ds2760)) - - define KernelPackage/w1-slave-ds2413 TITLE:=DS2413 2 Ch. Addressable Switch KCONFIG:= \ diff --git a/package/kernel/linux/modules/wireless.mk b/package/kernel/linux/modules/wireless.mk deleted file mode 100644 index f7a40ba10a1..00000000000 --- a/package/kernel/linux/modules/wireless.mk +++ /dev/null @@ -1,42 +0,0 @@ -# -# Copyright (C) 2006-2008 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -WIRELESS_MENU:=Wireless Drivers - -define KernelPackage/net-prism54 - SUBMENU:=$(WIRELESS_MENU) - TITLE:=Intersil Prism54 support - DEPENDS:=@PCI_SUPPORT +@DRIVER_WEXT_SUPPORT +prism54-firmware - KCONFIG:=CONFIG_PRISM54 - FILES:= \ - $(LINUX_DIR)/drivers/net/wireless/intersil/prism54/prism54.ko - AUTOLOAD:=$(call AutoProbe,prism54) -endef - -define KernelPackage/net-prism54/description - Kernel modules for Intersil Prism54 support -endef - -$(eval $(call KernelPackage,net-prism54)) - - -define KernelPackage/net-rtl8192su - SUBMENU:=$(WIRELESS_MENU) - TITLE:=RTL8192SU support (staging) - DEPENDS:=@USB_SUPPORT +@DRIVER_WEXT_SUPPORT +kmod-usb-core +rtl8192su-firmware - KCONFIG:=\ - CONFIG_STAGING=y \ - CONFIG_R8712U - FILES:=$(LINUX_DIR)/drivers/staging/rtl8712/r8712u.ko - AUTOLOAD:=$(call AutoProbe,r8712u) -endef - -define KernelPackage/net-rtl8192su/description - Kernel modules for RealTek RTL8712 and RTL81XXSU fullmac support. -endef - -$(eval $(call KernelPackage,net-rtl8192su)) |
