From 554e4fd90f6b9b64b03940414b90f2f4e68b8a46 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Sun, 16 Jul 2023 17:49:04 +0200 Subject: [PATCH] ipq807x: add kernel modules Makefiles Signed-off-by: John Crispin --- feeds/ipq807x/linux/Makefile | 69 + .../ipq807x/linux/files/hotplug-sched-teql.sh | 23 + .../linux/files/sysctl-br-netfilter.conf | 7 + .../linux/files/sysctl-nf-conntrack.conf | 8 + feeds/ipq807x/linux/files/sysctl-tcp-bbr.conf | 4 + feeds/ipq807x/linux/modules/001-depends.mk | 14 + feeds/ipq807x/linux/modules/block.mk | 589 ++++++ feeds/ipq807x/linux/modules/can.mk | 309 +++ feeds/ipq807x/linux/modules/crypto.mk | 1005 ++++++++++ feeds/ipq807x/linux/modules/firewire.mk | 76 + feeds/ipq807x/linux/modules/fs.mk | 578 ++++++ feeds/ipq807x/linux/modules/hwmon.mk | 572 ++++++ feeds/ipq807x/linux/modules/i2c.mk | 261 +++ feeds/ipq807x/linux/modules/iio.mk | 546 ++++++ feeds/ipq807x/linux/modules/input.mk | 229 +++ feeds/ipq807x/linux/modules/leds.mk | 116 ++ feeds/ipq807x/linux/modules/lib.mk | 274 +++ feeds/ipq807x/linux/modules/netdevices.mk | 1244 ++++++++++++ feeds/ipq807x/linux/modules/netfilter.mk | 1182 +++++++++++ feeds/ipq807x/linux/modules/netsupport.mk | 1287 ++++++++++++ feeds/ipq807x/linux/modules/nls.mk | 339 ++++ feeds/ipq807x/linux/modules/other.mk | 1305 +++++++++++++ feeds/ipq807x/linux/modules/pcmcia.mk | 113 ++ feeds/ipq807x/linux/modules/sound.mk | 534 +++++ feeds/ipq807x/linux/modules/spi.mk | 75 + feeds/ipq807x/linux/modules/usb.mk | 1736 +++++++++++++++++ feeds/ipq807x/linux/modules/video.mk | 1025 ++++++++++ feeds/ipq807x/linux/modules/virt.mk | 73 + feeds/ipq807x/linux/modules/w1.mk | 193 ++ feeds/ipq807x/linux/modules/wireless.mk | 42 + feeds/ipq807x/linux/modules/wpan.mk | 152 ++ 31 files changed, 13980 insertions(+) create mode 100644 feeds/ipq807x/linux/Makefile create mode 100644 feeds/ipq807x/linux/files/hotplug-sched-teql.sh create mode 100644 feeds/ipq807x/linux/files/sysctl-br-netfilter.conf create mode 100644 feeds/ipq807x/linux/files/sysctl-nf-conntrack.conf create mode 100644 feeds/ipq807x/linux/files/sysctl-tcp-bbr.conf create mode 100644 feeds/ipq807x/linux/modules/001-depends.mk create mode 100644 feeds/ipq807x/linux/modules/block.mk create mode 100644 feeds/ipq807x/linux/modules/can.mk create mode 100644 feeds/ipq807x/linux/modules/crypto.mk create mode 100644 feeds/ipq807x/linux/modules/firewire.mk create mode 100644 feeds/ipq807x/linux/modules/fs.mk create mode 100644 feeds/ipq807x/linux/modules/hwmon.mk create mode 100644 feeds/ipq807x/linux/modules/i2c.mk create mode 100644 feeds/ipq807x/linux/modules/iio.mk create mode 100644 feeds/ipq807x/linux/modules/input.mk create mode 100644 feeds/ipq807x/linux/modules/leds.mk create mode 100644 feeds/ipq807x/linux/modules/lib.mk create mode 100644 feeds/ipq807x/linux/modules/netdevices.mk create mode 100644 feeds/ipq807x/linux/modules/netfilter.mk create mode 100644 feeds/ipq807x/linux/modules/netsupport.mk create mode 100644 feeds/ipq807x/linux/modules/nls.mk create mode 100644 feeds/ipq807x/linux/modules/other.mk create mode 100644 feeds/ipq807x/linux/modules/pcmcia.mk create mode 100644 feeds/ipq807x/linux/modules/sound.mk create mode 100644 feeds/ipq807x/linux/modules/spi.mk create mode 100644 feeds/ipq807x/linux/modules/usb.mk create mode 100644 feeds/ipq807x/linux/modules/video.mk create mode 100644 feeds/ipq807x/linux/modules/virt.mk create mode 100644 feeds/ipq807x/linux/modules/w1.mk create mode 100644 feeds/ipq807x/linux/modules/wireless.mk create mode 100644 feeds/ipq807x/linux/modules/wpan.mk diff --git a/feeds/ipq807x/linux/Makefile b/feeds/ipq807x/linux/Makefile new file mode 100644 index 000000000..cf99f0b79 --- /dev/null +++ b/feeds/ipq807x/linux/Makefile @@ -0,0 +1,69 @@ +# +# Copyright (C) 2006-2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk + +PKG_NAME:=kernel +PKG_FLAGS:=hold + +PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/packages +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-4.4.mk + +PKG_LICENSE:=GPL-2.0 +PKG_LICENSE_FILES:= + +export SHELL:=/bin/sh +.ONESHELL: +.SHELLFLAGS = -ec + +include $(INCLUDE_DIR)/package.mk + +ifeq ($(DUMP),) + STAMP_BUILT:=$(STAMP_BUILT)_$(shell $(SCRIPT_DIR)/kconfig.pl $(LINUX_DIR)/.config | $(MKHASH) md5) + -include $(LINUX_DIR)/.config +endif + +define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) +endef + +define Build/Configure +endef + +define Build/Compile +endef + +define KernelPackage/depends +endef + +CONFIG_PACKAGE_kernel=y +define Package/kernel + SECTION:=sys + CATEGORY:=Kernel + DEFAULT:=y + TITLE:=Virtual kernel package + VERSION:=$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC) + URL:=http://www.kernel.org/ + PKG_FLAGS:=nonshared + DEPENDS:=@!TARGET_ipq807x +endef + +define Package/kernel/install + # nothing to do +endef + +define Package/kernel/extra_provides + sed -e 's,.*/,,' $(LINUX_DIR)/modules.builtin; +endef + +$(eval $(if $(DUMP),,$(call BuildPackage,kernel))) + +include $(sort $(wildcard ./modules/*.mk)) +-include $(SUBTARGET_MODULES) diff --git a/feeds/ipq807x/linux/files/hotplug-sched-teql.sh b/feeds/ipq807x/linux/files/hotplug-sched-teql.sh new file mode 100644 index 000000000..2dc4ed4a8 --- /dev/null +++ b/feeds/ipq807x/linux/files/hotplug-sched-teql.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +. /lib/functions.sh + +if [ "$ACTION" != "ifup" ]; then + exit +fi + +config_load network + +config_get teql $INTERFACE teql + +if [ "$teql" != "" ]; then + logger Adding device $DEVICE to TEQL master $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 + # slave. So bring it up now, if it isn't already. + if ! cat /sys/class/net/$teql/carrier &>/dev/null; then + ifup $teql & + fi +fi diff --git a/feeds/ipq807x/linux/files/sysctl-br-netfilter.conf b/feeds/ipq807x/linux/files/sysctl-br-netfilter.conf new file mode 100644 index 000000000..b10ddc087 --- /dev/null +++ b/feeds/ipq807x/linux/files/sysctl-br-netfilter.conf @@ -0,0 +1,7 @@ +# Do not edit, changes to this file will be lost on upgrades +# /etc/sysctl.conf can be used to customize sysctl settings + +# disable bridge firewalling by default +net.bridge.bridge-nf-call-arptables=0 +net.bridge.bridge-nf-call-ip6tables=0 +net.bridge.bridge-nf-call-iptables=0 diff --git a/feeds/ipq807x/linux/files/sysctl-nf-conntrack.conf b/feeds/ipq807x/linux/files/sysctl-nf-conntrack.conf new file mode 100644 index 000000000..c6a0ef362 --- /dev/null +++ b/feeds/ipq807x/linux/files/sysctl-nf-conntrack.conf @@ -0,0 +1,8 @@ +# Do not edit, changes to this file will be lost on upgrades +# /etc/sysctl.conf can be used to customize sysctl settings + +net.netfilter.nf_conntrack_acct=1 +net.netfilter.nf_conntrack_checksum=0 +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/feeds/ipq807x/linux/files/sysctl-tcp-bbr.conf b/feeds/ipq807x/linux/files/sysctl-tcp-bbr.conf new file mode 100644 index 000000000..3a7dba2f0 --- /dev/null +++ b/feeds/ipq807x/linux/files/sysctl-tcp-bbr.conf @@ -0,0 +1,4 @@ +# Do not edit, changes to this file will be lost on upgrades +# /etc/sysctl.conf can be used to customize sysctl settings + +net.ipv4.tcp_congestion_control=bbr diff --git a/feeds/ipq807x/linux/modules/001-depends.mk b/feeds/ipq807x/linux/modules/001-depends.mk new file mode 100644 index 000000000..806c3dcfd --- /dev/null +++ b/feeds/ipq807x/linux/modules/001-depends.mk @@ -0,0 +1,14 @@ +# +# Copyright (C) 2010-2011 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +define AddDepends/nls + DEPENDS+= +kmod-nls-base $(foreach cp,$(1),+kmod-nls-$(cp)) +endef + +define AddDepends/rfkill + DEPENDS+= +USE_RFKILL:kmod-rfkill $(1) +endef diff --git a/feeds/ipq807x/linux/modules/block.mk b/feeds/ipq807x/linux/modules/block.mk new file mode 100644 index 000000000..b7767b3d1 --- /dev/null +++ b/feeds/ipq807x/linux/modules/block.mk @@ -0,0 +1,589 @@ +# +# Copyright (C) 2006-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +BLOCK_MENU:=Block Devices + +define KernelPackage/aoe + SUBMENU:=$(BLOCK_MENU) + TITLE:=ATA over Ethernet support + KCONFIG:=CONFIG_ATA_OVER_ETH + FILES:=$(LINUX_DIR)/drivers/block/aoe/aoe.ko + AUTOLOAD:=$(call AutoLoad,30,aoe) +endef + +define KernelPackage/aoe/description + Kernel support for ATA over Ethernet +endef + +$(eval $(call KernelPackage,aoe)) + + +define KernelPackage/ata-core + SUBMENU:=$(BLOCK_MENU) + TITLE:=Serial and Parallel ATA support + DEPENDS:=@PCI_SUPPORT||TARGET_sunxi +kmod-scsi-core + KCONFIG:=CONFIG_ATA + FILES:=$(LINUX_DIR)/drivers/ata/libata.ko +ifneq ($(wildcard $(LINUX_DIR)/drivers/ata/libahci.ko),) + FILES+=$(LINUX_DIR)/drivers/ata/libahci.ko +endif +endef + +$(eval $(call KernelPackage,ata-core)) + + +define AddDepends/ata + SUBMENU:=$(BLOCK_MENU) + DEPENDS+=+kmod-ata-core $(1) +endef + + +define KernelPackage/ata-ahci + TITLE:=AHCI Serial ATA support + KCONFIG:=CONFIG_SATA_AHCI + FILES:= \ + $(LINUX_DIR)/drivers/ata/ahci.ko + AUTOLOAD:=$(call AutoLoad,41,libahci ahci,1) + $(call AddDepends/ata) +endef + +define KernelPackage/ata-ahci/description + Support for AHCI Serial ATA controllers +endef + +$(eval $(call KernelPackage,ata-ahci)) + + +define KernelPackage/ata-ahci-platform + TITLE:=AHCI Serial ATA Platform support + KCONFIG:=CONFIG_SATA_AHCI_PLATFORM + FILES:= \ + $(LINUX_DIR)/drivers/ata/ahci_platform.ko \ + $(LINUX_DIR)/drivers/ata/libahci_platform.ko + AUTOLOAD:=$(call AutoLoad,40,libahci libahci_platform ahci_platform,1) + $(call AddDepends/ata,@TARGET_ipq806x||TARGET_layerscape||TARGET_sunxi) +endef + +define KernelPackage/ata-ahci-platform/description + Platform support for AHCI Serial ATA controllers +endef + +$(eval $(call KernelPackage,ata-ahci-platform)) + + +define KernelPackage/ata-artop + TITLE:=ARTOP 6210/6260 PATA support + KCONFIG:=CONFIG_PATA_ARTOP + FILES:=$(LINUX_DIR)/drivers/ata/pata_artop.ko + AUTOLOAD:=$(call AutoLoad,41,pata_artop,1) + $(call AddDepends/ata) +endef + +define KernelPackage/ata-artop/description + PATA support for ARTOP 6210/6260 host controllers +endef + +$(eval $(call KernelPackage,ata-artop)) + + +define KernelPackage/ata-marvell-sata + TITLE:=Marvell Serial ATA support + KCONFIG:=CONFIG_SATA_MV + FILES:=$(LINUX_DIR)/drivers/ata/sata_mv.ko + AUTOLOAD:=$(call AutoLoad,41,sata_mv,1) + $(call AddDepends/ata) +endef + +define KernelPackage/ata-marvell-sata/description + SATA support for marvell chipsets +endef + +$(eval $(call KernelPackage,ata-marvell-sata)) + + +define KernelPackage/ata-nvidia-sata + TITLE:=Nvidia Serial ATA support + KCONFIG:=CONFIG_SATA_NV + FILES:=$(LINUX_DIR)/drivers/ata/sata_nv.ko + AUTOLOAD:=$(call AutoLoad,41,sata_nv,1) + $(call AddDepends/ata) +endef + +$(eval $(call KernelPackage,ata-nvidia-sata)) + + +define KernelPackage/ata-pdc202xx-old + TITLE:=Older Promise PATA controller support + KCONFIG:= \ + CONFIG_ATA_SFF=y \ + CONFIG_PATA_PDC_OLD + FILES:=$(LINUX_DIR)/drivers/ata/pata_pdc202xx_old.ko + AUTOLOAD:=$(call AutoLoad,41,pata_pdc202xx_old,1) + $(call AddDepends/ata) +endef + +define KernelPackage/ata-pdc202xx-old/description + This option enables support for the Promise 20246, 20262, 20263, + 20265 and 20267 adapters +endef + +$(eval $(call KernelPackage,ata-pdc202xx-old)) + + +define KernelPackage/ata-piix + TITLE:=Intel PIIX PATA/SATA support + KCONFIG:=CONFIG_ATA_PIIX + FILES:=$(LINUX_DIR)/drivers/ata/ata_piix.ko + AUTOLOAD:=$(call AutoLoad,41,ata_piix,1) + $(call AddDepends/ata) +endef + +define KernelPackage/ata-piix/description + SATA support for Intel ICH5/6/7/8 series host controllers and + PATA support for Intel ESB/ICH/PIIX3/PIIX4 series host controllers +endef + +$(eval $(call KernelPackage,ata-piix)) + + +define KernelPackage/ata-sil + TITLE:=Silicon Image SATA support + KCONFIG:=CONFIG_SATA_SIL + FILES:=$(LINUX_DIR)/drivers/ata/sata_sil.ko + AUTOLOAD:=$(call AutoLoad,41,sata_sil,1) + $(call AddDepends/ata) +endef + +define KernelPackage/ata-sil/description + Support for Silicon Image Serial ATA controllers +endef + +$(eval $(call KernelPackage,ata-sil)) + + +define KernelPackage/ata-sil24 + TITLE:=Silicon Image 3124/3132 SATA support + KCONFIG:=CONFIG_SATA_SIL24 + FILES:=$(LINUX_DIR)/drivers/ata/sata_sil24.ko + AUTOLOAD:=$(call AutoLoad,41,sata_sil24,1) + $(call AddDepends/ata) +endef + +define KernelPackage/ata-sil24/description + Support for Silicon Image 3124/3132 Serial ATA controllers +endef + +$(eval $(call KernelPackage,ata-sil24)) + + +define KernelPackage/ata-via-sata + TITLE:=VIA SATA support + KCONFIG:=CONFIG_SATA_VIA + FILES:=$(LINUX_DIR)/drivers/ata/sata_via.ko + AUTOLOAD:=$(call AutoLoad,41,sata_via,1) + $(call AddDepends/ata) +endef + +define KernelPackage/ata-via-sata/description + This option enables support for VIA Serial ATA +endef + +$(eval $(call KernelPackage,ata-via-sata)) + + +define KernelPackage/block2mtd + SUBMENU:=$(BLOCK_MENU) + TITLE:=Block device MTD emulation + KCONFIG:=CONFIG_MTD_BLOCK2MTD + FILES:=$(LINUX_DIR)/drivers/mtd/devices/block2mtd.ko +endef + +$(eval $(call KernelPackage,block2mtd)) + + +define KernelPackage/dax + SUBMENU:=$(BLOCK_MENU) + TITLE:=DAX: direct access to differentiated memory + KCONFIG:=CONFIG_DAX + FILES:=$(LINUX_DIR)/drivers/dax/dax.ko +endef + +$(eval $(call KernelPackage,dax)) + + +define KernelPackage/dm + SUBMENU:=$(BLOCK_MENU) + TITLE:=Device Mapper + DEPENDS:=+kmod-crypto-manager +kmod-dax + # All the "=n" are unnecessary, they're only there + # to stop the config from asking the question. + # MIRROR is M because I've needed it for pvmove. + KCONFIG:= \ + CONFIG_BLK_DEV_MD=n \ + CONFIG_DM_DEBUG=n \ + CONFIG_DM_UEVENT=n \ + CONFIG_DM_DELAY=n \ + CONFIG_DM_LOG_WRITES=n \ + CONFIG_DM_MQ_DEFAULT=n \ + CONFIG_DM_MULTIPATH=n \ + CONFIG_DM_ZERO=n \ + CONFIG_DM_SNAPSHOT=n \ + CONFIG_DM_LOG_USERSPACE=n \ + CONFIG_MD=y \ + CONFIG_BLK_DEV_DM \ + CONFIG_DM_CRYPT \ + CONFIG_DM_MIRROR + FILES:= \ + $(LINUX_DIR)/drivers/md/dm-mod.ko \ + $(LINUX_DIR)/drivers/md/dm-crypt.ko \ + $(LINUX_DIR)/drivers/md/dm-log.ko \ + $(LINUX_DIR)/drivers/md/dm-mirror.ko \ + $(LINUX_DIR)/drivers/md/dm-region-hash.ko + AUTOLOAD:=$(call AutoLoad,30,dm-mod dm-log dm-region-hash dm-mirror dm-crypt) +endef + +define KernelPackage/dm/description + Kernel module necessary for LVM2 support +endef + +$(eval $(call KernelPackage,dm)) + +define KernelPackage/dm-raid + SUBMENU:=$(BLOCK_MENU) + TITLE:=LVM2 raid support + DEPENDS:=+kmod-dm +kmod-md-mod \ + +kmod-md-raid0 +kmod-md-raid1 +kmod-md-raid10 +kmod-md-raid456 + KCONFIG:= \ + CONFIG_DM_RAID + FILES:=$(LINUX_DIR)/drivers/md/dm-raid.ko + AUTOLOAD:=$(call AutoLoad,31,dm-raid) +endef + +define KernelPackage/dm-raid/description + Kernel module necessary for LVM2 raid support +endef + +$(eval $(call KernelPackage,dm-raid)) + + +define KernelPackage/iscsi-initiator + SUBMENU:=$(BLOCK_MENU) + TITLE:=iSCSI Initiator over TCP/IP + DEPENDS:=+kmod-scsi-core +kmod-crypto-hash + KCONFIG:= \ + CONFIG_INET \ + CONFIG_SCSI_LOWLEVEL=y \ + CONFIG_ISCSI_TCP \ + CONFIG_SCSI_ISCSI_ATTRS=y + FILES:= \ + $(LINUX_DIR)/drivers/scsi/iscsi_tcp.ko \ + $(LINUX_DIR)/drivers/scsi/libiscsi.ko \ + $(LINUX_DIR)/drivers/scsi/libiscsi_tcp.ko \ + $(LINUX_DIR)/drivers/scsi/scsi_transport_iscsi.ko + AUTOLOAD:=$(call AutoProbe,libiscsi libiscsi_tcp scsi_transport_iscsi iscsi_tcp) +endef + +define KernelPackage/iscsi-initiator/description +The iSCSI Driver provides a host with the ability to access storage through an +IP network. The driver uses the iSCSI protocol to transport SCSI requests and +responses over a TCP/IP network between the host (the "initiator") and "targets". +endef + +$(eval $(call KernelPackage,iscsi-initiator)) + + +define KernelPackage/md-mod + SUBMENU:=$(BLOCK_MENU) + TITLE:=MD RAID + KCONFIG:= \ + CONFIG_MD=y \ + CONFIG_BLK_DEV_MD=m \ + CONFIG_MD_AUTODETECT=y \ + CONFIG_MD_FAULTY=n + FILES:=$(LINUX_DIR)/drivers/md/md-mod.ko + AUTOLOAD:=$(call AutoLoad,27,md-mod) +endef + +define KernelPackage/md-mod/description + Kernel RAID md module (md-mod.ko). + You will need to select at least one RAID level module below. +endef + +$(eval $(call KernelPackage,md-mod)) + + +define KernelPackage/md/Depends + SUBMENU:=$(BLOCK_MENU) + DEPENDS:=kmod-md-mod $(1) +endef + + +define KernelPackage/md-linear +$(call KernelPackage/md/Depends,) + TITLE:=RAID Linear Module + KCONFIG:=CONFIG_MD_LINEAR + FILES:=$(LINUX_DIR)/drivers/md/linear.ko + AUTOLOAD:=$(call AutoLoad,28,linear) +endef + +define KernelPackage/md-linear/description + RAID "Linear" or "Append" driver module (linear.ko) +endef + +$(eval $(call KernelPackage,md-linear)) + + +define KernelPackage/md-raid0 +$(call KernelPackage/md/Depends,) + TITLE:=RAID0 Module + KCONFIG:=CONFIG_MD_RAID0 + FILES:=$(LINUX_DIR)/drivers/md/raid0.ko + AUTOLOAD:=$(call AutoLoad,28,raid0) +endef + +define KernelPackage/md-raid0/description + RAID Level 0 (Striping) driver module (raid0.ko) +endef + +$(eval $(call KernelPackage,md-raid0)) + + +define KernelPackage/md-raid1 +$(call KernelPackage/md/Depends,) + TITLE:=RAID1 Module + KCONFIG:=CONFIG_MD_RAID1 + FILES:=$(LINUX_DIR)/drivers/md/raid1.ko + AUTOLOAD:=$(call AutoLoad,28,raid1) +endef + +define KernelPackage/md-raid1/description + RAID Level 1 (Mirroring) driver (raid1.ko) +endef + +$(eval $(call KernelPackage,md-raid1)) + + +define KernelPackage/md-raid10 +$(call KernelPackage/md/Depends,) + TITLE:=RAID10 Module + KCONFIG:=CONFIG_MD_RAID10 + FILES:=$(LINUX_DIR)/drivers/md/raid10.ko + AUTOLOAD:=$(call AutoLoad,28,raid10) +endef + +define KernelPackage/md-raid10/description + RAID Level 10 (Mirroring+Striping) driver module (raid10.ko) +endef + +$(eval $(call KernelPackage,md-raid10)) + + +define KernelPackage/md-raid456 +$(call KernelPackage/md/Depends,+kmod-lib-raid6 +kmod-lib-xor +kmod-lib-crc32c) + TITLE:=RAID Level 456 Driver + KCONFIG:= \ + CONFIG_ASYNC_CORE \ + CONFIG_ASYNC_MEMCPY \ + CONFIG_ASYNC_XOR \ + CONFIG_ASYNC_PQ \ + CONFIG_ASYNC_RAID6_RECOV \ + CONFIG_ASYNC_RAID6_TEST=n \ + CONFIG_MD_RAID456 \ + CONFIG_MULTICORE_RAID456=n + FILES:= \ + $(LINUX_DIR)/crypto/async_tx/async_tx.ko \ + $(LINUX_DIR)/crypto/async_tx/async_memcpy.ko \ + $(LINUX_DIR)/crypto/async_tx/async_xor.ko \ + $(LINUX_DIR)/crypto/async_tx/async_pq.ko \ + $(LINUX_DIR)/crypto/async_tx/async_raid6_recov.ko \ + $(LINUX_DIR)/drivers/md/raid456.ko + AUTOLOAD:=$(call AutoLoad,28, async_tx async_memcpy async_xor async_pq async_raid6_recov raid456) +endef + +define KernelPackage/md-raid456/description + RAID Level 4,5,6 kernel module (raid456.ko) + + Includes the following modules required by + raid456.ko: + xor.ko + async_tx.ko + async_xor.ko + async_memcpy.ko + async_pq.ko + async_raid5_recov.ko + raid6_pq.ko +endef + +$(eval $(call KernelPackage,md-raid456)) + + +define KernelPackage/md-multipath +$(call KernelPackage/md/Depends,) + TITLE:=MD Multipath Module + KCONFIG:=CONFIG_MD_MULTIPATH + FILES:=$(LINUX_DIR)/drivers/md/multipath.ko + AUTOLOAD:=$(call AutoLoad,29,multipath) +endef + +define KernelPackage/md-multipath/description + Multipath driver module (multipath.ko) +endef + +$(eval $(call KernelPackage,md-multipath)) + + +define KernelPackage/libsas + SUBMENU:=$(BLOCK_MENU) + DEPENDS:=@TARGET_x86 + TITLE:=SAS Domain Transport Attributes + KCONFIG:=CONFIG_SCSI_SAS_LIBSAS \ + CONFIG_SCSI_SAS_ATTRS \ + CONFIG_SCSI_SAS_ATA=y \ + CONFIG_SCSI_SAS_HOST_SMP=y \ + CONFIG_SCSI_SAS_LIBSAS_DEBUG=y + FILES:= \ + $(LINUX_DIR)/drivers/scsi/scsi_transport_sas.ko \ + $(LINUX_DIR)/drivers/scsi/libsas/libsas.ko + AUTOLOAD:=$(call AutoLoad,29,scsi_transport_sas libsas,1) +endef + +define KernelPackage/libsas/description + SAS Domain Transport Attributes support +endef + +$(eval $(call KernelPackage,libsas,1)) + + +define KernelPackage/loop + SUBMENU:=$(BLOCK_MENU) + TITLE:=Loopback device support + KCONFIG:= \ + CONFIG_BLK_DEV_LOOP \ + CONFIG_BLK_DEV_CRYPTOLOOP=n + FILES:=$(LINUX_DIR)/drivers/block/loop.ko + AUTOLOAD:=$(call AutoLoad,30,loop) +endef + +define KernelPackage/loop/description + Kernel module for loopback device support +endef + +$(eval $(call KernelPackage,loop)) + + +define KernelPackage/mvsas + SUBMENU:=$(BLOCK_MENU) + TITLE:=Marvell 88SE6440 SAS/SATA driver + DEPENDS:=@TARGET_x86 +kmod-libsas + KCONFIG:= \ + CONFIG_SCSI_MVSAS \ + CONFIG_SCSI_MVSAS_TASKLET=n + FILES:=$(LINUX_DIR)/drivers/scsi/mvsas/mvsas.ko + AUTOLOAD:=$(call AutoLoad,40,mvsas,1) +endef + +define KernelPackage/mvsas/description + Kernel support for the Marvell SAS SCSI adapters +endef + +$(eval $(call KernelPackage,mvsas)) + + +define KernelPackage/nbd + SUBMENU:=$(BLOCK_MENU) + TITLE:=Network block device support + KCONFIG:=CONFIG_BLK_DEV_NBD + FILES:=$(LINUX_DIR)/drivers/block/nbd.ko + AUTOLOAD:=$(call AutoLoad,30,nbd) +endef + +define KernelPackage/nbd/description + Kernel module for network block device support +endef + +$(eval $(call KernelPackage,nbd)) + + +define KernelPackage/scsi-core + SUBMENU:=$(BLOCK_MENU) + TITLE:=SCSI device support + KCONFIG:= \ + CONFIG_SCSI \ + CONFIG_BLK_DEV_SD + FILES:= \ + $(LINUX_DIR)/drivers/scsi/scsi_mod.ko \ + $(LINUX_DIR)/drivers/scsi/sd_mod.ko + AUTOLOAD:=$(call AutoLoad,40,scsi_mod sd_mod,1) +endef + +$(eval $(call KernelPackage,scsi-core)) + + +define KernelPackage/scsi-generic + SUBMENU:=$(BLOCK_MENU) + TITLE:=Kernel support for SCSI generic + DEPENDS:=+kmod-scsi-core + KCONFIG:= \ + CONFIG_CHR_DEV_SG + FILES:= \ + $(LINUX_DIR)/drivers/scsi/sg.ko + AUTOLOAD:=$(call AutoLoad,65,sg) +endef + +$(eval $(call KernelPackage,scsi-generic)) + + +define KernelPackage/cdrom + TITLE:=Kernel library module for CD / DVD drives + KCONFIG:=CONFIG_CDROM + HIDDEN:=1 + FILES:=$(LINUX_DIR)/drivers/cdrom/cdrom.ko +endef + +$(eval $(call KernelPackage,cdrom)) + + +define KernelPackage/scsi-cdrom + SUBMENU:=$(BLOCK_MENU) + TITLE:=Kernel support for CD / DVD drives + DEPENDS:=+kmod-scsi-core +kmod-cdrom + KCONFIG:= \ + CONFIG_BLK_DEV_SR \ + CONFIG_BLK_DEV_SR_VENDOR=n + FILES:=$(LINUX_DIR)/drivers/scsi/sr_mod.ko + AUTOLOAD:=$(call AutoLoad,45,sr_mod) +endef + +$(eval $(call KernelPackage,scsi-cdrom)) + + +define KernelPackage/scsi-tape + SUBMENU:=$(BLOCK_MENU) + TITLE:=Kernel support for scsi tape drives + DEPENDS:=+kmod-scsi-core + KCONFIG:= \ + CONFIG_CHR_DEV_ST + FILES:= \ + $(LINUX_DIR)/drivers/scsi/st.ko + AUTOLOAD:=$(call AutoLoad,45,st) +endef + +$(eval $(call KernelPackage,scsi-tape)) + +define KernelPackage/iosched-bfq + SUBMENU:=$(BLOCK_MENU) + TITLE:=Kernel support for BFQ I/O scheduler + KCONFIG:= \ + CONFIG_IOSCHED_BFQ \ + CONFIG_BFQ_GROUP_IOSCHED=y \ + CONFIG_BFQ_CGROUP_DEBUG=n + FILES:= \ + $(LINUX_DIR)/block/bfq.ko + AUTOLOAD:=$(call AutoLoad,10,bfq) +endef + +$(eval $(call KernelPackage,iosched-bfq)) diff --git a/feeds/ipq807x/linux/modules/can.mk b/feeds/ipq807x/linux/modules/can.mk new file mode 100644 index 000000000..5542c4fe0 --- /dev/null +++ b/feeds/ipq807x/linux/modules/can.mk @@ -0,0 +1,309 @@ +# +# Copyright (C) 2013 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +CAN_MENU:=CAN Support + +define KernelPackage/can + SUBMENU:=$(CAN_MENU) + TITLE:=CAN bus support + KCONFIG:=\ + CONFIG_CAN=m \ + CONFIG_CAN_DEV \ + CONFIG_CAN_CALC_BITTIMING=y \ + CONFIG_CAN_LEDS=y \ + CONFIG_CAN_AT91=n \ + CONFIG_CAN_TI_HECC=n \ + CONFIG_CAN_MCP251X=n \ + CONFIG_CAN_BFIN=n \ + CONFIG_CAN_JANZ_ICAN3=n \ + CONFIG_PCH_CAN=n \ + CONFIG_CAN_GRCAN=n \ + CONFIG_CAN_CC770=n \ + CONFIG_CAN_MSCAN=n \ + CONFIG_CAN_SJA1000=n \ + CONFIG_CAN_SOFTING=n \ + CONFIG_NET_EMATCH_CANID=n \ + CONFIG_CAN_DEBUG_DEVICES=n + FILES:=$(LINUX_DIR)/drivers/net/can/dev/can-dev.ko \ + $(LINUX_DIR)/net/can/can.ko + AUTOLOAD:=$(call AutoProbe,can can-dev) +endef + +define KernelPackage/can/description + Kernel module for CAN bus support. +endef + +$(eval $(call KernelPackage,can)) + + +define AddDepends/can + SUBMENU:=$(CAN_MENU) + DEPENDS+=kmod-can $(1) +endef + + +define KernelPackage/can-bcm + TITLE:=Broadcast Manager CAN Protcol + KCONFIG:=CONFIG_CAN_BCM + FILES:=$(LINUX_DIR)/net/can/can-bcm.ko + AUTOLOAD:=$(call AutoProbe,can-bcm) + $(call AddDepends/can) +endef + +define KernelPackage/can-bcm/description + The Broadcast Manager offers content filtering, timeout monitoring, + sending of RTR frames, and cyclic CAN messages without permanent user + interaction. +endef + +$(eval $(call KernelPackage,can-bcm)) + + +define KernelPackage/can-c-can + TITLE:=BOSCH C_CAN/D_CAN drivers + KCONFIG:=CONFIG_CAN_C_CAN + FILES:=$(LINUX_DIR)/drivers/net/can/c_can/c_can.ko + AUTOLOAD:=$(call AutoProbe,c_can) + $(call AddDepends/can) +endef + +define KernelPackage/can-c-can/description + This driver adds generic support for the C_CAN/D_CAN chips. +endef + +$(eval $(call KernelPackage,can-c-can)) + + +define KernelPackage/can-c-can-pci + TITLE:=PCI Bus based BOSCH C_CAN/D_CAN driver + KCONFIG:=CONFIG_CAN_C_CAN_PCI + DEPENDS:=kmod-can-c-can @PCI_SUPPORT + FILES:=$(LINUX_DIR)/drivers/net/can/c_can/c_can_pci.ko + AUTOLOAD:=$(call AutoProbe,c_can_pci) + $(call AddDepends/can) +endef + +define KernelPackage/can-c-can-pci/description + This driver adds support for the C_CAN/D_CAN chips connected + to the PCI bus. +endef + +$(eval $(call KernelPackage,can-c-can-pci)) + + +define KernelPackage/can-c-can-platform + TITLE:=Platform Bus based BOSCH C_CAN/D_CAN driver + KCONFIG:=CONFIG_CAN_C_CAN_PLATFORM + DEPENDS:=kmod-can-c-can +kmod-regmap-core + FILES:=$(LINUX_DIR)/drivers/net/can/c_can/c_can_platform.ko + AUTOLOAD:=$(call AutoProbe,c_can_platform) + $(call AddDepends/can) +endef + +define KernelPackage/can-c-can-platform/description + This driver adds support for the C_CAN/D_CAN chips connected + to the "platform bus" (Linux abstraction for directly to the + processor attached devices) which can be found on various + boards from ST Microelectronics (http://www.st.com) like the + SPEAr1310 and SPEAr320 evaluation boards & TI (www.ti.com) + boards like am335x, dm814x, dm813x and dm811x. +endef + +$(eval $(call KernelPackage,can-c-can-platform)) + + +define KernelPackage/can-flexcan + TITLE:=Support for Freescale FLEXCAN based chips + KCONFIG:=CONFIG_CAN_FLEXCAN + FILES:=$(LINUX_DIR)/drivers/net/can/flexcan.ko + AUTOLOAD:=$(call AutoProbe,flexcan) + $(call AddDepends/can,@TARGET_imx6) +endef + +define KernelPackage/can-flexcan/description + Freescale FLEXCAN CAN bus controller implementation. +endef + +$(eval $(call KernelPackage,can-flexcan)) + + +define KernelPackage/can-gw + TITLE:=CAN Gateway/Router + KCONFIG:=CONFIG_CAN_GW + FILES:=$(LINUX_DIR)/net/can/can-gw.ko + AUTOLOAD:=$(call AutoProbe,can-gw) + $(call AddDepends/can) +endef + +define KernelPackage/can-gw/description + The CAN Gateway/Router is used to route (and modify) CAN frames. +endef + +$(eval $(call KernelPackage,can-gw)) + + +define KernelPackage/can-mcp251x + TITLE:=MCP251x SPI CAN controller + KCONFIG:=\ + CONFIG_SPI=y \ + CONFIG_CAN_MCP251X + FILES:=$(LINUX_DIR)/drivers/net/can/spi/mcp251x.ko + AUTOLOAD:=$(call AutoProbe,can-mcp251x) + $(call AddDepends/can) +endef + +define KernelPackage/can-mcp251x/description + Microchip MCP251x SPI CAN controller +endef + +$(eval $(call KernelPackage,can-mcp251x)) + + +define KernelPackage/can-raw + TITLE:=Raw CAN Protcol + KCONFIG:=CONFIG_CAN_RAW + FILES:=$(LINUX_DIR)/net/can/can-raw.ko + AUTOLOAD:=$(call AutoProbe,can-raw) + $(call AddDepends/can) +endef + +define KernelPackage/can-raw/description + The raw CAN protocol option offers access to the CAN bus via + the BSD socket API. +endef + +$(eval $(call KernelPackage,can-raw)) + + +define KernelPackage/can-slcan + TITLE:=Serial / USB serial CAN Adaptors (slcan) + KCONFIG:=CONFIG_CAN_SLCAN + FILES:=$(LINUX_DIR)/drivers/net/can/slcan.ko + AUTOLOAD:=$(call AutoProbe,slcan) + $(call AddDepends/can) +endef + +define KernelPackage/can-slcan/description + CAN driver for several 'low cost' CAN interfaces that are attached + via serial lines or via USB-to-serial adapters using the LAWICEL + ASCII protocol. +endef + +$(eval $(call KernelPackage,can-slcan)) + + +define KernelPackage/can-usb-8dev + TITLE:=8 devices USB2CAN interface + KCONFIG:=CONFIG_CAN_8DEV_USB + FILES:=$(LINUX_DIR)/drivers/net/can/usb/usb_8dev.ko + AUTOLOAD:=$(call AutoProbe,usb_8dev) + $(call AddDepends/can,+kmod-usb-core) +endef + +define KernelPackage/can-usb-8dev/description + This driver supports the USB2CAN interface + from 8 devices (http://www.8devices.com). +endef + +$(eval $(call KernelPackage,can-usb-8dev)) + + +define KernelPackage/can-usb-ems + TITLE:=EMS CPC-USB/ARM7 CAN/USB interface + KCONFIG:=CONFIG_CAN_EMS_USB + FILES:=$(LINUX_DIR)/drivers/net/can/usb/ems_usb.ko + AUTOLOAD:=$(call AutoProbe,ems_usb) + $(call AddDepends/can,+kmod-usb-core) +endef + +define KernelPackage/can-usb-ems/description + This driver is for the one channel CPC-USB/ARM7 CAN/USB interface + from EMS Dr. Thomas Wuensche (http://www.ems-wuensche.de). +endef + +$(eval $(call KernelPackage,can-usb-ems)) + + +define KernelPackage/can-usb-esd + TITLE:=ESD USB/2 CAN/USB interface + KCONFIG:=CONFIG_CAN_ESD_USB2 + FILES:=$(LINUX_DIR)/drivers/net/can/usb/esd_usb2.ko + AUTOLOAD:=$(call AutoProbe,esd_usb2) + $(call AddDepends/can,+kmod-usb-core) +endef + +define KernelPackage/can-usb-esd/description + This driver supports the CAN-USB/2 interface + from esd electronic system design gmbh (http://www.esd.eu). +endef + +$(eval $(call KernelPackage,can-usb-esd)) + + +define KernelPackage/can-usb-kvaser + TITLE:=Kvaser CAN/USB interface + KCONFIG:=CONFIG_CAN_KVASER_USB + FILES:= \ + $(LINUX_DIR)/drivers/net/can/usb/kvaser_usb.ko@lt4.19 \ + $(LINUX_DIR)/drivers/net/can/usb/kvaser_usb/kvaser_usb.ko@ge4.19 + AUTOLOAD:=$(call AutoProbe,kvaser_usb) + $(call AddDepends/can,+kmod-usb-core) +endef + +define KernelPackage/can-usb-kvaser/description + This driver adds support for Kvaser CAN/USB devices like Kvaser + Leaf Light. +endef + +$(eval $(call KernelPackage,can-usb-kvaser)) + + +define KernelPackage/can-usb-peak + TITLE:=PEAK PCAN-USB/USB Pro interfaces + KCONFIG:=CONFIG_CAN_PEAK_USB + FILES:=$(LINUX_DIR)/drivers/net/can/usb/peak_usb/peak_usb.ko + AUTOLOAD:=$(call AutoProbe,peak_usb) + $(call AddDepends/can,+kmod-usb-core) +endef + +define KernelPackage/can-usb-peak/description + This driver supports the PCAN-USB and PCAN-USB Pro adapters + from PEAK-System Technik (http://www.peak-system.com). +endef + +$(eval $(call KernelPackage,can-usb-peak)) + + +define KernelPackage/can-vcan + TITLE:=Virtual Local CAN Interface (vcan) + KCONFIG:=CONFIG_CAN_VCAN + FILES:=$(LINUX_DIR)/drivers/net/can/vcan.ko + AUTOLOAD:=$(call AutoProbe,vcan) + $(call AddDepends/can) +endef + +define KernelPackage/can-vcan/description + Similar to the network loopback devices, vcan offers a + virtual local CAN interface. +endef + +$(eval $(call KernelPackage,can-vcan)) + +define KernelPackage/can-xilinx-can + TITLE:=Xilinx CAN IP + KCONFIG:=CONFIG_CAN_XILINXCAN + FILES:=$(LINUX_DIR)/drivers/net/can/xilinx_can.ko + AUTOLOAD:=$(call AutoProbe,xilinx_can) + $(call AddDepends/can,@TARGET_zynq) +endef + +define KernelPackage/can-xilinx-can/description + Xilinx CAN driver. This driver supports both + soft AXI CAN IP and Zynq CANPS IP. +endef + +$(eval $(call KernelPackage,can-xilinx-can)) diff --git a/feeds/ipq807x/linux/modules/crypto.mk b/feeds/ipq807x/linux/modules/crypto.mk new file mode 100644 index 000000000..a68459d98 --- /dev/null +++ b/feeds/ipq807x/linux/modules/crypto.mk @@ -0,0 +1,1005 @@ +# +# Copyright (C) 2006-2011 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +CRYPTO_MENU:=Cryptographic API modules + +CRYPTO_MODULES = \ + ALGAPI2=crypto_algapi \ + BLKCIPHER2=crypto_blkcipher + +CRYPTO_TARGET = $(BOARD)/$(if $(SUBTARGET),$(SUBTARGET),generic) + +crypto_confvar=CONFIG_CRYPTO_$(word 1,$(subst =,$(space),$(1))) +crypto_file=$(LINUX_DIR)/crypto/$(word 2,$(subst =,$(space),$(1))).ko +crypto_name=$(if $(findstring y,$($(call crypto_confvar,$(1)))),,$(word 2,$(subst =,$(space),$(1)))) + +define AddDepends/crypto + SUBMENU:=$(CRYPTO_MENU) + DEPENDS+= $(1) +endef + + +define KernelPackage/crypto-acompress + TITLE:=Asynchronous Compression operations + HIDDEN:=1 + KCONFIG:=CONFIG_CRYPTO_ACOMP2 + FILES:=$(LINUX_DIR)/crypto/crypto_acompress.ko + AUTOLOAD:=$(call AutoLoad,09,crypto_acompress) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-acompress)) + + +define KernelPackage/crypto-aead + TITLE:=CryptoAPI AEAD support + KCONFIG:= \ + CONFIG_CRYPTO_AEAD \ + CONFIG_CRYPTO_AEAD2 + FILES:=$(LINUX_DIR)/crypto/aead.ko + AUTOLOAD:=$(call AutoLoad,09,aead,1) + $(call AddDepends/crypto, +kmod-crypto-null) +endef + +$(eval $(call KernelPackage,crypto-aead)) + + +define KernelPackage/crypto-arc4 + TITLE:=ARC4 cipher CryptoAPI module + KCONFIG:=CONFIG_CRYPTO_ARC4 + FILES:=$(LINUX_DIR)/crypto/arc4.ko + AUTOLOAD:=$(call AutoLoad,09,arc4) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-arc4)) + + +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) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-authenc)) + + +define KernelPackage/crypto-cbc + TITLE:=Cipher Block Chaining CryptoAPI module + DEPENDS:=+kmod-crypto-manager + KCONFIG:=CONFIG_CRYPTO_CBC + FILES:=$(LINUX_DIR)/crypto/cbc.ko + AUTOLOAD:=$(call AutoLoad,09,cbc) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-cbc)) + + +define KernelPackage/crypto-ccm + TITLE:=Support for Counter with CBC MAC (CCM) + DEPENDS:=+kmod-crypto-ctr +kmod-crypto-aead + KCONFIG:=CONFIG_CRYPTO_CCM + FILES:=$(LINUX_DIR)/crypto/ccm.ko + AUTOLOAD:=$(call AutoLoad,09,ccm) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-ccm)) + + +define KernelPackage/crypto-cmac + TITLE:=Support for Cipher-based Message Authentication Code (CMAC) + DEPENDS:=+kmod-crypto-hash + KCONFIG:=CONFIG_CRYPTO_CMAC + FILES:=$(LINUX_DIR)/crypto/cmac.ko + AUTOLOAD:=$(call AutoLoad,09,cmac) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-cmac)) + + +define KernelPackage/crypto-crc32 + TITLE:=CRC32 CRC module + DEPENDS:=+kmod-crypto-hash + KCONFIG:=CONFIG_CRYPTO_CRC32 + HIDDEN:=1 + FILES:=$(LINUX_DIR)/crypto/crc32_generic.ko + AUTOLOAD:=$(call AutoLoad,04,crc32_generic,1) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-crc32)) + + +define KernelPackage/crypto-crc32c + TITLE:=CRC32c CRC module + DEPENDS:=+kmod-crypto-hash + KCONFIG:=CONFIG_CRYPTO_CRC32C + FILES:=$(LINUX_DIR)/crypto/crc32c_generic.ko + AUTOLOAD:=$(call AutoLoad,04,crc32c_generic,1) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-crc32c)) + + +define KernelPackage/crypto-ctr + TITLE:=Counter Mode CryptoAPI module + DEPENDS:=+kmod-crypto-manager +kmod-crypto-seqiv + KCONFIG:=CONFIG_CRYPTO_CTR + FILES:=$(LINUX_DIR)/crypto/ctr.ko + AUTOLOAD:=$(call AutoLoad,09,ctr) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-ctr)) + + +define KernelPackage/crypto-cts + TITLE:=Cipher Text Stealing CryptoAPI module + DEPENDS:=+kmod-crypto-manager + KCONFIG:=CONFIG_CRYPTO_CTS + FILES:=$(LINUX_DIR)/crypto/cts.ko + AUTOLOAD:=$(call AutoLoad,09,cts) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-cts)) + + +define KernelPackage/crypto-deflate + TITLE:=Deflate compression CryptoAPI module + DEPENDS:=+kmod-lib-zlib-inflate +kmod-lib-zlib-deflate +kmod-crypto-acompress + KCONFIG:=CONFIG_CRYPTO_DEFLATE + FILES:=$(LINUX_DIR)/crypto/deflate.ko + AUTOLOAD:=$(call AutoLoad,09,deflate) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-deflate)) + + +define KernelPackage/crypto-des + TITLE:=DES/3DES cipher CryptoAPI module + KCONFIG:=CONFIG_CRYPTO_DES + FILES:= \ + $(LINUX_DIR)/crypto/des_generic.ko \ + $(LINUX_DIR)/lib/crypto/libdes.ko + AUTOLOAD:=$(call AutoLoad,09,des_generic) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-des)) + + +define KernelPackage/crypto-ecb + TITLE:=Electronic CodeBook CryptoAPI module + DEPENDS:=+kmod-crypto-manager + KCONFIG:=CONFIG_CRYPTO_ECB + FILES:=$(LINUX_DIR)/crypto/ecb.ko + AUTOLOAD:=$(call AutoLoad,09,ecb) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-ecb)) + + +define KernelPackage/crypto-ecdh + TITLE:=ECDH algorithm + DEPENDS:=+kmod-crypto-kpp + KCONFIG:= CONFIG_CRYPTO_ECDH + FILES:= \ + $(LINUX_DIR)/crypto/ecdh_generic.ko \ + $(LINUX_DIR)/crypto/ecc.ko + AUTOLOAD:=$(call AutoLoad,10,ecdh_generic) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-ecdh)) + + +define KernelPackage/crypto-echainiv + TITLE:=Encrypted Chain IV Generator + DEPENDS:=+kmod-crypto-aead + KCONFIG:=CONFIG_CRYPTO_ECHAINIV + FILES:=$(LINUX_DIR)/crypto/echainiv.ko + AUTOLOAD:=$(call AutoLoad,09,echainiv) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-echainiv)) + + +define KernelPackage/crypto-fcrypt + TITLE:=FCRYPT cipher CryptoAPI module + KCONFIG:=CONFIG_CRYPTO_FCRYPT + FILES:=$(LINUX_DIR)/crypto/fcrypt.ko + AUTOLOAD:=$(call AutoLoad,09,fcrypt) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-fcrypt)) + + +define KernelPackage/crypto-gcm + TITLE:=GCM/GMAC CryptoAPI module + DEPENDS:=+kmod-crypto-ctr +kmod-crypto-ghash +kmod-crypto-null + KCONFIG:=CONFIG_CRYPTO_GCM + FILES:=$(LINUX_DIR)/crypto/gcm.ko + AUTOLOAD:=$(call AutoLoad,09,gcm) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-gcm)) + + +define KernelPackage/crypto-xcbc + TITLE:=XCBC CryptoAPI module + DEPENDS:=+kmod-crypto-hash +kmod-crypto-manager + KCONFIG:=CONFIG_CRYPTO_XCBC + FILES:=$(LINUX_DIR)/crypto/xcbc.ko + AUTOLOAD:=$(call AutoLoad,09,xcbc) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-xcbc)) + + +define KernelPackage/crypto-gf128 + TITLE:=GF(2^128) multiplication functions CryptoAPI module + KCONFIG:=CONFIG_CRYPTO_GF128MUL + FILES:=$(LINUX_DIR)/crypto/gf128mul.ko + AUTOLOAD:=$(call AutoLoad,09,gf128mul) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-gf128)) + + +define KernelPackage/crypto-ghash + TITLE:=GHASH digest CryptoAPI module + DEPENDS:=+kmod-crypto-gf128 +kmod-crypto-hash + KCONFIG:= \ + CONFIG_CRYPTO_GHASH \ + CONFIG_CRYPTO_GHASH_ARM_CE + FILES:=$(LINUX_DIR)/crypto/ghash-generic.ko + AUTOLOAD:=$(call AutoLoad,09,ghash-generic) + $(call AddDepends/crypto) +endef + +define KernelPackage/crypto-ghash/arm-ce + FILES+= $(LINUX_DIR)/arch/arm/crypto/ghash-arm-ce.ko + AUTOLOAD+=$(call AutoLoad,09,ghash-arm-ce) +endef + +KernelPackage/crypto-ghash/imx6=$(KernelPackage/crypto-ghash/arm-ce) +KernelPackage/crypto-ghash/ipq40xx=$(KernelPackage/crypto-ghash/arm-ce) +KernelPackage/crypto-ghash/mvebu/cortexa9=$(KernelPackage/crypto-ghash/arm-ce) + +$(eval $(call KernelPackage,crypto-ghash)) + + +define KernelPackage/crypto-hash + TITLE:=CryptoAPI hash support + KCONFIG:=CONFIG_CRYPTO_HASH + FILES:=$(LINUX_DIR)/crypto/crypto_hash.ko + AUTOLOAD:=$(call AutoLoad,02,crypto_hash,1) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-hash)) + + +define KernelPackage/crypto-hmac + TITLE:=HMAC digest CryptoAPI module + DEPENDS:=+kmod-crypto-hash +kmod-crypto-manager + KCONFIG:=CONFIG_CRYPTO_HMAC + FILES:=$(LINUX_DIR)/crypto/hmac.ko + AUTOLOAD:=$(call AutoLoad,09,hmac) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-hmac)) + + +define KernelPackage/crypto-hw-ccp + TITLE:=AMD Cryptographic Coprocessor + DEPENDS:= \ + @TARGET_x86 \ + +kmod-crypto-authenc \ + +kmod-crypto-hash \ + +kmod-crypto-manager \ + +kmod-crypto-rsa \ + +kmod-crypto-sha1 \ + +kmod-crypto-sha256 \ + +kmod-random-core + KCONFIG:= \ + CONFIG_CRYPTO_HW=y \ + CONFIG_CRYPTO_DEV_CCP=y \ + CONFIG_CRYPTO_DEV_CCP_CRYPTO \ + CONFIG_CRYPTO_DEV_CCP_DD \ + CONFIG_CRYPTO_DEV_SP_CCP=y + FILES:= \ + $(LINUX_DIR)/drivers/crypto/ccp/ccp.ko \ + $(LINUX_DIR)/drivers/crypto/ccp/ccp-crypto.ko + AUTOLOAD:=$(call AutoLoad,09,ccp ccp-crypto) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-hw-ccp)) + + +define KernelPackage/crypto-hw-geode + TITLE:=AMD Geode hardware crypto module + DEPENDS:=+kmod-crypto-manager + KCONFIG:= \ + CONFIG_CRYPTO_HW=y \ + CONFIG_CRYPTO_DEV_GEODE + FILES:=$(LINUX_DIR)/drivers/crypto/geode-aes.ko + AUTOLOAD:=$(call AutoLoad,09,geode-aes) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-hw-geode)) + + +define KernelPackage/crypto-hw-hifn-795x + TITLE:=HIFN 795x crypto accelerator + DEPENDS:=+kmod-random-core +kmod-crypto-manager + KCONFIG:= \ + CONFIG_CRYPTO_HW=y \ + CONFIG_CRYPTO_DEV_HIFN_795X \ + CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y + FILES:=$(LINUX_DIR)/drivers/crypto/hifn_795x.ko + AUTOLOAD:=$(call AutoLoad,09,hifn_795x) + $(call AddDepends/crypto,+kmod-crypto-des) +endef + +$(eval $(call KernelPackage,crypto-hw-hifn-795x)) + + +define KernelPackage/crypto-hw-padlock + TITLE:=VIA PadLock ACE with AES/SHA hw crypto module + DEPENDS:=+kmod-crypto-manager + KCONFIG:= \ + CONFIG_CRYPTO_HW=y \ + CONFIG_CRYPTO_DEV_PADLOCK \ + CONFIG_CRYPTO_DEV_PADLOCK_AES \ + CONFIG_CRYPTO_DEV_PADLOCK_SHA + FILES:= \ + $(LINUX_DIR)/drivers/crypto/padlock-aes.ko \ + $(LINUX_DIR)/drivers/crypto/padlock-sha.ko + AUTOLOAD:=$(call AutoLoad,09,padlock-aes padlock-sha) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-hw-padlock)) + + +define KernelPackage/crypto-hw-safexcel + TITLE:= MVEBU SafeXcel Crypto Engine module + DEPENDS:=@!LINUX_4_14 @(TARGET_mvebu_cortexa53||TARGET_mvebu_cortexa72) +eip197-mini-firmware \ + +kmod-crypto-authenc +kmod-crypto-md5 +kmod-crypto-hmac +kmod-crypto-sha256 +kmod-crypto-sha512 + KCONFIG:= \ + CONFIG_CRYPTO_HW=y \ + CONFIG_CRYPTO_DEV_SAFEXCEL + FILES:=$(LINUX_DIR)/drivers/crypto/inside-secure/crypto_safexcel.ko + AUTOLOAD:=$(call AutoLoad,90,crypto_safexcel) + $(call AddDepends/crypto) +endef + +define KernelPackage/crypto-hw-safexcel/description +MVEBU's EIP97 and EIP197 Cryptographic Engine driver designed by +Inside Secure. This is found on Marvell Armada 37xx/7k/8k SoCs. + +Particular version of these IP (EIP197B and EIP197D) require firmware. +The mini firmware package provides limited functionality, for most operations +a full-featured firmware is required. Unfortunately the "full" firmware is not +freely available and needs signed Non-Disclosure Agreement (NDA) with Marvell. +For those who have signed NDA the firmware can be obtained at +https://extranet.marvell.com. +endef + +$(eval $(call KernelPackage,crypto-hw-safexcel)) + + +define KernelPackage/crypto-hw-talitos + TITLE:=Freescale integrated security engine (SEC) driver + DEPENDS:=+kmod-crypto-manager +kmod-crypto-hash +kmod-random-core +kmod-crypto-authenc +kmod-crypto-des + KCONFIG:= \ + CONFIG_CRYPTO_HW=y \ + CONFIG_CRYPTO_DEV_TALITOS \ + CONFIG_CRYPTO_DEV_TALITOS1=y \ + CONFIG_CRYPTO_DEV_TALITOS2=y + FILES:= \ + $(LINUX_DIR)/drivers/crypto/talitos.ko + AUTOLOAD:=$(call AutoLoad,09,talitos) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-hw-talitos)) + + +define KernelPackage/crypto-kpp + TITLE:=Key-agreement Protocol Primitives + KCONFIG:=CONFIG_CRYPTO_KPP + FILES:=$(LINUX_DIR)/crypto/kpp.ko + AUTOLOAD:=$(call AutoLoad,09,kpp) + $(call AddDepends/crypto) +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 + HIDDEN:=1 + FILES:=$(LINUX_DIR)/lib/crypto/libchacha.ko + $(call AddDepends/crypto) +endef + +define KernelPackage/crypto-lib-chacha20/x86_64 + KCONFIG+=CONFIG_CRYPTO_CHACHA20_X86_64 + FILES+=$(LINUX_DIR)/arch/x86/crypto/chacha-x86_64.ko +endef + +# Note that a non-neon fallback implementation is available on arm32 when +# NEON is not supported, hence all arm targets can utilize lib-chacha20/arm +define KernelPackage/crypto-lib-chacha20/arm + KCONFIG+=CONFIG_CRYPTO_CHACHA20_NEON + FILES:=$(LINUX_DIR)/arch/arm/crypto/chacha-neon.ko +endef + +define KernelPackage/crypto-lib-chacha20/aarch64 + KCONFIG+=CONFIG_CRYPTO_CHACHA20_NEON + FILES+=$(LINUX_DIR)/arch/arm64/crypto/chacha-neon.ko +endef + +define KernelPackage/crypto-lib-chacha20/mips32r2 + KCONFIG+=CONFIG_CRYPTO_CHACHA_MIPS + FILES:=$(LINUX_DIR)/arch/mips/crypto/chacha-mips.ko +endef + +ifeq ($(CONFIG_CPU_MIPS32_R2),y) + KernelPackage/crypto-lib-chacha20/$(ARCH)=\ + $(KernelPackage/crypto-lib-chacha20/mips32r2) +endif + +ifdef KernelPackage/crypto-lib-chacha20/$(ARCH) + KernelPackage/crypto-lib-chacha20/$(CRYPTO_TARGET)=\ + $(KernelPackage/crypto-lib-chacha20/$(ARCH)) +endif + +$(eval $(call KernelPackage,crypto-lib-chacha20)) + + +define KernelPackage/crypto-lib-chacha20poly1305 + TITLE:=ChaCha20-Poly1305 AEAD support (8-byte nonce library version) + KCONFIG:=CONFIG_CRYPTO_LIB_CHACHA20POLY1305 + HIDDEN:=1 + FILES:=$(LINUX_DIR)/lib/crypto/libchacha20poly1305.ko + $(call AddDepends/crypto, +kmod-crypto-lib-chacha20 +kmod-crypto-lib-poly1305) +endef + +$(eval $(call KernelPackage,crypto-lib-chacha20poly1305)) + + +define KernelPackage/crypto-lib-curve25519 + TITLE:=Curve25519 scalar multiplication library + KCONFIG:=CONFIG_CRYPTO_LIB_CURVE25519 + HIDDEN:=1 + FILES:= \ + $(LINUX_DIR)/lib/crypto/libcurve25519.ko \ + $(LINUX_DIR)/lib/crypto/libcurve25519-generic.ko + $(call AddDepends/crypto,+PACKAGE_kmod-crypto-kpp:kmod-crypto-kpp) +endef + +define KernelPackage/crypto-lib-curve25519/config + imply PACKAGE_kmod-crypto-kpp +endef + +define KernelPackage/crypto-lib-curve25519/x86/64 + KCONFIG+=CONFIG_CRYPTO_CURVE25519_X86 + FILES+=$(LINUX_DIR)/arch/x86/crypto/curve25519-x86_64.ko +endef + +define KernelPackage/crypto-lib-curve25519/arm-neon + KCONFIG+=CONFIG_CRYPTO_CURVE25519_NEON + FILES+=$(LINUX_DIR)/arch/arm/crypto/curve25519-neon.ko +endef + +ifeq ($(ARCH)-$(CONFIG_KERNEL_MODE_NEON),arm-y) + KernelPackage/crypto-lib-curve25519/$(CRYPTO_TARGET)=\ + $(KernelPackage/crypto-lib-curve25519/arm-neon) +endif + +$(eval $(call KernelPackage,crypto-lib-curve25519)) + + +define KernelPackage/crypto-lib-poly1305 + TITLE:=Poly1305 library interface + KCONFIG:=CONFIG_CRYPTO_LIB_POLY1305 + HIDDEN:=1 + FILES:=$(LINUX_DIR)/lib/crypto/libpoly1305.ko + $(call AddDepends/crypto,+PACKAGE_kmod-crypto-hash:kmod-crypto-hash) +endef + +define KernelPackage/crypto-lib-poly1305/config + imply PACKAGE_kmod-crypto-hash +endef + +define KernelPackage/crypto-lib-poly1305/x86_64 + KCONFIG+=CONFIG_CRYPTO_POLY1305_X86_64 + FILES+=$(LINUX_DIR)/arch/x86/crypto/poly1305-x86_64.ko +endef + +define KernelPackage/crypto-lib-poly1305/arm + KCONFIG+=CONFIG_CRYPTO_POLY1305_ARM + FILES:=$(LINUX_DIR)/arch/arm/crypto/poly1305-arm.ko +endef + +define KernelPackage/crypto-lib-poly1305/aarch64 + KCONFIG+=CONFIG_CRYPTO_POLY1305_NEON + FILES:=$(LINUX_DIR)/arch/arm64/crypto/poly1305-neon.ko +endef + +define KernelPackage/crypto-lib-poly1305/mips + KCONFIG+=CONFIG_CRYPTO_POLY1305_MIPS + FILES:=$(LINUX_DIR)/arch/mips/crypto/poly1305-mips.ko +endef + +KernelPackage/crypto-lib-poly1305/mipsel=$(KernelPackage/crypto-lib-poly1305/mips) +KernelPackage/crypto-lib-poly1305/mips64=$(KernelPackage/crypto-lib-poly1305/mips) +KernelPackage/crypto-lib-poly1305/mips64el=$(KernelPackage/crypto-lib-poly1305/mips) + +ifdef KernelPackage/crypto-lib-poly1305/$(ARCH) + KernelPackage/crypto-lib-poly1305/$(CRYPTO_TARGET)=\ + $(KernelPackage/crypto-lib-poly1305/$(ARCH)) +endif + +$(eval $(call KernelPackage,crypto-lib-poly1305)) + + +define KernelPackage/crypto-manager + TITLE:=CryptoAPI algorithm manager + DEPENDS:=+kmod-crypto-aead +kmod-crypto-hash +kmod-crypto-pcompress + KCONFIG:= \ + CONFIG_CRYPTO_MANAGER \ + CONFIG_CRYPTO_MANAGER2 + FILES:=$(LINUX_DIR)/crypto/cryptomgr.ko + AUTOLOAD:=$(call AutoLoad,09,cryptomgr,1) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-manager)) + + +define KernelPackage/crypto-md4 + TITLE:=MD4 digest CryptoAPI module + DEPENDS:=+kmod-crypto-hash + KCONFIG:=CONFIG_CRYPTO_MD4 + FILES:=$(LINUX_DIR)/crypto/md4.ko + AUTOLOAD:=$(call AutoLoad,09,md4) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-md4)) + + +define KernelPackage/crypto-md5 + TITLE:=MD5 digest CryptoAPI module + DEPENDS:=+kmod-crypto-hash + KCONFIG:= \ + CONFIG_CRYPTO_MD5 \ + CONFIG_CRYPTO_MD5_OCTEON + FILES:=$(LINUX_DIR)/crypto/md5.ko + AUTOLOAD:=$(call AutoLoad,09,md5) + $(call AddDepends/crypto) +endef + +define KernelPackage/crypto-md5/octeon + FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-md5.ko + AUTOLOAD+=$(call AutoLoad,09,octeon-md5) +endef + +$(eval $(call KernelPackage,crypto-md5)) + + +define KernelPackage/crypto-michael-mic + TITLE:=Michael MIC keyed digest CryptoAPI module + DEPENDS:=+kmod-crypto-hash + KCONFIG:=CONFIG_CRYPTO_MICHAEL_MIC + FILES:=$(LINUX_DIR)/crypto/michael_mic.ko + AUTOLOAD:=$(call AutoLoad,09,michael_mic) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-michael-mic)) + + +define KernelPackage/crypto-misc + TITLE:=Other CryptoAPI modules + DEPENDS:=+kmod-crypto-xts + KCONFIG:= \ + CONFIG_CRYPTO_CAMELLIA_X86_64 \ + CONFIG_CRYPTO_BLOWFISH_X86_64 \ + CONFIG_CRYPTO_TWOFISH_X86_64 \ + CONFIG_CRYPTO_TWOFISH_X86_64_3WAY \ + CONFIG_CRYPTO_SERPENT_SSE2_X86_64 \ + CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64 \ + CONFIG_CRYPTO_CAST5_AVX_X86_64 \ + CONFIG_CRYPTO_CAST6_AVX_X86_64 \ + CONFIG_CRYPTO_TWOFISH_AVX_X86_64 \ + CONFIG_CRYPTO_SERPENT_AVX_X86_64 \ + CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 \ + CONFIG_CRYPTO_SERPENT_AVX2_X86_64 \ + CONFIG_CRYPTO_SERPENT_SSE2_586 \ + CONFIG_CRYPTO_ANUBIS \ + CONFIG_CRYPTO_BLOWFISH \ + CONFIG_CRYPTO_CAMELLIA \ + CONFIG_CRYPTO_CAST5 \ + CONFIG_CRYPTO_CAST6 \ + CONFIG_CRYPTO_FCRYPT \ + CONFIG_CRYPTO_KHAZAD \ + CONFIG_CRYPTO_SERPENT \ + CONFIG_CRYPTO_TEA \ + CONFIG_CRYPTO_TGR192 \ + CONFIG_CRYPTO_TWOFISH \ + CONFIG_CRYPTO_TWOFISH_COMMON \ + CONFIG_CRYPTO_TWOFISH_586 \ + CONFIG_CRYPTO_WP512 + FILES:= \ + $(LINUX_DIR)/crypto/anubis.ko \ + $(LINUX_DIR)/crypto/camellia_generic.ko \ + $(LINUX_DIR)/crypto/cast_common.ko \ + $(LINUX_DIR)/crypto/cast5_generic.ko \ + $(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 \ + $(LINUX_DIR)/crypto/blowfish_common.ko \ + $(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 \ + wp512 blowfish_common serpent_generic) + ifndef CONFIG_TARGET_x86 + AUTOLOAD+= $(call AutoLoad,10,twofish_generic blowfish_generic) + endif + $(call AddDepends/crypto) +endef + +ifndef CONFIG_TARGET_x86_64 + define KernelPackage/crypto-misc/x86 + 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/ablk_helper.ko@lt4.17 \ + $(LINUX_DIR)/crypto/cryptd.ko \ + $(LINUX_DIR)/crypto/lrw.ko@lt4.17 \ + $(LINUX_DIR)/crypto/crypto_simd.ko@ge4.17 + AUTOLOAD+= $(call AutoLoad,10,cryptd glue_helper \ + serpent-sse2-i586 twofish-i586 blowfish_generic) + endef +endif + +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 \ + $(LINUX_DIR)/arch/x86/crypto/twofish-x86_64.ko \ + $(LINUX_DIR)/arch/x86/crypto/twofish-x86_64-3way.ko \ + $(LINUX_DIR)/arch/x86/crypto/serpent-sse2-x86_64.ko \ + $(LINUX_DIR)/arch/x86/crypto/camellia-aesni-avx-x86_64.ko \ + $(LINUX_DIR)/arch/x86/crypto/cast5-avx-x86_64.ko \ + $(LINUX_DIR)/arch/x86/crypto/cast6-avx-x86_64.ko \ + $(LINUX_DIR)/arch/x86/crypto/twofish-avx-x86_64.ko \ + $(LINUX_DIR)/arch/x86/crypto/serpent-avx-x86_64.ko \ + $(LINUX_DIR)/arch/x86/crypto/camellia-aesni-avx2.ko \ + $(LINUX_DIR)/arch/x86/crypto/serpent-avx2.ko \ + $(LINUX_DIR)/crypto/ablk_helper.ko@lt4.17 + AUTOLOAD+= $(call AutoLoad,10,camellia-x86_64 \ + camellia-aesni-avx-x86_64 camellia-aesni-avx2 cast5-avx-x86_64 \ + cast6-avx-x86_64 twofish-x86_64 twofish-x86_64-3way \ + twofish-avx-x86_64 blowfish-x86_64 serpent-avx-x86_64 serpent-avx2) +endef + +$(eval $(call KernelPackage,crypto-misc)) + + +define KernelPackage/crypto-null + TITLE:=Null CryptoAPI module + KCONFIG:=CONFIG_CRYPTO_NULL + FILES:=$(LINUX_DIR)/crypto/crypto_null.ko + AUTOLOAD:=$(call AutoLoad,09,crypto_null) + $(call AddDepends/crypto, +kmod-crypto-hash) +endef + +$(eval $(call KernelPackage,crypto-null)) + + +define KernelPackage/crypto-pcbc + TITLE:=Propagating Cipher Block Chaining CryptoAPI module + DEPENDS:=+kmod-crypto-manager + KCONFIG:=CONFIG_CRYPTO_PCBC + FILES:=$(LINUX_DIR)/crypto/pcbc.ko + AUTOLOAD:=$(call AutoLoad,09,pcbc) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-pcbc)) + + +define KernelPackage/crypto-pcompress + TITLE:=CryptoAPI Partial (de)compression operations + KCONFIG:= \ + CONFIG_CRYPTO_PCOMP=y \ + CONFIG_CRYPTO_PCOMP2 + FILES:=$(LINUX_DIR)/crypto/pcompress.ko + AUTOLOAD:=$(call AutoLoad,09,pcompress) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-pcompress)) + + +define KernelPackage/crypto-rsa + TITLE:=RSA algorithm + DEPENDS:=+kmod-crypto-manager +kmod-asn1-decoder + KCONFIG:= CONFIG_CRYPTO_RSA + HIDDEN:=1 + FILES:= \ + $(LINUX_DIR)/lib/mpi/mpi.ko \ + $(LINUX_DIR)/crypto/akcipher.ko \ + $(LINUX_DIR)/crypto/rsa_generic.ko + AUTOLOAD:=$(call AutoLoad,10,rsa_generic) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-rsa)) + + +define KernelPackage/crypto-rmd160 + TITLE:=RIPEMD160 digest CryptoAPI module + DEPENDS:=+kmod-crypto-hash + KCONFIG:=CONFIG_CRYPTO_RMD160 + FILES:=$(LINUX_DIR)/crypto/rmd160.ko + AUTOLOAD:=$(call AutoLoad,09,rmd160) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-rmd160)) + + +define KernelPackage/crypto-rng + TITLE:=CryptoAPI random number generation + DEPENDS:=+kmod-crypto-hash +kmod-crypto-hmac +kmod-crypto-sha256 + KCONFIG:= \ + CONFIG_CRYPTO_DRBG \ + CONFIG_CRYPTO_DRBG_HMAC=y \ + CONFIG_CRYPTO_DRBG_HASH=n \ + CONFIG_CRYPTO_DRBG_MENU \ + CONFIG_CRYPTO_JITTERENTROPY \ + CONFIG_CRYPTO_RNG2 + FILES:= \ + $(LINUX_DIR)/crypto/drbg.ko \ + $(LINUX_DIR)/crypto/jitterentropy_rng.ko \ + $(LINUX_DIR)/crypto/rng.ko + AUTOLOAD:=$(call AutoLoad,09,drbg jitterentropy_rng rng) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-rng)) + + +define KernelPackage/crypto-seqiv + TITLE:=CryptoAPI Sequence Number IV Generator + DEPENDS:=+kmod-crypto-aead +kmod-crypto-rng + KCONFIG:=CONFIG_CRYPTO_SEQIV + FILES:=$(LINUX_DIR)/crypto/seqiv.ko + AUTOLOAD:=$(call AutoLoad,09,seqiv) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-seqiv)) + + +define KernelPackage/crypto-sha1 + TITLE:=SHA1 digest CryptoAPI module + DEPENDS:=+kmod-crypto-hash + KCONFIG:= \ + CONFIG_CRYPTO_SHA1 \ + CONFIG_CRYPTO_SHA1_ARM \ + CONFIG_CRYPTO_SHA1_ARM_NEON \ + CONFIG_CRYPTO_SHA1_OCTEON \ + CONFIG_CRYPTO_SHA1_SSSE3 + FILES:=$(LINUX_DIR)/crypto/sha1_generic.ko + AUTOLOAD:=$(call AutoLoad,09,sha1_generic) + $(call AddDepends/crypto) +endef + +define KernelPackage/crypto-sha1/arm + FILES+=$(LINUX_DIR)/arch/arm/crypto/sha1-arm.ko + AUTOLOAD+=$(call AutoLoad,09,sha1-arm) +endef + +define KernelPackage/crypto-sha1/arm-neon + $(call KernelPackage/crypto-sha1/arm) + FILES+=$(LINUX_DIR)/arch/arm/crypto/sha1-arm-neon.ko + AUTOLOAD+=$(call AutoLoad,09,sha1-arm-neon) +endef + +KernelPackage/crypto-sha1/imx6=$(KernelPackage/crypto-sha1/arm-neon) +KernelPackage/crypto-sha1/ipq40xx=$(KernelPackage/crypto-sha1/arm-neon) +KernelPackage/crypto-sha1/mvebu/cortexa9=$(KernelPackage/crypto-sha1/arm-neon) + +define KernelPackage/crypto-sha1/octeon + FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha1.ko + AUTOLOAD+=$(call AutoLoad,09,octeon-sha1) +endef + +KernelPackage/crypto-sha1/tegra=$(KernelPakcage/crypto-sha1/arm) + +define KernelPackage/crypto-sha1/x86/64 + FILES+=$(LINUX_DIR)/arch/x86/crypto/sha1-ssse3.ko + AUTOLOAD+=$(call AutoLoad,09,sha1-ssse3) +endef + +$(eval $(call KernelPackage,crypto-sha1)) + + +define KernelPackage/crypto-sha256 + TITLE:=SHA224 SHA256 digest CryptoAPI module + DEPENDS:=+kmod-crypto-hash + KCONFIG:= \ + CONFIG_CRYPTO_SHA256 \ + CONFIG_CRYPTO_SHA256_OCTEON \ + CONFIG_CRYPTO_SHA256_SSSE3 + FILES:= \ + $(LINUX_DIR)/crypto/sha256_generic.ko \ + $(LINUX_DIR)/lib/crypto/libsha256.ko + AUTOLOAD:=$(call AutoLoad,09,sha256_generic) + $(call AddDepends/crypto) +endef + +define KernelPackage/crypto-sha256/octeon + FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha256.ko + AUTOLOAD+=$(call AutoLoad,09,octeon-sha256) +endef + +define KernelPackage/crypto-sha256/x86/64 + FILES+=$(LINUX_DIR)/arch/x86/crypto/sha256-ssse3.ko + AUTOLOAD+=$(call AutoLoad,09,sha256-ssse3) +endef + +$(eval $(call KernelPackage,crypto-sha256)) + + +define KernelPackage/crypto-sha512 + TITLE:=SHA512 digest CryptoAPI module + DEPENDS:=+kmod-crypto-hash + KCONFIG:= \ + CONFIG_CRYPTO_SHA512 \ + CONFIG_CRYPTO_SHA512_ARM \ + CONFIG_CRYPTO_SHA512_OCTEON \ + CONFIG_CRYPTO_SHA512_SSSE3 + FILES:=$(LINUX_DIR)/crypto/sha512_generic.ko + AUTOLOAD:=$(call AutoLoad,09,sha512_generic) + $(call AddDepends/crypto) +endef + +define KernelPackage/crypto-sha512/arm + FILES+=$(LINUX_DIR)/arch/arm/crypto/sha512-arm.ko + AUTOLOAD+=$(call AutoLoad,09,sha512-arm) +endef + +KernelPackage/crypto-sha512/imx6=$(KernelPackage/crypto-sha512/arm) +KernelPackage/crypto-sha512/ipq40xx=$(KernelPackage/crypto-sha512/arm) +KernelPackage/crypto-sha512/mvebu/cortexa9=$(KernelPackage/crypto-sha512/arm) + +define KernelPackage/crypto-sha512/octeon + FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha512.ko + AUTOLOAD+=$(call AutoLoad,09,octeon-sha512) +endef + +KernelPackage/crypto-sha512/tegra=$(KernelPackage/crypto-sha512/arm) + +define KernelPackage/crypto-sha512/x86/64 + FILES+=$(LINUX_DIR)/arch/x86/crypto/sha512-ssse3.ko + AUTOLOAD+=$(call AutoLoad,09,sha512-ssse3) +endef + +$(eval $(call KernelPackage,crypto-sha512)) + + +define KernelPackage/crypto-test + TITLE:=Test CryptoAPI module + KCONFIG:=CONFIG_CRYPTO_TEST + FILES:=$(LINUX_DIR)/crypto/tcrypt.ko + $(call AddDepends/crypto,+kmod-crypto-manager) +endef + +$(eval $(call KernelPackage,crypto-test)) + + +define KernelPackage/crypto-user + TITLE:=CryptoAPI userspace interface + DEPENDS:=+kmod-crypto-hash +kmod-crypto-manager + KCONFIG:= \ + CONFIG_CRYPTO_USER \ + CONFIG_CRYPTO_USER_API \ + CONFIG_CRYPTO_USER_API_AEAD \ + CONFIG_CRYPTO_USER_API_HASH \ + CONFIG_CRYPTO_USER_API_RNG \ + CONFIG_CRYPTO_USER_API_SKCIPHER + FILES:= \ + $(LINUX_DIR)/crypto/af_alg.ko \ + $(LINUX_DIR)/crypto/algif_aead.ko \ + $(LINUX_DIR)/crypto/algif_hash.ko \ + $(LINUX_DIR)/crypto/algif_rng.ko \ + $(LINUX_DIR)/crypto/algif_skcipher.ko \ + $(LINUX_DIR)/crypto/crypto_user.ko + AUTOLOAD:=$(call AutoLoad,09,af_alg algif_aead algif_hash algif_rng algif_skcipher crypto_user) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-user)) + + +define KernelPackage/crypto-wq + TITLE:=CryptoAPI work queue handling + KCONFIG:=CONFIG_CRYPTO_WORKQUEUE + FILES:=$(LINUX_DIR)/crypto/crypto_wq.ko + AUTOLOAD:=$(call AutoLoad,09,crypto_wq) + $(call AddDepends/crypto) +endef +$(eval $(call KernelPackage,crypto-wq)) + + +define KernelPackage/crypto-xts + TITLE:=XTS cipher CryptoAPI module + DEPENDS:=+kmod-crypto-gf128 +kmod-crypto-manager + KCONFIG:=CONFIG_CRYPTO_XTS + FILES:=$(LINUX_DIR)/crypto/xts.ko + AUTOLOAD:=$(call AutoLoad,09,xts) + $(call AddDepends/crypto) +endef + +$(eval $(call KernelPackage,crypto-xts)) + diff --git a/feeds/ipq807x/linux/modules/firewire.mk b/feeds/ipq807x/linux/modules/firewire.mk new file mode 100644 index 000000000..1e2d94272 --- /dev/null +++ b/feeds/ipq807x/linux/modules/firewire.mk @@ -0,0 +1,76 @@ +# +# Copyright (C) 2008-2011 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +FIREWIRE_MENU:=FireWire support + +define KernelPackage/firewire + SUBMENU:=$(FIREWIRE_MENU) + TITLE:=Support for FireWire (new stack) + DEPENDS:=@PCI_SUPPORT +kmod-lib-crc-itu-t + KCONFIG:=CONFIG_FIREWIRE + FILES:=$(LINUX_DIR)/drivers/firewire/firewire-core.ko +endef + +define KernelPackage/firewire/description + Kernel support for FireWire (new stack) +endef + +$(eval $(call KernelPackage,firewire)) + + +define KernelPackage/firewire-net + SUBMENU:=$(FIREWIRE_MENU) + TITLE:=Support for IP networking over FireWire + DEPENDS:=kmod-firewire + KCONFIG:=CONFIG_FIREWIRE_NET + FILES:=$(LINUX_DIR)/drivers/firewire/firewire-net.ko + AUTOLOAD:=$(call AutoProbe,firewire-net) +endef + +define KernelPackage/firewire-net/description + Kernel support for IPv4 over FireWire +endef + +$(eval $(call KernelPackage,firewire-net)) + + +define KernelPackage/firewire-ohci + SUBMENU:=$(FIREWIRE_MENU) + TITLE:=Support for OHCI-1394 controllers + DEPENDS:=kmod-firewire + KCONFIG:= \ + CONFIG_FIREWIRE_OHCI \ + CONFIG_FIREWIRE_OHCI_DEBUG=n \ + CONFIG_FIREWIRE_OHCI_REMOTE_DMA=n + FILES:=$(LINUX_DIR)/drivers/firewire/firewire-ohci.ko + AUTOLOAD:=$(call AutoProbe,firewire-ohci) +endef + + +define KernelPackage/firewire-ohci/description + Kernel support for FireWire OHCI-1394 controllers +endef + +$(eval $(call KernelPackage,firewire-ohci)) + + +define KernelPackage/firewire-sbp2 + SUBMENU:=$(FIREWIRE_MENU) + TITLE:=Support for SBP-2 devices over FireWire + DEPENDS:=kmod-firewire +kmod-scsi-core + KCONFIG:=CONFIG_FIREWIRE_SBP2 + FILES:=$(LINUX_DIR)/drivers/firewire/firewire-sbp2.ko + AUTOLOAD:=$(call AutoProbe,firewire-sbp2) +endef + +define KernelPackage/firewire-sbp2/description + Kernel support for SBP-2 devices over FireWire +endef + +$(eval $(call KernelPackage,firewire-sbp2)) + + diff --git a/feeds/ipq807x/linux/modules/fs.mk b/feeds/ipq807x/linux/modules/fs.mk new file mode 100644 index 000000000..ff9990c59 --- /dev/null +++ b/feeds/ipq807x/linux/modules/fs.mk @@ -0,0 +1,578 @@ +# +# Copyright (C) 2006-2011 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +FS_MENU:=Filesystems + +define KernelPackage/fs-9p + SUBMENU:=$(FS_MENU) + TITLE:=Plan 9 Resource Sharing Support + DEPENDS:=+kmod-9pnet + KCONFIG:=\ + CONFIG_9P_FS \ + CONFIG_9P_FS_POSIX_ACL=n \ + CONFIG_9P_FS_SECURITY=n \ + CONFIG_9P_FSCACHE=n + FILES:=$(LINUX_DIR)/fs/9p/9p.ko + AUTOLOAD:=$(call AutoLoad,30,9p) +endef + +define KernelPackage/fs-9p/description + Kernel module for Plan 9 Resource Sharing Support support +endef + +$(eval $(call KernelPackage,fs-9p)) + + +define KernelPackage/fs-afs + SUBMENU:=$(FS_MENU) + TITLE:=Andrew FileSystem client + DEFAULT:=n + DEPENDS:=+kmod-rxrpc +kmod-dnsresolver +kmod-fs-fscache + KCONFIG:=\ + CONFIG_AFS_FS=m \ + CONFIG_AFS_DEBUG=n \ + CONFIG_AFS_FSCACHE=y + FILES:=$(LINUX_DIR)/fs/afs/kafs.ko + AUTOLOAD:=$(call AutoLoad,30,kafs) +endef + +define KernelPackage/fs-afs/description + Kernel module for Andrew FileSystem client support +endef + +$(eval $(call KernelPackage,fs-afs)) + +define KernelPackage/fs-autofs4 + SUBMENU:=$(FS_MENU) + TITLE:=AUTOFS4 filesystem support + KCONFIG:= \ + CONFIG_AUTOFS4_FS \ + CONFIG_AUTOFS_FS + FILES:= \ + $(LINUX_DIR)/fs/autofs4/autofs4.ko@lt4.18 \ + $(LINUX_DIR)/fs/autofs/autofs4.ko@ge4.18 + AUTOLOAD:=$(call AutoLoad,30,autofs4) +endef + +define KernelPackage/fs-autofs4/description + Kernel module for AutoFS4 support +endef + +$(eval $(call KernelPackage,fs-autofs4)) + + +define KernelPackage/fs-btrfs + SUBMENU:=$(FS_MENU) + TITLE:=BTRFS filesystem support + 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 + AUTOLOAD:=$(call AutoLoad,30,btrfs,1) +endef + +define KernelPackage/fs-btrfs/description + Kernel module for BTRFS support +endef + +$(eval $(call KernelPackage,fs-btrfs)) + + +define KernelPackage/fs-cifs + SUBMENU:=$(FS_MENU) + TITLE:=CIFS support + KCONFIG:= \ + CONFIG_CIFS \ + CONFIG_CIFS_DFS_UPCALL=n \ + CONFIG_CIFS_UPCALL=n + FILES:=$(LINUX_DIR)/fs/cifs/cifs.ko + AUTOLOAD:=$(call AutoLoad,30,cifs) + $(call AddDepends/nls) + DEPENDS+= \ + +kmod-crypto-md4 \ + +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 +endef + +define KernelPackage/fs-cifs/description + Kernel module for CIFS support +endef + +$(eval $(call KernelPackage,fs-cifs)) + + +define KernelPackage/fs-configfs + SUBMENU:=$(FS_MENU) + TITLE:=Configuration filesystem support + KCONFIG:= \ + CONFIG_CONFIGFS_FS + FILES:=$(LINUX_DIR)/fs/configfs/configfs.ko + AUTOLOAD:=$(call AutoLoad,30,configfs) +endef + +define KernelPackage/fs-configfs/description + Kernel module for configfs support +endef + +$(eval $(call KernelPackage,fs-configfs)) + + +define KernelPackage/fs-cramfs + SUBMENU:=$(FS_MENU) + TITLE:=Compressed RAM/ROM filesystem support + DEPENDS:=+kmod-lib-zlib-inflate + KCONFIG:= \ + CONFIG_CRAMFS + FILES:=$(LINUX_DIR)/fs/cramfs/cramfs.ko + AUTOLOAD:=$(call AutoLoad,30,cramfs) +endef + +define KernelPackage/fs-cramfs/description + Kernel module for cramfs support +endef + +$(eval $(call KernelPackage,fs-cramfs)) + + +define KernelPackage/fs-efivarfs + SUBMENU:=$(FS_MENU) + TITLE:=efivar filesystem support + KCONFIG:=CONFIG_EFIVAR_FS + FILES:=$(LINUX_DIR)/fs/efivarfs/efivarfs.ko + DEPENDS:=@(x86_64||x86) + AUTOLOAD:=$(call Autoload,90,efivarfs) +endef + +define KernelPackage/fs-efivarfs/description + Kernel module to support efivarfs file system mountpoint. +endef + +$(eval $(call KernelPackage,fs-efivarfs)) + + +define KernelPackage/fs-exportfs + SUBMENU:=$(FS_MENU) + TITLE:=exportfs kernel server support + KCONFIG:=CONFIG_EXPORTFS + FILES=$(LINUX_DIR)/fs/exportfs/exportfs.ko + AUTOLOAD:=$(call AutoLoad,20,exportfs,1) +endef + +define KernelPackage/fs-exportfs/description + Kernel module for exportfs. Needed for some other modules. +endef + +$(eval $(call KernelPackage,fs-exportfs)) + + +define KernelPackage/fs-ext4 + SUBMENU:=$(FS_MENU) + TITLE:=EXT4 filesystem support + DEPENDS := \ + +kmod-lib-crc16 \ + +kmod-crypto-hash \ + +kmod-crypto-crc32c + KCONFIG:= \ + CONFIG_EXT4_FS \ + CONFIG_EXT4_ENCRYPTION=n \ + CONFIG_JBD2 + FILES:= \ + $(LINUX_DIR)/fs/ext4/ext4.ko \ + $(LINUX_DIR)/fs/jbd2/jbd2.ko \ + $(LINUX_DIR)/fs/mbcache.ko + AUTOLOAD:=$(call AutoLoad,30,mbcache jbd2 ext4,1) +endef + +define KernelPackage/fs-ext4/description + Kernel module for EXT4 filesystem support +endef + +$(eval $(call KernelPackage,fs-ext4)) + + +define KernelPackage/fs-f2fs + SUBMENU:=$(FS_MENU) + TITLE:=F2FS filesystem support + DEPENDS:= +kmod-crypto-hash +kmod-crypto-crc32 +kmod-nls-base + KCONFIG:=CONFIG_F2FS_FS + FILES:=$(LINUX_DIR)/fs/f2fs/f2fs.ko + AUTOLOAD:=$(call AutoLoad,30,f2fs,1) +endef + +define KernelPackage/fs-f2fs/description + Kernel module for F2FS filesystem support +endef + +$(eval $(call KernelPackage,fs-f2fs)) + + +define KernelPackage/fs-fscache + SUBMENU:=$(FS_MENU) + TITLE:=General filesystem local cache manager + DEPENDS:= + KCONFIG:=\ + CONFIG_FSCACHE=m \ + CONFIG_FSCACHE_STATS=y \ + CONFIG_FSCACHE_HISTOGRAM=n \ + CONFIG_FSCACHE_DEBUG=n \ + CONFIG_FSCACHE_OBJECT_LIST=n \ + CONFIG_CACHEFILES=y \ + CONFIG_CACHEFILES_DEBUG=n \ + CONFIG_CACHEFILES_HISTOGRAM=n + FILES:=$(LINUX_DIR)/fs/fscache/fscache.ko + AUTOLOAD:=$(call AutoLoad,29,fscache) +endef + +$(eval $(call KernelPackage,fs-fscache)) + + +define KernelPackage/fs-hfs + SUBMENU:=$(FS_MENU) + TITLE:=HFS filesystem support + DEPENDS:=+kmod-cdrom + KCONFIG:=CONFIG_HFS_FS + FILES:=$(LINUX_DIR)/fs/hfs/hfs.ko + AUTOLOAD:=$(call AutoLoad,30,hfs) + $(call AddDepends/nls) +endef + +define KernelPackage/fs-hfs/description + Kernel module for HFS filesystem support +endef + +$(eval $(call KernelPackage,fs-hfs)) + + +define KernelPackage/fs-hfsplus + SUBMENU:=$(FS_MENU) + TITLE:=HFS+ filesystem support + DEPENDS:=+kmod-cdrom + KCONFIG:=CONFIG_HFSPLUS_FS + FILES:=$(LINUX_DIR)/fs/hfsplus/hfsplus.ko + AUTOLOAD:=$(call AutoLoad,30,hfsplus) + $(call AddDepends/nls,utf8) +endef + +define KernelPackage/fs-hfsplus/description + Kernel module for HFS+ filesystem support +endef + +$(eval $(call KernelPackage,fs-hfsplus)) + + +define KernelPackage/fs-isofs + SUBMENU:=$(FS_MENU) + TITLE:=ISO9660 filesystem support + DEPENDS:=+kmod-lib-zlib-inflate +kmod-cdrom + KCONFIG:=CONFIG_ISO9660_FS CONFIG_JOLIET=y CONFIG_ZISOFS=n + FILES:=$(LINUX_DIR)/fs/isofs/isofs.ko + AUTOLOAD:=$(call AutoLoad,30,isofs) + $(call AddDepends/nls) +endef + +define KernelPackage/fs-isofs/description + Kernel module for ISO9660 filesystem support +endef + +$(eval $(call KernelPackage,fs-isofs)) + + +define KernelPackage/fs-jfs + SUBMENU:=$(FS_MENU) + TITLE:=JFS filesystem support + KCONFIG:=CONFIG_JFS_FS + FILES:=$(LINUX_DIR)/fs/jfs/jfs.ko + AUTOLOAD:=$(call AutoLoad,30,jfs,1) + $(call AddDepends/nls) +endef + +define KernelPackage/fs-jfs/description + Kernel module for JFS support +endef + +$(eval $(call KernelPackage,fs-jfs)) + +define KernelPackage/fs-minix + SUBMENU:=$(FS_MENU) + TITLE:=Minix filesystem support + KCONFIG:=CONFIG_MINIX_FS + FILES:=$(LINUX_DIR)/fs/minix/minix.ko + AUTOLOAD:=$(call AutoLoad,30,minix) +endef + +define KernelPackage/fs-minix/description + Kernel module for Minix filesystem support +endef + +$(eval $(call KernelPackage,fs-minix)) + + +define KernelPackage/fs-msdos + SUBMENU:=$(FS_MENU) + TITLE:=MSDOS filesystem support + DEPENDS:=+kmod-fs-vfat + KCONFIG:=CONFIG_MSDOS_FS + FILES:=$(LINUX_DIR)/fs/fat/msdos.ko + AUTOLOAD:=$(call AutoLoad,40,msdos) + $(call AddDepends/nls) +endef + +define KernelPackage/fs-msdos/description + Kernel module for MSDOS filesystem support +endef + +$(eval $(call KernelPackage,fs-msdos)) + + +define KernelPackage/fs-nfs + SUBMENU:=$(FS_MENU) + TITLE:=NFS filesystem client support + DEPENDS:=+kmod-fs-nfs-common +kmod-dnsresolver + KCONFIG:= \ + CONFIG_NFS_FS \ + CONFIG_NFS_USE_LEGACY_DNS=n \ + CONFIG_NFS_USE_NEW_IDMAPPER=n + FILES:= \ + $(LINUX_DIR)/fs/nfs/nfs.ko + AUTOLOAD:=$(call AutoLoad,40,nfs) +endef + +define KernelPackage/fs-nfs/description + Kernel module for NFS client support +endef + +$(eval $(call KernelPackage,fs-nfs)) + + +define KernelPackage/fs-nfs-common + SUBMENU:=$(FS_MENU) + TITLE:=Common NFS filesystem modules + KCONFIG:= \ + CONFIG_LOCKD \ + CONFIG_SUNRPC \ + CONFIG_GRACE_PERIOD + FILES:= \ + $(LINUX_DIR)/fs/lockd/lockd.ko \ + $(LINUX_DIR)/net/sunrpc/sunrpc.ko \ + $(LINUX_DIR)/fs/nfs_common/grace.ko + AUTOLOAD:=$(call AutoLoad,30,grace sunrpc lockd) +endef + +$(eval $(call KernelPackage,fs-nfs-common)) + + +define KernelPackage/fs-nfs-common-rpcsec + SUBMENU:=$(FS_MENU) + TITLE:=NFS Secure RPC + DEPENDS:= \ + +kmod-fs-nfs-common \ + +kmod-crypto-des \ + +kmod-crypto-cbc \ + +kmod-crypto-cts \ + +kmod-crypto-md5 \ + +kmod-crypto-sha1 \ + +kmod-crypto-hmac \ + +kmod-crypto-ecb \ + +kmod-crypto-arc4 + KCONFIG:= \ + 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) +endef + +define KernelPackage/fs-nfs-common-rpcsec/description + Kernel modules for NFS Secure RPC +endef + +$(eval $(call KernelPackage,fs-nfs-common-rpcsec)) + + +define KernelPackage/fs-nfs-v3 + SUBMENU:=$(FS_MENU) + TITLE:=NFS3 filesystem client support + DEPENDS:=+kmod-fs-nfs + FILES:= \ + $(LINUX_DIR)/fs/nfs/nfsv3.ko + AUTOLOAD:=$(call AutoLoad,41,nfsv3) +endef + +define KernelPackage/fs-nfs-v3/description + Kernel module for NFS v3 client support +endef + +$(eval $(call KernelPackage,fs-nfs-v3)) + + +define KernelPackage/fs-nfs-v4 + SUBMENU:=$(FS_MENU) + TITLE:=NFS4 filesystem client support + DEPENDS:=+kmod-fs-nfs + KCONFIG:= \ + CONFIG_NFS_V4=y + FILES:= \ + $(LINUX_DIR)/fs/nfs/nfsv4.ko + AUTOLOAD:=$(call AutoLoad,41,nfsv4) +endef + +define KernelPackage/fs-nfs-v4/description + Kernel module for NFS v4 client support +endef + +$(eval $(call KernelPackage,fs-nfs-v4)) + + +define KernelPackage/fs-nfsd + SUBMENU:=$(FS_MENU) + TITLE:=NFS kernel server support + DEPENDS:=+kmod-fs-nfs-common +kmod-fs-exportfs +kmod-fs-nfs-common-rpcsec + KCONFIG:= \ + CONFIG_NFSD \ + CONFIG_NFSD_V4=y \ + CONFIG_NFSD_V4_SECURITY_LABEL=n \ + CONFIG_NFSD_BLOCKLAYOUT=n \ + CONFIG_NFSD_SCSILAYOUT=n \ + CONFIG_NFSD_FLEXFILELAYOUT=n \ + CONFIG_NFSD_FAULT_INJECTION=n + FILES:=$(LINUX_DIR)/fs/nfsd/nfsd.ko + AUTOLOAD:=$(call AutoLoad,40,nfsd) +endef + +define KernelPackage/fs-nfsd/description + Kernel module for NFS kernel server support +endef + +$(eval $(call KernelPackage,fs-nfsd)) + + +define KernelPackage/fs-ntfs + SUBMENU:=$(FS_MENU) + TITLE:=NTFS filesystem support + KCONFIG:=CONFIG_NTFS_FS + FILES:=$(LINUX_DIR)/fs/ntfs/ntfs.ko + AUTOLOAD:=$(call AutoLoad,30,ntfs) + $(call AddDepends/nls) +endef + +define KernelPackage/fs-ntfs/description + Kernel module for NTFS filesystem support +endef + +$(eval $(call KernelPackage,fs-ntfs)) + + +define KernelPackage/fs-reiserfs + SUBMENU:=$(FS_MENU) + TITLE:=ReiserFS filesystem support + KCONFIG:=CONFIG_REISERFS_FS + FILES:=$(LINUX_DIR)/fs/reiserfs/reiserfs.ko + AUTOLOAD:=$(call AutoLoad,30,reiserfs,1) +endef + +define KernelPackage/fs-reiserfs/description + Kernel module for ReiserFS support +endef + +$(eval $(call KernelPackage,fs-reiserfs)) + + +define KernelPackage/fs-squashfs + SUBMENU:=$(FS_MENU) + TITLE:=SquashFS 4.0 filesystem support + KCONFIG:=CONFIG_SQUASHFS \ + CONFIG_SQUASHFS_XZ=y + FILES:=$(LINUX_DIR)/fs/squashfs/squashfs.ko + AUTOLOAD:=$(call AutoLoad,30,squashfs,1) +endef + +define KernelPackage/fs-squashfs/description + Kernel module for SquashFS 4.0 support +endef + +$(eval $(call KernelPackage,fs-squashfs)) + + +define KernelPackage/fs-udf + SUBMENU:=$(FS_MENU) + TITLE:=UDF filesystem support + KCONFIG:=CONFIG_UDF_FS + FILES:=$(LINUX_DIR)/fs/udf/udf.ko + AUTOLOAD:=$(call AutoLoad,30,udf) + DEPENDS:=+kmod-lib-crc-itu-t +kmod-cdrom + $(call AddDepends/nls) +endef + +define KernelPackage/fs-udf/description + Kernel module for UDF filesystem support +endef + +$(eval $(call KernelPackage,fs-udf)) + + +define KernelPackage/fs-vfat + SUBMENU:=$(FS_MENU) + TITLE:=VFAT filesystem support + KCONFIG:= \ + CONFIG_FAT_FS \ + CONFIG_VFAT_FS + FILES:= \ + $(LINUX_DIR)/fs/fat/fat.ko \ + $(LINUX_DIR)/fs/fat/vfat.ko + AUTOLOAD:=$(call AutoLoad,30,fat vfat) + $(call AddDepends/nls,cp437 iso8859-1 utf8) +endef + +define KernelPackage/fs-vfat/description + Kernel module for VFAT filesystem support +endef + +$(eval $(call KernelPackage,fs-vfat)) + + +define KernelPackage/fs-xfs + SUBMENU:=$(FS_MENU) + TITLE:=XFS filesystem support + KCONFIG:=CONFIG_XFS_FS + DEPENDS:= +kmod-fs-exportfs +kmod-lib-crc32c + FILES:=$(LINUX_DIR)/fs/xfs/xfs.ko + AUTOLOAD:=$(call AutoLoad,30,xfs,1) +endef + +define KernelPackage/fs-xfs/description + Kernel module for XFS support +endef + +$(eval $(call KernelPackage,fs-xfs)) + + +define KernelPackage/fuse + SUBMENU:=$(FS_MENU) + TITLE:=FUSE (Filesystem in Userspace) support + KCONFIG:= CONFIG_FUSE_FS + FILES:=$(LINUX_DIR)/fs/fuse/fuse.ko + AUTOLOAD:=$(call AutoLoad,80,fuse) +endef + +define KernelPackage/fuse/description + Kernel module for userspace filesystem support +endef + +$(eval $(call KernelPackage,fuse)) diff --git a/feeds/ipq807x/linux/modules/hwmon.mk b/feeds/ipq807x/linux/modules/hwmon.mk new file mode 100644 index 000000000..a39a8910f --- /dev/null +++ b/feeds/ipq807x/linux/modules/hwmon.mk @@ -0,0 +1,572 @@ +# +# Copyright (C) 2006-2014 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +HWMON_MENU:=Hardware Monitoring Support + +define KernelPackage/hwmon-core + SUBMENU:=$(HWMON_MENU) + TITLE:=Hardware monitoring support + KCONFIG:= \ + CONFIG_HWMON \ + CONFIG_HWMON_DEBUG_CHIP=n + FILES:= \ + $(LINUX_DIR)/drivers/hwmon/hwmon.ko +endef + +define KernelPackage/hwmon-core/description + Kernel modules for hardware monitoring +endef + +$(eval $(call KernelPackage,hwmon-core)) + + +define AddDepends/hwmon + SUBMENU:=$(HWMON_MENU) + DEPENDS:=+kmod-hwmon-core $(1) +endef + +define KernelPackage/hwmon-ad7418 + TITLE:=AD741x monitoring support + KCONFIG:=CONFIG_SENSORS_AD7418 + FILES:=$(LINUX_DIR)/drivers/hwmon/ad7418.ko + AUTOLOAD:=$(call AutoLoad,60,ad7418 ad7418) + $(call AddDepends/hwmon,+kmod-i2c-core) +endef + +define KernelPackage/hwmon-ad7418/description + Kernel module for Analog Devices AD7416, AD7417 and AD7418 temperature monitor chip +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:= \ + CONFIG_SENSORS_ADT7X10 \ + CONFIG_SENSORS_ADT7410 + FILES:= \ + $(LINUX_DIR)/drivers/hwmon/adt7x10.ko \ + $(LINUX_DIR)/drivers/hwmon/adt7410.ko + AUTOLOAD:=$(call AutoLoad,60,adt7x10 adt7410) + $(call AddDepends/hwmon,+kmod-i2c-core) +endef + +define KernelPackage/hwmon-adt7410/description + Kernel module for ADT7410/7420 I2C thermal monitor chip +endef + +$(eval $(call KernelPackage,hwmon-adt7410)) + + +define KernelPackage/hwmon-adt7475 + TITLE:=ADT7473/7475/7476/7490 monitoring support + KCONFIG:=CONFIG_SENSORS_ADT7475 + FILES:=$(LINUX_DIR)/drivers/hwmon/adt7475.ko + AUTOLOAD:=$(call AutoProbe,adt7475) + $(call AddDepends/hwmon,+kmod-i2c-core +kmod-hwmon-vid) +endef + +define KernelPackage/hwmon-adt7475/description + Kernel module for ADT7473/7475/7476/7490 thermal monitor chip +endef + +$(eval $(call KernelPackage,hwmon-adt7475)) + + +define KernelPackage/hwmon-dme1737 + TITLE:=SMSC DME1737 and compatible monitoring support + KCONFIG:=CONFIG_SENSORS_DME1737 + FILES:= \ + $(LINUX_DIR)/drivers/hwmon/dme1737.ko + AUTOLOAD:=$(call AutoProbe,dme1737) + $(call AddDepends/hwmon,+kmod-i2c-core +kmod-hwmon-vid) +endef + +define KernelPackage/hwmon-dme1737/description + SMSC DME1737, SCH3112, SCH3114, SCH3116, SCH5027 monitoring support +endef + +$(eval $(call KernelPackage,hwmon-dme1737)) + + +define KernelPackage/hwmon-drivetemp + TITLE:=Hard disk drives with temperature sensor + KCONFIG:=CONFIG_SENSORS_DRIVETEMP + FILES:=$(LINUX_DIR)/drivers/hwmon/drivetemp.ko + AUTOLOAD:=$(call AutoLoad,60,drivetemp) + $(call AddDepends/hwmon,+kmod-ata-core +kmod-scsi-core) +endef + +define KernelPackage/hwmon-drivetemp/description + Kernel module for Hard disk drives with temperature sensor +endef + +$(eval $(call KernelPackage,hwmon-drivetemp)) + + +define KernelPackage/hwmon-gpiofan + TITLE:=Generic GPIO FAN support + KCONFIG:=CONFIG_SENSORS_GPIO_FAN + FILES:=$(LINUX_DIR)/drivers/hwmon/gpio-fan.ko + AUTOLOAD:=$(call AutoLoad,60,gpio-fan) + $(call AddDepends/hwmon,+kmod-i2c-core +PACKAGE_kmod-thermal:kmod-thermal) +endef + +define KernelPackage/hwmon-gpiofan/description + Kernel module for GPIO controlled FANs +endef + +$(eval $(call KernelPackage,hwmon-gpiofan)) + + +define KernelPackage/hwmon-f71882fg + TITLE:=F71882FG compatible monitoring support + KCONFIG:=CONFIG_SENSORS_F71882FG + FILES:=$(LINUX_DIR)/drivers/hwmon/f71882fg.ko + AUTOLOAD:=$(call AutoProbe,f71882fg) + $(call AddDepends/hwmon,@TARGET_x86) +endef + +define KernelPackage/hwmon-f71882fg/description + Kernel module for hardware monitoring via many Fintek Super-IO chips. +endef + +$(eval $(call KernelPackage,hwmon-f71882fg)) + + +define KernelPackage/hwmon-ina209 + TITLE:=INA209 monitoring support + KCONFIG:=CONFIG_SENSORS_INA209 + FILES:=$(LINUX_DIR)/drivers/hwmon/ina209.ko + AUTOLOAD:=$(call AutoProbe,ina209) + $(call AddDepends/hwmon,+kmod-i2c-core) +endef + +define KernelPackage/hwmon-ina209/description + Kernel module for ina209 dc power monitor chips +endef + +$(eval $(call KernelPackage,hwmon-ina209)) + + +define KernelPackage/hwmon-ina2xx + TITLE:=INA2XX monitoring support + KCONFIG:=CONFIG_SENSORS_INA2XX + FILES:=$(LINUX_DIR)/drivers/hwmon/ina2xx.ko + AUTOLOAD:=$(call AutoProbe,ina2xx) + $(call AddDepends/hwmon,+kmod-i2c-core +kmod-regmap-i2c) +endef + +define KernelPackage/hwmon-ina2xx/description + Kernel module for ina2xx dc current monitor chips +endef + +$(eval $(call KernelPackage,hwmon-ina2xx)) + + +define KernelPackage/hwmon-it87 + TITLE:=IT87 monitoring support + KCONFIG:=CONFIG_SENSORS_IT87 + FILES:=$(LINUX_DIR)/drivers/hwmon/it87.ko + AUTOLOAD:=$(call AutoProbe,it87) + $(call AddDepends/hwmon,+kmod-i2c-core +kmod-hwmon-vid +PACKAGE_kmod-thermal:kmod-thermal) +endef + +define KernelPackage/hwmon-it87/description + Kernel module for it87 thermal and voltage monitor chip +endef + +$(eval $(call KernelPackage,hwmon-it87)) + + +define KernelPackage/hwmon-lm63 + TITLE:=LM63/64 monitoring support + KCONFIG:=CONFIG_SENSORS_LM63 + FILES:=$(LINUX_DIR)/drivers/hwmon/lm63.ko + AUTOLOAD:=$(call AutoProbe,lm63) + $(call AddDepends/hwmon,+kmod-i2c-core +kmod-regmap-i2c) +endef + +define KernelPackage/hwmon-lm63/description + Kernel module for lm63 and lm64 thermal monitor chip +endef + +$(eval $(call KernelPackage,hwmon-lm63)) + + +define KernelPackage/hwmon-lm75 + TITLE:=LM75 monitoring support + KCONFIG:=CONFIG_SENSORS_LM75 + FILES:=$(LINUX_DIR)/drivers/hwmon/lm75.ko + AUTOLOAD:=$(call AutoProbe,lm75) + $(call AddDepends/hwmon,+kmod-i2c-core +PACKAGE_kmod-thermal:kmod-thermal +kmod-regmap-i2c) +endef + +define KernelPackage/hwmon-lm75/description + Kernel module for lm75 thermal monitor chip +endef + +$(eval $(call KernelPackage,hwmon-lm75)) + + +define KernelPackage/hwmon-lm77 + TITLE:=LM77 monitoring support + KCONFIG:=CONFIG_SENSORS_LM77 + FILES:=$(LINUX_DIR)/drivers/hwmon/lm77.ko + AUTOLOAD:=$(call AutoProbe,lm77) + $(call AddDepends/hwmon,+kmod-i2c-core) +endef + +define KernelPackage/hwmon-lm77/description + Kernel module for LM77 thermal monitor chip +endef + +$(eval $(call KernelPackage,hwmon-lm77)) + + +define KernelPackage/hwmon-lm85 + TITLE:=LM85 monitoring support + KCONFIG:=CONFIG_SENSORS_LM85 + FILES:=$(LINUX_DIR)/drivers/hwmon/lm85.ko + AUTOLOAD:=$(call AutoProbe,lm85) + $(call AddDepends/hwmon,+kmod-i2c-core +kmod-hwmon-vid) +endef + +define KernelPackage/hwmon-lm85/description + Kernel module for LM85 thermal monitor chip +endef + +$(eval $(call KernelPackage,hwmon-lm85)) + + +define KernelPackage/hwmon-lm90 + TITLE:=LM90 monitoring support + KCONFIG:=CONFIG_SENSORS_LM90 + FILES:=$(LINUX_DIR)/drivers/hwmon/lm90.ko + AUTOLOAD:=$(call AutoProbe,lm90) + $(call AddDepends/hwmon,+kmod-i2c-core) +endef + +define KernelPackage/hwmon-lm90/description + Kernel module for LM90 thermal monitor chip +endef + +$(eval $(call KernelPackage,hwmon-lm90)) + + +define KernelPackage/hwmon-lm92 + TITLE:=LM92 monitoring support + KCONFIG:=CONFIG_SENSORS_LM92 + FILES:=$(LINUX_DIR)/drivers/hwmon/lm92.ko + AUTOLOAD:=$(call AutoProbe,lm92) + $(call AddDepends/hwmon,+kmod-i2c-core) +endef + +define KernelPackage/hwmon-lm92/description + Kernel module for LM92 thermal monitor chip +endef + +$(eval $(call KernelPackage,hwmon-lm92)) + + +define KernelPackage/hwmon-lm95241 + TITLE:=LM95241 monitoring support + KCONFIG:=CONFIG_SENSORS_LM95241 + FILES:=$(LINUX_DIR)/drivers/hwmon/lm95241.ko + AUTOLOAD:=$(call AutoProbe,lm95241) + $(call AddDepends/hwmon,+kmod-i2c-core) +endef + +define KernelPackage/hwmon-lm95241/description + Kernel module for LM95241 thermal monitor chip +endef + +$(eval $(call KernelPackage,hwmon-lm95241)) + + +define KernelPackage/hwmon-ltc4151 + TITLE:=LTC4151 monitoring support + KCONFIG:=CONFIG_SENSORS_LTC4151 + FILES:=$(LINUX_DIR)/drivers/hwmon/ltc4151.ko + AUTOLOAD:=$(call AutoProbe,ltc4151) + $(call AddDepends/hwmon,+kmod-i2c-core) +endef + +define KernelPackage/hwmon-ltc4151/description + Kernel module for Linear Technology LTC4151 current and voltage monitor chip +endef + +$(eval $(call KernelPackage,hwmon-ltc4151)) + + +define KernelPackage/hwmon-mcp3021 + TITLE:=MCP3021/3221 monitoring support + KCONFIG:=CONFIG_SENSORS_MCP3021 + FILES:=$(LINUX_DIR)/drivers/hwmon/mcp3021.ko + AUTOLOAD:=$(call AutoProbe,mcp3021) + $(call AddDepends/hwmon,+kmod-i2c-core) +endef + +define KernelPackage/hwmon-mcp3021/description + Kernel module for Linear Technology MCP3021/3221 current and voltage monitor chip +endef + +$(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 + AUTOLOAD:=$(call AutoProbe,nct6775) + $(call AddDepends/hwmon,@PCI_SUPPORT @TARGET_x86 +kmod-hwmon-vid) +endef + +define KernelPackage/hwmon-nct6775/description + Kernel module for NCT6106D/6775F/6776F/6779D/6791D/6792D/6793D thermal monitor chip +endef + +$(eval $(call KernelPackage,hwmon-nct6775)) + + +define KernelPackage/hwmon-pc87360 + TITLE:=PC87360 monitoring support + KCONFIG:=CONFIG_SENSORS_PC87360 + FILES:=$(LINUX_DIR)/drivers/hwmon/pc87360.ko + AUTOLOAD:=$(call AutoProbe,pc87360) + $(call AddDepends/hwmon,@TARGET_x86 +kmod-hwmon-vid) +endef + +define KernelPackage/hwmon-pc87360/description + Kernel modules for PC87360 chips +endef + +$(eval $(call KernelPackage,hwmon-pc87360)) + + +define KernelPackage/pmbus-core + TITLE:=PMBus support + KCONFIG:= CONFIG_PMBUS + FILES:=$(LINUX_DIR)/drivers/hwmon/pmbus/pmbus_core.ko + $(call AddDepends/hwmon,+kmod-i2c-core) +endef + +define KernelPackage/pmbus-core/description + Kernel modules for Power Management Bus +endef + +$(eval $(call KernelPackage,pmbus-core)) + + +define KernelPackage/pmbus-zl6100 + TITLE:=Intersil / Zilker Labs ZL6100 hardware monitoring + KCONFIG:=CONFIG_SENSORS_ZL6100 + FILES:=$(LINUX_DIR)/drivers/hwmon/pmbus/zl6100.ko + AUTOLOAD:=$(call AutoProbe,zl6100) + $(call AddDepends/hwmon, +kmod-pmbus-core) +endef + +define KernelPackage/pmbus-zl6100/description + Kernel module for Intersil / Zilker Labs ZL6100 and +compatible digital DC-DC controllers +endef + +$(eval $(call KernelPackage,pmbus-zl6100)) + + +define KernelPackage/hwmon-pwmfan + TITLE:=Generic PWM FAN support + KCONFIG:=CONFIG_SENSORS_PWM_FAN + FILES:=$(LINUX_DIR)/drivers/hwmon/pwm-fan.ko + AUTOLOAD:=$(call AutoLoad,60,pwm-fan) + $(call AddDepends/hwmon, +PACKAGE_kmod-thermal:kmod-thermal) +endef + +define KernelPackage/hwmon-pwmfan/description + Kernel module for PWM controlled FANs +endef + +$(eval $(call KernelPackage,hwmon-pwmfan)) + + +define KernelPackage/hwmon-sch5627 + TITLE:=SMSC SCH5627 monitoring support + KCONFIG:= \ + CONFIG_SENSORS_SCH5627 \ + CONFIG_WATCHDOG_CORE=y + FILES:= \ + $(LINUX_DIR)/drivers/hwmon/sch5627.ko \ + $(LINUX_DIR)/drivers/hwmon/sch56xx-common.ko + AUTOLOAD:=$(call AutoProbe,sch5627) + $(call AddDepends/hwmon,+kmod-i2c-core) +endef + +define KernelPackage/hwmon-sch5627/description + SMSC SCH5627 Super I/O chips include complete hardware monitoring +endef + +$(eval $(call KernelPackage,hwmon-sch5627)) + + +define KernelPackage/hwmon-sht21 + TITLE:=Sensiron SHT21 and compat. monitoring support + KCONFIG:=CONFIG_SENSORS_SHT21 + FILES:=$(LINUX_DIR)/drivers/hwmon/sht21.ko + AUTOLOAD:=$(call AutoProbe,sht21) + $(call AddDepends/hwmon,+kmod-i2c-core) +endef + +define KernelPackage/hwmon-sht21/description + Kernel module for Sensirion SHT21 and SHT25 temperature and humidity sensors chip +endef + +$(eval $(call KernelPackage,hwmon-sht21)) + + +define KernelPackage/hwmon-tmp102 + TITLE:=Texas Instruments TMP102 monitoring support + KCONFIG:=CONFIG_SENSORS_TMP102 + FILES:=$(LINUX_DIR)/drivers/hwmon/tmp102.ko + AUTOLOAD:=$(call AutoProbe,tmp102) + $(call AddDepends/hwmon,+kmod-i2c-core +PACKAGE_kmod-thermal:kmod-thermal +kmod-regmap-i2c) +endef + +define KernelPackage/hwmon-tmp102/description + Kernel module for Texas Instruments TMP102 temperature sensors chip +endef + +$(eval $(call KernelPackage,hwmon-tmp102)) + + +define KernelPackage/hwmon-tmp103 + TITLE:=Texas Instruments TMP103 monitoring support + KCONFIG:=CONFIG_SENSORS_TMP103 + FILES:=$(LINUX_DIR)/drivers/hwmon/tmp103.ko + AUTOLOAD:=$(call AutoProbe,tmp103) + $(call AddDepends/hwmon,+kmod-i2c-core +kmod-regmap-i2c) +endef + +define KernelPackage/hwmon-tmp103/description + Kernel module for Texas Instruments TMP103 temperature sensors chip +endef + +$(eval $(call KernelPackage,hwmon-tmp103)) + + +define KernelPackage/hwmon-tmp421 + TITLE:=TI TMP421 and compatible monitoring support + KCONFIG:=CONFIG_SENSORS_TMP421 + FILES:=$(LINUX_DIR)/drivers/hwmon/tmp421.ko + AUTOLOAD:=$(call AutoLoad,60,tmp421) + $(call AddDepends/hwmon,+kmod-i2c-core) +endef + +define KernelPackage/hwmon-tmp421/description + Kernel module for the Texas Instruments TMP421 and compatible chips. +endef + +$(eval $(call KernelPackage,hwmon-tmp421)) + + +define KernelPackage/hwmon-vid + TITLE:=VID/VRM/VRD voltage conversion module. + KCONFIG:=CONFIG_HWMON_VID + FILES:=$(LINUX_DIR)/drivers/hwmon/hwmon-vid.ko + AUTOLOAD:=$(call AutoLoad,41,hwmon-vid) + $(call AddDepends/hwmon,) +endef + +define KernelPackage/hwmon-vid/description + VID/VRM/VRD voltage conversion module for hardware monitoring +endef + +$(eval $(call KernelPackage,hwmon-vid)) + + +define KernelPackage/hwmon-w83627ehf + TITLE:=Winbond W83627EHF/EHG/DHG/UHG, W83667HG monitoring support + KCONFIG:=CONFIG_SENSORS_W83627EHF + FILES:=$(LINUX_DIR)/drivers/hwmon/w83627ehf.ko + AUTOLOAD:=$(call AutoProbe,w83627ehf) + $(call AddDepends/hwmon,@TARGET_x86 +kmod-hwmon-vid) +endef + +define KernelPackage/hwmon-w83627ehf/description + Kernel module for Winbond W83627EHF/EHG/DHG/UHG and W83667HG thermal monitor chip + Support for NCT6775F and NCT6776F has been removed from this driver in favour of + using the nct6775 driver to handle those chips. +endef + +$(eval $(call KernelPackage,hwmon-w83627ehf)) + + +define KernelPackage/hwmon-w83627hf + TITLE:=Winbond W83627HF monitoring support + KCONFIG:=CONFIG_SENSORS_W83627HF + FILES:=$(LINUX_DIR)/drivers/hwmon/w83627hf.ko + AUTOLOAD:=$(call AutoLoad,50,w83627hf) + $(call AddDepends/hwmon,@TARGET_x86 +kmod-hwmon-vid) +endef + +define KernelPackage/hwmon-w83627hf/description + Kernel module for the Winbond W83627HF chips. +endef + +$(eval $(call KernelPackage,hwmon-w83627hf)) + + +define KernelPackage/hwmon-w83793 + TITLE:=Winbond W83793G/R monitoring support + KCONFIG:=CONFIG_SENSORS_W83793 + FILES:=$(LINUX_DIR)/drivers/hwmon/w83793.ko + AUTOLOAD:=$(call AutoProbe,w83793) + $(call AddDepends/hwmon,+kmod-i2c-core +kmod-hwmon-vid) +endef + +define KernelPackage/hwmon-w83793/description + Kernel module for the Winbond W83793G and W83793R chips. +endef + +$(eval $(call KernelPackage,hwmon-w83793)) + + +define KernelPackage/hwmon-adcxx + TITLE:=ADCxx monitoring support + KCONFIG:=CONFIG_SENSORS_ADCXX + FILES:=$(LINUX_DIR)/drivers/hwmon/adcxx.ko + AUTOLOAD:=$(call AutoLoad,60,adcxx) + $(call AddDepends/hwmon,) +endef + +define KernelPackage/hwmon-adcxx/description + Kernel module for the National Semiconductor + ADCS chip family, where + * bb is the resolution in number of bits (8, 10, 12) + * c is the number of channels (1, 2, 4, 8) + * sss is the maximum conversion speed (021 for 200 kSPS, 051 for 500 + kSPS and 101 for 1 MSPS) + + Examples : ADC081S101, ADC124S501, ... +endef + +$(eval $(call KernelPackage,hwmon-adcxx)) + + diff --git a/feeds/ipq807x/linux/modules/i2c.mk b/feeds/ipq807x/linux/modules/i2c.mk new file mode 100644 index 000000000..ca6463c81 --- /dev/null +++ b/feeds/ipq807x/linux/modules/i2c.mk @@ -0,0 +1,261 @@ +# +# Copyright (C) 2006-2009 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +I2C_MENU:=I2C support + +ModuleConfVar=$(word 1,$(subst :,$(space),$(1))) +ModuleFullPath=$(LINUX_DIR)/$(word 2,$(subst :,$(space),$(1))).ko +ModuleKconfig=$(foreach mod,$(1),$(call ModuleConfVar,$(mod))) +ModuleFiles=$(foreach mod,$(1),$(call ModuleFullPath,$(mod))) +ModuleAuto=$(call AutoLoad,$(1),$(foreach mod,$(2),$(basename $(notdir $(call ModuleFullPath,$(mod))))),$(3)) + +define i2c_defaults + SUBMENU:=$(I2C_MENU) + KCONFIG:=$(call ModuleKconfig,$(1)) + FILES:=$(call ModuleFiles,$(1)) + AUTOLOAD:=$(call ModuleAuto,$(2),$(1),$(3)) +endef + +I2C_CORE_MODULES:= \ + CONFIG_I2C:drivers/i2c/i2c-core \ + CONFIG_I2C_CHARDEV:drivers/i2c/i2c-dev + +define KernelPackage/i2c-core + $(call i2c_defaults,$(I2C_CORE_MODULES),51) + TITLE:=I2C support +endef + +define KernelPackage/i2c-core/description + Kernel modules for I2C support +endef + +$(eval $(call KernelPackage,i2c-core)) + + +I2C_ALGOBIT_MODULES:= \ + CONFIG_I2C_ALGOBIT:drivers/i2c/algos/i2c-algo-bit + +define KernelPackage/i2c-algo-bit + $(call i2c_defaults,$(I2C_ALGOBIT_MODULES),55) + TITLE:=I2C bit-banging interfaces + DEPENDS:=+kmod-i2c-core +endef + +define KernelPackage/i2c-algo-bit/description + Kernel modules for I2C bit-banging interfaces +endef + +$(eval $(call KernelPackage,i2c-algo-bit)) + + +I2C_ALGOPCA_MODULES:= \ + CONFIG_I2C_ALGOPCA:drivers/i2c/algos/i2c-algo-pca + +define KernelPackage/i2c-algo-pca + $(call i2c_defaults,$(I2C_ALGOPCA_MODULES),55) + TITLE:=I2C PCA 9564 interfaces + DEPENDS:=+kmod-i2c-core +endef + +define KernelPackage/i2c-algo-pca/description + Kernel modules for I2C PCA 9564 interfaces +endef + +$(eval $(call KernelPackage,i2c-algo-pca)) + + +I2C_ALGOPCF_MODULES:= \ + CONFIG_I2C_ALGOPCF:drivers/i2c/algos/i2c-algo-pcf + +define KernelPackage/i2c-algo-pcf + $(call i2c_defaults,$(I2C_ALGOPCF_MODULES),55) + TITLE:=I2C PCF 8584 interfaces + DEPENDS:=+kmod-i2c-core +endef + +define KernelPackage/i2c-algo-pcf/description + Kernel modules for I2C PCF 8584 interfaces +endef + +$(eval $(call KernelPackage,i2c-algo-pcf)) + + +I2C_GPIO_MODULES:= \ + CONFIG_I2C_GPIO:drivers/i2c/busses/i2c-gpio + +define KernelPackage/i2c-gpio + $(call i2c_defaults,$(I2C_GPIO_MODULES),59) + TITLE:=GPIO-based bitbanging I2C + DEPENDS:=@GPIO_SUPPORT +kmod-i2c-algo-bit +endef + +define KernelPackage/i2c-gpio/description + Kernel modules for a very simple bitbanging I2C driver utilizing the + arch-neutral GPIO API to control the SCL and SDA lines. +endef + +$(eval $(call KernelPackage,i2c-gpio)) + + +I2C_I801_MODULES:= \ + CONFIG_I2C_I801:drivers/i2c/busses/i2c-i801 + +define KernelPackage/i2c-i801 + $(call i2c_defaults,$(I2C_I801_MODULES),59) + TITLE:=Intel I801 and compatible I2C interfaces + DEPENDS:=@PCI_SUPPORT @TARGET_x86 +kmod-i2c-core +kmod-i2c-smbus +endef + +define KernelPackage/i2c-i801/description + Support for the Intel I801 family of mainboard I2C interfaces, + specifically 82801AA, 82801AB, 82801BA, 82801CA/CAM, 82801DB, + 82801EB/ER (ICH5/ICH5R), 6300ESB, ICH6, ICH7, ESB2, ICH8, ICH9, + EP80579 (Tolapai), ICH10, 5/3400 Series (PCH), 6 Series (PCH), + Patsburg (PCH), DH89xxCC (PCH), Panther Point (PCH), + Lynx Point (PCH), Lynx Point-LP (PCH), Avoton (SOC), + Wellsburg (PCH), Coleto Creek (PCH), Wildcat Point (PCH), + Wildcat Point-LP (PCH), BayTrail (SOC), Sunrise Point-H (PCH), + Sunrise Point-LP (PCH), DNV (SOC), Broxton (SOC), + Lewisburg (PCH). +endef + +$(eval $(call KernelPackage,i2c-i801)) + + +I2C_MUX_MODULES:= \ + CONFIG_I2C_MUX:drivers/i2c/i2c-mux + +define KernelPackage/i2c-mux + $(call i2c_defaults,$(I2C_MUX_MODULES),51) + TITLE:=I2C bus multiplexing support + DEPENDS:=+kmod-i2c-core +endef + +define KernelPackage/i2c-mux/description + Kernel modules for I2C bus multiplexing support +endef + +$(eval $(call KernelPackage,i2c-mux)) + +I2C_MUX_GPIO_MODULES:= \ + CONFIG_I2C_MUX_GPIO:drivers/i2c/muxes/i2c-mux-gpio + +define KernelPackage/i2c-mux-gpio + $(call i2c_defaults,$(I2C_MUX_GPIO_MODULES),51) + TITLE:=GPIO-based I2C mux/switches + DEPENDS:=+kmod-i2c-mux +endef + +define KernelPackage/i2c-mux-gpio/description + Kernel modules for GENERIC_GPIO I2C bus mux/switching devices +endef + +$(eval $(call KernelPackage,i2c-mux-gpio)) + + +I2C_MUX_PCA9541_MODULES:= \ + CONFIG_I2C_MUX_PCA9541:drivers/i2c/muxes/i2c-mux-pca9541 + +define KernelPackage/i2c-mux-pca9541 + $(call i2c_defaults,$(I2C_MUX_PCA9541_MODULES),51) + TITLE:=Philips PCA9541 I2C mux/switches + DEPENDS:=+kmod-i2c-mux +endef + +define KernelPackage/i2c-mux-pca9541/description + Kernel modules for PCA9541 I2C bus mux/switching devices +endef + +$(eval $(call KernelPackage,i2c-mux-pca9541)) + +I2C_MUX_PCA954x_MODULES:= \ + CONFIG_I2C_MUX_PCA954x:drivers/i2c/muxes/i2c-mux-pca954x + +define KernelPackage/i2c-mux-pca954x + $(call i2c_defaults,$(I2C_MUX_PCA954x_MODULES),51) + TITLE:=Philips PCA954x I2C mux/switches + DEPENDS:=+kmod-i2c-mux +endef + +define KernelPackage/i2c-mux-pca954x/description + Kernel modules for PCA954x I2C bus mux/switching devices +endef + +$(eval $(call KernelPackage,i2c-mux-pca954x)) + + +I2C_PIIX4_MODULES:= \ + CONFIG_I2C_PIIX4:drivers/i2c/busses/i2c-piix4 + +define KernelPackage/i2c-piix4 + $(call i2c_defaults,$(I2C_PIIX4_MODULES),59) + TITLE:=Intel PIIX4 and compatible I2C interfaces + DEPENDS:=@PCI_SUPPORT @TARGET_x86 +kmod-i2c-core +endef + +define KernelPackage/i2c-piix4/description + Support for the Intel PIIX4 family of mainboard I2C interfaces, + specifically Intel PIIX4, Intel 440MX, ATI IXP200, ATI IXP300, + ATI IXP400, ATI SB600, ATI SB700/SP5100, ATI SB800, AMD Hudson-2, + AMD ML, AMD CZ, Serverworks OSB4, Serverworks CSB5, + Serverworks CSB6, Serverworks HT-1000, Serverworks HT-1100 and + SMSC Victory66. +endef + +$(eval $(call KernelPackage,i2c-piix4)) + + +I2C_PXA_MODULES:= \ + CONFIG_I2C_PXA:drivers/i2c/busses/i2c-pxa + +define KernelPackage/i2c-pxa + $(call i2c_defaults,$(I2C_PXA_MODULES),50) + TITLE:=Intel PXA I2C bus driver + DEPENDS:=+kmod-i2c-core +endef + +define KernelPackage/i2c-pxa/description + Kernel module for Intel PXA2XX I2C adapter +endef + +$(eval $(call KernelPackage,i2c-pxa)) + + +I2C_SMBUS_MODULES:= \ + CONFIG_I2C_SMBUS:drivers/i2c/i2c-smbus + +define KernelPackage/i2c-smbus + $(call i2c_defaults,$(I2C_SMBUS_MODULES),58) + TITLE:=SMBus-specific protocols helper + DEPENDS:=+kmod-i2c-core +endef + +define KernelPackage/i2c-smbus/description + Support for the SMBus extensions to the I2C specification. +endef + +$(eval $(call KernelPackage,i2c-smbus)) + + + +I2C_TINY_USB_MODULES:= \ + CONFIG_I2C_TINY_USB:drivers/i2c/busses/i2c-tiny-usb + +define KernelPackage/i2c-tiny-usb + $(call i2c_defaults,$(I2C_TINY_USB_MODULES),59) + TITLE:=I2C Tiny USB adaptor + DEPENDS:=@USB_SUPPORT +kmod-i2c-core +kmod-usb-core +endef + +define KernelPackage/i2c-tiny-usb/description + Kernel module for the I2C Tiny USB adaptor developed + by Till Harbaum (http://www.harbaum.org/till/i2c_tiny_usb) +endef + +$(eval $(call KernelPackage,i2c-tiny-usb)) + + diff --git a/feeds/ipq807x/linux/modules/iio.mk b/feeds/ipq807x/linux/modules/iio.mk new file mode 100644 index 000000000..0ea7ba8bd --- /dev/null +++ b/feeds/ipq807x/linux/modules/iio.mk @@ -0,0 +1,546 @@ +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +IIO_MENU:=Industrial I/O Modules + + +define KernelPackage/iio-core + SUBMENU:=$(IIO_MENU) + TITLE:=Industrial IO core + KCONFIG:= \ + CONFIG_IIO \ + CONFIG_IIO_BUFFER=y \ + CONFIG_IIO_TRIGGER=y + FILES:=$(LINUX_DIR)/drivers/iio/industrialio.ko + AUTOLOAD:=$(call AutoLoad,55,industrialio) +endef + +define KernelPackage/iio-core/description + The industrial I/O subsystem provides a unified framework for + drivers for many different types of embedded sensors using a + number of different physical interfaces (i2c, spi, etc) +endef + +$(eval $(call KernelPackage,iio-core)) + + +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) +endef + +define KernelPackage/iio-kfifo-buf/description + A simple fifo based on kfifo. Note that this currently provides no buffer + events so it is up to userspace to work out how often to read from the buffer. +endef + +$(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 + KCONFIG:=CONFIG_IIO_TRIGGERED_BUFFER + FILES:=$(LINUX_DIR)/drivers/iio/buffer/industrialio-triggered-buffer.ko + AUTOLOAD:=$(call AutoLoad,55,industrialio-triggered-buffer) +endef + +define KernelPackage/industrialio-triggered-buffer/description + Provides helper functions for setting up triggered buffers. +endef + +$(eval $(call KernelPackage,industrialio-triggered-buffer)) + + +define KernelPackage/iio-ad799x + SUBMENU:=$(IIO_MENU) + DEPENDS:=+kmod-i2c-core +kmod-iio-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) +endef + +define KernelPackage/iio-ad799x/description + support for Analog Devices: + ad7991, ad7995, ad7999, ad7992, ad7993, ad7994, ad7997, ad7998 + i2c analog to digital converters (ADC). +endef + +$(eval $(call KernelPackage,iio-ad799x)) + +define KernelPackage/iio-hmc5843 + SUBMENU:=$(IIO_MENU) + DEPENDS:=+kmod-i2c-core +kmod-iio-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) +endef + +define KernelPackage/iio-hmc5843/description + Honeywell HMC5843/5883/5883L 3-Axis Magnetometer +endef + +$(eval $(call KernelPackage,iio-hmc5843)) + +define KernelPackage/iio-bh1750 + SUBMENU:=$(IIO_MENU) + DEPENDS:=+kmod-i2c-core +kmod-iio-core + TITLE:=ROHM BH1750 ambient light sensor + KCONFIG:= CONFIG_BH1750 + FILES:=$(LINUX_DIR)/drivers/iio/light/bh1750.ko + AUTOLOAD:=$(call AutoLoad,56,bh1750) +endef +define KernelPackage/iio-bh1750/description + ROHM BH1750 ambient light sensor (i2c bus) +endef +$(eval $(call KernelPackage,iio-bh1750)) + +define KernelPackage/iio-am2315 + SUBMENU:=$(IIO_MENU) + DEPENDS:=+kmod-i2c-core +kmod-iio-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) +endef +define KernelPackage/iio-am2315/description + Aosong AM2315 humidity/temperature sensor (I2C bus) +endef +$(eval $(call KernelPackage,iio-am2315)) + +define KernelPackage/iio-mxs-lradc + SUBMENU:=$(IIO_MENU) + DEPENDS:=@TARGET_mxs +kmod-iio-core +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) +endef + +define KernelPackage/iio-mxs-lradc/description + Support for Freescale's i.MX23/i.MX28 SoC internal Low-Resolution ADC +endef + +$(eval $(call KernelPackage,iio-mxs-lradc)) + +define KernelPackage/iio-dht11 + SUBMENU:=$(IIO_MENU) + DEPENDS:=+kmod-iio-core @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) +endef + +define KernelPackage/iio-dht11/description + support for DHT11 and DHT22 digitial humidity and temperature sensors + attached at GPIO lines. You will need a custom device tree file to + specify the GPIO line to use. +endef + +$(eval $(call KernelPackage,iio-dht11)) + + +define KernelPackage/iio-bme680 + SUBMENU:=$(IIO_MENU) + TITLE:=BME680 gas/humidity/pressure/temperature sensor + DEPENDS:=@!LINUX_4_14 +kmod-iio-core +kmod-regmap-core + KCONFIG:=CONFIG_BME680 + FILES:=$(LINUX_DIR)/drivers/iio/chemical/bme680_core.ko +endef + +define KernelPackage/iio-bme680/description + This driver adds support for Bosch Sensortec BME680 sensor with gas, + humidity, pressure and temperatue sensing capability. +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) +endef +define KernelPackage/iio-bme680-i2c/description + This driver adds support for Bosch Sensortec's BME680 connected via I2C. +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) +endef +define KernelPackage/iio-bme680-spi/description + This driver adds support for Bosch Sensortec's BME680 connected via SPI. +endef + +$(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 + KCONFIG:=CONFIG_BMP280 + FILES:=$(LINUX_DIR)/drivers/iio/pressure/bmp280.ko +endef + +define KernelPackage/iio-bmp280/description + This driver adds support for Bosch Sensortec BMP180 and BMP280 pressure and + temperature sensors. Also supports the BME280 with an additional humidity + sensor channel. +endef + +$(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) +endef +define KernelPackage/iio-bmp280-i2c/description + This driver adds support for Bosch Sensortec's digital pressure and + temperature sensor connected via I2C. +endef + +$(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) +endef +define KernelPackage/iio-bmp280-spi/description + This driver adds support for Bosch Sensortec's digital pressure and + temperature sensor connected via SPI. +endef + +$(eval $(call KernelPackage,iio-bmp280-spi)) + +define KernelPackage/iio-htu21 + SUBMENU:=$(IIO_MENU) + DEPENDS:=+kmod-i2c-core +kmod-iio-core + TITLE:=HTU21 humidity & temperature sensor + KCONFIG:= \ + CONFIG_HTU21 \ + CONFIG_IIO_MS_SENSORS_I2C + FILES:= \ + $(LINUX_DIR)/drivers/iio/humidity/htu21.ko \ + $(LINUX_DIR)/drivers/iio/common/ms_sensors/ms_sensors_i2c.ko + AUTOLOAD:=$(call AutoLoad,56,htu21) +endef + +define KernelPackage/iio-htu21/description + support for the Measurement Specialties HTU21 humidity and + temperature sensor. + This driver is also used for MS8607 temperature, pressure & humidity + sensor +endef + +$(eval $(call KernelPackage,iio-htu21)) + + +define KernelPackage/iio-ccs811 + SUBMENU:=$(IIO_MENU) + DEPENDS:=+kmod-i2c-core +kmod-iio-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) +endef + +define KernelPackage/iio-ccs811/description + Support for the AMS CCS811 VOC (Volatile Organic Compounds) sensor +endef + +$(eval $(call KernelPackage,iio-ccs811)) + + +define KernelPackage/iio-si7020 + SUBMENU:=$(IIO_MENU) + DEPENDS:=+kmod-i2c-core +kmod-iio-core + TITLE:=Silicon Labs Si7020 sensor + KCONFIG:= CONFIG_SI7020 + FILES:=$(LINUX_DIR)/drivers/iio/humidity/si7020.ko + AUTOLOAD:=$(call AutoLoad,56,si7020) +endef + +define KernelPackage/iio-si7020/description + Support for Silicon Labs Si7020 family of relative humidity and + temperature sensors connected via I2C. Following models are usable: + Si7013, Si7020, Si7021, Hoperf TH06. +endef + +$(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 + 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 +endef + +define KernelPackage/iio-st_accel/description + This package adds support for STMicroelectronics accelerometers: + LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC, + LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL, + LNG2DM, LIS3DE, LIS2DE12 +endef + +$(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 + FILES:= \ + $(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) +endef + +define KernelPackage/iio-st_accel-i2c/description + This package adds support for STMicroelectronics I2C based accelerometers +endef + +$(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 + FILES:= \ + $(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) +endef + +define KernelPackage/iio-st_accel-spi/description + This package adds support for STMicroelectronics SPI based accelerometers +endef + +$(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 + 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) +endef + +define KernelPackage/iio-lsm6dsx/description + Support for the ST LSM6DSx and related IMU MEMS sensors. +endef + +$(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) +endef + +define KernelPackage/iio-lsm6dsx-i2c/description + Support for the ST LSM6DSx and related IMU MEMS I2C sensors. +endef + +$(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) +endef + +define KernelPackage/iio-lsm6dsx-spi/description + Support for the ST LSM6DSx and related IMU MEMS SPI sensors. +endef + +$(eval $(call KernelPackage,iio-lsm6dsx-spi)) + + +define KernelPackage/iio-sps30 + SUBMENU:=$(IIO_MENU) + DEPENDS:=@!LINUX_4_14 +kmod-i2c-core +kmod-iio-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) +endef + +define KernelPackage/iio-sps30/description + Support for the Sensirion SPS30 particulate matter sensor. +endef + +$(eval $(call KernelPackage,iio-sps30)) + + +define KernelPackage/iio-tsl4531 + SUBMENU:=$(IIO_MENU) + DEPENDS:=+kmod-i2c-core +kmod-iio-core + TITLE:=TAOS TSL4531 ambient light sensor + KCONFIG:= CONFIG_TSL4531 + FILES:=$(LINUX_DIR)/drivers/iio/light/tsl4531.ko + AUTOLOAD:=$(call AutoLoad,56,tsl4531) +endef + +define KernelPackage/iio-tsl4531/description + Support for TAOS TSL4531x family of ambient light sensors + connected via I2C. Following models are usable: + TSL45311, TSL45313, TSL45315, TSL45317. +endef + +$(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 + KCONFIG:= CONFIG_FXAS21002C + FILES:=$(LINUX_DIR)/drivers/iio/gyro/fxas21002c_core.ko + AUTOLOAD:=$(call AutoLoad,56,fxas21002c) +endef + +define KernelPackage/iio-fxas21002c/description + Support for Freescale FXAS21002C 3-axis gyro. +endef + +$(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) +endef + +define KernelPackage/iio-fxas21002c-i2c/description + Support for Freescale FXAS21002C 3-axis gyro + connected via I2C. +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) +endef + +define KernelPackage/iio-fxas21002c-spi/description + Support for Freescale FXAS21002C 3-axis gyro + connected via SPI. +endef + +$(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 + KCONFIG:= CONFIG_FXOS8700 + FILES:=$(LINUX_DIR)/drivers/iio/imu/fxos8700_core.ko + AUTOLOAD:=$(call AutoLoad,56,fxos8700) +endef + +define KernelPackage/iio-fxos8700/description + Support for Freescale FXOS8700 3-axis accelerometer. +endef + +$(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) +endef + +define KernelPackage/iio-fxos8700-i2c/description + Support for Freescale FXOS8700 3-axis accelerometer + connected via I2C. +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) +endef + +define KernelPackage/iio-fxos8700-spi/description + Support for Freescale FXOS8700 3-axis accelerometer + connected via SPI. +endef + +$(eval $(call KernelPackage,iio-fxos8700-spi)) diff --git a/feeds/ipq807x/linux/modules/input.mk b/feeds/ipq807x/linux/modules/input.mk new file mode 100644 index 000000000..c2f39ddd9 --- /dev/null +++ b/feeds/ipq807x/linux/modules/input.mk @@ -0,0 +1,229 @@ +# +# Copyright (C) 2006-2013 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +INPUT_MODULES_MENU:=Input modules + +define KernelPackage/hid + SUBMENU:=$(INPUT_MODULES_MENU) + TITLE:=HID Devices + DEPENDS:=+kmod-input-core +kmod-input-evdev + KCONFIG:=CONFIG_HID CONFIG_HIDRAW=y CONFIG_HID_BATTERY_STRENGTH=y + FILES:=$(LINUX_DIR)/drivers/hid/hid.ko + AUTOLOAD:=$(call AutoLoad,61,hid) +endef + +define KernelPackage/hid/description + Kernel modules for HID devices +endef + +$(eval $(call KernelPackage,hid)) + +define KernelPackage/hid-generic + SUBMENU:=$(INPUT_MODULES_MENU) + TITLE:=Generic HID device support + DEPENDS:=+kmod-hid + KCONFIG:=CONFIG_HID_GENERIC + FILES:=$(LINUX_DIR)/drivers/hid/hid-generic.ko + AUTOLOAD:=$(call AutoProbe,hid-generic) +endef + +define KernelPackage/hid/description + Kernel modules for generic HID device (e.g. keyboards and mice) support +endef + +$(eval $(call KernelPackage,hid-generic)) + +define KernelPackage/input-core + SUBMENU:=$(INPUT_MODULES_MENU) + TITLE:=Input device core + KCONFIG:=CONFIG_INPUT + FILES:=$(LINUX_DIR)/drivers/input/input-core.ko +endef + +define KernelPackage/input-core/description + Kernel modules for support of input device +endef + +$(eval $(call KernelPackage,input-core)) + + +define KernelPackage/input-evdev + SUBMENU:=$(INPUT_MODULES_MENU) + TITLE:=Input event device + DEPENDS:=+kmod-input-core + KCONFIG:=CONFIG_INPUT_EVDEV + FILES:=$(LINUX_DIR)/drivers/input/evdev.ko + AUTOLOAD:=$(call AutoLoad,60,evdev) +endef + +define KernelPackage/input-evdev/description + Kernel modules for support of input device events +endef + +$(eval $(call KernelPackage,input-evdev)) + + +define KernelPackage/input-gpio-keys + SUBMENU:=$(INPUT_MODULES_MENU) + TITLE:=GPIO key support + DEPENDS:= @GPIO_SUPPORT +kmod-input-core + KCONFIG:= \ + CONFIG_KEYBOARD_GPIO \ + CONFIG_INPUT_KEYBOARD=y + FILES:=$(LINUX_DIR)/drivers/input/keyboard/gpio_keys.ko + AUTOLOAD:=$(call AutoProbe,gpio_keys,1) +endef + +define KernelPackage/input-gpio-keys/description + This driver implements support for buttons connected + to GPIO pins of various CPUs (and some other chips). + + See also gpio-button-hotplug which is an alternative, lower overhead + implementation that generates uevents instead of kernel input events. +endef + +$(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 + KCONFIG:= \ + CONFIG_KEYBOARD_GPIO_POLLED \ + CONFIG_INPUT_KEYBOARD=y + FILES:=$(LINUX_DIR)/drivers/input/keyboard/gpio_keys_polled.ko + AUTOLOAD:=$(call AutoProbe,gpio_keys_polled,1) +endef + +define KernelPackage/input-gpio-keys-polled/description + Kernel module for support polled GPIO keys input device + + See also gpio-button-hotplug which is an alternative, lower overhead + implementation that generates uevents instead of kernel input events. +endef + +$(eval $(call KernelPackage,input-gpio-keys-polled)) + + +define KernelPackage/input-gpio-encoder + SUBMENU:=$(INPUT_MODULES_MENU) + TITLE:=GPIO rotary encoder + DEPENDS:=@GPIO_SUPPORT +kmod-input-core + KCONFIG:=CONFIG_INPUT_GPIO_ROTARY_ENCODER + FILES:=$(LINUX_DIR)/drivers/input/misc/rotary_encoder.ko + AUTOLOAD:=$(call AutoProbe,rotary_encoder) +endef + +define KernelPackage/input-gpio-encoder/description + Kernel module to use rotary encoders connected to GPIO pins +endef + +$(eval $(call KernelPackage,input-gpio-encoder)) + + +define KernelPackage/input-joydev + SUBMENU:=$(INPUT_MODULES_MENU) + TITLE:=Joystick device support + DEPENDS:=+kmod-input-core + KCONFIG:=CONFIG_INPUT_JOYDEV + FILES:=$(LINUX_DIR)/drivers/input/joydev.ko + AUTOLOAD:=$(call AutoProbe,joydev) +endef + +define KernelPackage/input-joydev/description + Kernel module for joystick support +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 + DEPENDS:=+kmod-input-core + KCONFIG:=CONFIG_INPUT_MATRIXKMAP + FILES:=$(LINUX_DIR)/drivers/input/matrix-keymap.ko + AUTOLOAD:=$(call AutoProbe,matrix-keymap) +endef + +define KernelPackage/input-matrixkmap/description + Kernel module support for input matrix devices +endef + +$(eval $(call KernelPackage,input-matrixkmap)) + + +define KernelPackage/input-touchscreen-ads7846 + SUBMENU:=$(INPUT_MODULES_MENU) + TITLE:=ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens + 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 + AUTOLOAD:=$(call AutoProbe,ads7846) +endef + +define KernelPackage/input-touchscreen-ads7846/description + Kernel module for ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens +endef + +$(eval $(call KernelPackage,input-touchscreen-ads7846)) + + +define KernelPackage/keyboard-imx + SUBMENU:=$(INPUT_MODULES_MENU) + TITLE:=IMX keypad support + DEPENDS:=@(TARGET_mxs||TARGET_imx6) +kmod-input-matrixkmap + KCONFIG:= \ + CONFIG_KEYBOARD_IMX \ + CONFIG_INPUT_KEYBOARD=y + FILES:=$(LINUX_DIR)/drivers/input/keyboard/imx_keypad.ko + AUTOLOAD:=$(call AutoProbe,imx_keypad) +endef + +define KernelPackage/keyboard-imx/description + Enable support for IMX keypad port. +endef + +$(eval $(call KernelPackage,keyboard-imx)) + + +define KernelPackage/input-uinput + SUBMENU:=$(INPUT_MODULES_MENU) + TITLE:=user input module + DEPENDS:=+kmod-input-core + KCONFIG:= \ + CONFIG_INPUT_MISC=y \ + CONFIG_INPUT_UINPUT + FILES:=$(LINUX_DIR)/drivers/input/misc/uinput.ko + AUTOLOAD:=$(call AutoProbe,uinput) +endef + +define KernelPackage/input-uinput/description + user input modules needed for bluez +endef + +$(eval $(call KernelPackage,input-uinput)) diff --git a/feeds/ipq807x/linux/modules/leds.mk b/feeds/ipq807x/linux/modules/leds.mk new file mode 100644 index 000000000..bc94e54ae --- /dev/null +++ b/feeds/ipq807x/linux/modules/leds.mk @@ -0,0 +1,116 @@ +# +# Copyright (C) 2006-2011 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +LEDS_MENU:=LED modules + +define KernelPackage/leds-gpio + SUBMENU:=$(LEDS_MENU) + TITLE:=GPIO LED support + DEPENDS:= @GPIO_SUPPORT + KCONFIG:=CONFIG_LEDS_GPIO + FILES:=$(LINUX_DIR)/drivers/leds/leds-gpio.ko + AUTOLOAD:=$(call AutoLoad,60,leds-gpio,1) +endef + +define KernelPackage/leds-gpio/description + Kernel module for LEDs on GPIO lines +endef + +$(eval $(call KernelPackage,leds-gpio)) + +LED_TRIGGER_DIR=$(LINUX_DIR)/drivers/leds/trigger + +define KernelPackage/ledtrig-activity + SUBMENU:=$(LEDS_MENU) + TITLE:=LED Activity Trigger + KCONFIG:=CONFIG_LEDS_TRIGGER_ACTIVITY + FILES:=$(LED_TRIGGER_DIR)/ledtrig-activity.ko + AUTOLOAD:=$(call AutoLoad,50,ledtrig-activity) +endef + +define KernelPackage/ledtrig-activity/description + Kernel module that allows LEDs to blink based on system load +endef + +$(eval $(call KernelPackage,ledtrig-activity)) + +define KernelPackage/ledtrig-gpio + SUBMENU:=$(LEDS_MENU) + TITLE:=LED GPIO Trigger + KCONFIG:=CONFIG_LEDS_TRIGGER_GPIO + FILES:=$(LED_TRIGGER_DIR)/ledtrig-gpio.ko + AUTOLOAD:=$(call AutoLoad,50,ledtrig-gpio) +endef + +define KernelPackage/ledtrig-gpio/description + Kernel module that allows LEDs to be controlled by gpio events +endef + +$(eval $(call KernelPackage,ledtrig-gpio)) + + +define KernelPackage/ledtrig-transient + SUBMENU:=$(LEDS_MENU) + TITLE:=LED Transient Trigger + KCONFIG:=CONFIG_LEDS_TRIGGER_TRANSIENT + FILES:=$(LED_TRIGGER_DIR)/ledtrig-transient.ko + AUTOLOAD:=$(call AutoLoad,50,ledtrig-transient,1) +endef + +define KernelPackage/ledtrig-transient/description + Kernel module that allows LEDs one time activation of a transient state. +endef + +$(eval $(call KernelPackage,ledtrig-transient)) + + +define KernelPackage/ledtrig-oneshot + SUBMENU:=$(LEDS_MENU) + TITLE:=LED One-Shot Trigger + KCONFIG:=CONFIG_LEDS_TRIGGER_ONESHOT + FILES:=$(LED_TRIGGER_DIR)/ledtrig-oneshot.ko + AUTOLOAD:=$(call AutoLoad,50,ledtrig-oneshot) +endef + +define KernelPackage/ledtrig-oneshot/description + Kernel module that allows LEDs to be triggered by sporadic events in + one-shot pulses +endef + +$(eval $(call KernelPackage,ledtrig-oneshot)) + + +define KernelPackage/leds-pca963x + SUBMENU:=$(LEDS_MENU) + TITLE:=PCA963x LED support + DEPENDS:=+kmod-i2c-core + KCONFIG:=CONFIG_LEDS_PCA963X + FILES:=$(LINUX_DIR)/drivers/leds/leds-pca963x.ko + AUTOLOAD:=$(call AutoLoad,60,leds-pca963x,1) +endef + +define KernelPackage/leds-pca963x/description + Driver for the NXP PCA963x I2C LED controllers. +endef + +$(eval $(call KernelPackage,leds-pca963x)) + + +define KernelPackage/leds-pwm + SUBMENU:=$(LEDS_MENU) + TITLE:=PWM driven LED Support + KCONFIG:=CONFIG_LEDS_PWM + DEPENDS:= @PWM_SUPPORT + FILES:=$(LINUX_DIR)/drivers/leds/leds-pwm.ko + AUTOLOAD:=$(call AutoLoad,60,leds-pwm,1) +endef + +define KernelPackage/leds-pwm/description + This option enables support for pwm driven LEDs +endef + +$(eval $(call KernelPackage,leds-pwm)) diff --git a/feeds/ipq807x/linux/modules/lib.mk b/feeds/ipq807x/linux/modules/lib.mk new file mode 100644 index 000000000..9a341932b --- /dev/null +++ b/feeds/ipq807x/linux/modules/lib.mk @@ -0,0 +1,274 @@ +# +# Copyright (C) 2011 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +LIB_MENU:=Libraries + +define KernelPackage/lib-crc-ccitt + SUBMENU:=$(LIB_MENU) + TITLE:=CRC-CCITT support + KCONFIG:=CONFIG_CRC_CCITT + FILES:=$(LINUX_DIR)/lib/crc-ccitt.ko + AUTOLOAD:=$(call AutoProbe,crc-ccitt) +endef + +define KernelPackage/lib-crc-ccitt/description + Kernel module for CRC-CCITT support +endef + +$(eval $(call KernelPackage,lib-crc-ccitt)) + + +define KernelPackage/lib-crc-itu-t + SUBMENU:=$(LIB_MENU) + TITLE:=CRC ITU-T V.41 support + KCONFIG:=CONFIG_CRC_ITU_T + FILES:=$(LINUX_DIR)/lib/crc-itu-t.ko + AUTOLOAD:=$(call AutoProbe,crc-itu-t) +endef + +define KernelPackage/lib-crc-itu-t/description + Kernel module for CRC ITU-T V.41 support +endef + +$(eval $(call KernelPackage,lib-crc-itu-t)) + + +define KernelPackage/lib-crc7 + SUBMENU:=$(LIB_MENU) + TITLE:=CRC7 support + KCONFIG:=CONFIG_CRC7 + FILES:=$(LINUX_DIR)/lib/crc7.ko + AUTOLOAD:=$(call AutoProbe,crc7) +endef + +define KernelPackage/lib-crc7/description + Kernel module for CRC7 support +endef + +$(eval $(call KernelPackage,lib-crc7)) + + +define KernelPackage/lib-crc8 + SUBMENU:=$(LIB_MENU) + TITLE:=CRC8 support + KCONFIG:=CONFIG_CRC8 + FILES:=$(LINUX_DIR)/lib/crc8.ko + AUTOLOAD:=$(call AutoProbe,crc8) +endef + +define KernelPackage/lib-crc8/description + Kernel module for CRC8 support +endef + +$(eval $(call KernelPackage,lib-crc8)) + + +define KernelPackage/lib-crc16 + SUBMENU:=$(LIB_MENU) + TITLE:=CRC16 support + KCONFIG:=CONFIG_CRC16 + FILES:=$(LINUX_DIR)/lib/crc16.ko + AUTOLOAD:=$(call AutoLoad,20,crc16,1) +endef + +define KernelPackage/lib-crc16/description + Kernel module for CRC16 support +endef + +$(eval $(call KernelPackage,lib-crc16)) + + +define KernelPackage/lib-crc32c + SUBMENU:=$(LIB_MENU) + TITLE:=CRC32 support + KCONFIG:=CONFIG_LIBCRC32C + DEPENDS:=+kmod-crypto-crc32c + FILES:=$(LINUX_DIR)/lib/libcrc32c.ko + AUTOLOAD:=$(call AutoProbe,libcrc32c) +endef + +define KernelPackage/lib-crc32c/description + Kernel module for CRC32 support +endef + +$(eval $(call KernelPackage,lib-crc32c)) + + +define KernelPackage/lib-lzo + SUBMENU:=$(LIB_MENU) + TITLE:=LZO support + DEPENDS:=+kmod-crypto-acompress + KCONFIG:= \ + CONFIG_CRYPTO_LZO \ + CONFIG_LZO_COMPRESS \ + CONFIG_LZO_DECOMPRESS + HIDDEN:=1 + FILES:= \ + $(LINUX_DIR)/crypto/lzo.ko \ + $(LINUX_DIR)/lib/lzo/lzo_compress.ko \ + $(LINUX_DIR)/lib/lzo/lzo_decompress.ko + AUTOLOAD:=$(call AutoProbe,lzo lzo_compress lzo_decompress) +endef + +define KernelPackage/lib-lzo/description + Kernel module for LZO compression/decompression support +endef + +$(eval $(call KernelPackage,lib-lzo)) + + +define KernelPackage/lib-zstd + SUBMENU:=$(LIB_MENU) + TITLE:=ZSTD support + DEPENDS:=+kmod-crypto-acompress + KCONFIG:= \ + CONFIG_CRYPTO_ZSTD \ + CONFIG_ZSTD_COMPRESS \ + CONFIG_ZSTD_DECOMPRESS \ + CONFIG_XXHASH + FILES:= \ + $(LINUX_DIR)/crypto/zstd.ko \ + $(LINUX_DIR)/lib/xxhash.ko \ + $(LINUX_DIR)/lib/zstd/zstd_compress.ko \ + $(LINUX_DIR)/lib/zstd/zstd_decompress.ko + AUTOLOAD:=$(call AutoProbe,xxhash zstd zstd_compress zstd_decompress) +endef + +define KernelPackage/lib-zstd/description + Kernel module for ZSTD compression/decompression support +endef + +$(eval $(call KernelPackage,lib-zstd)) + + +define KernelPackage/lib-lz4 + SUBMENU:=$(LIB_MENU) + TITLE:=LZ4 support + DEPENDS:=+kmod-crypto-acompress + KCONFIG:= \ + CONFIG_CRYPTO_LZ4 \ + CONFIG_LZ4_COMPRESS \ + CONFIG_LZ4_DECOMPRESS + FILES:= \ + $(LINUX_DIR)/crypto/lz4.ko \ + $(LINUX_DIR)/lib/lz4/lz4_compress.ko \ + $(LINUX_DIR)/lib/lz4/lz4_decompress.ko + AUTOLOAD:=$(call AutoProbe,lz4 lz4_compress lz4_decompress) +endef + +define KernelPackage/lib-lz4/description + Kernel module for LZ4 compression/decompression support +endef + +$(eval $(call KernelPackage,lib-lz4)) + + +define KernelPackage/lib-raid6 + SUBMENU:=$(LIB_MENU) + TITLE:=RAID6 algorithm support + HIDDEN:=1 + KCONFIG:=CONFIG_RAID6_PQ + FILES:=$(LINUX_DIR)/lib/raid6/raid6_pq.ko + AUTOLOAD:=$(call AutoProbe,raid6_pq) +endef + +define KernelPackage/lib-raid6/description + Kernel module for RAID6 algorithms +endef + +$(eval $(call KernelPackage,lib-raid6)) + + +define KernelPackage/lib-xor + SUBMENU:=$(LIB_MENU) + TITLE:=XOR blocks algorithm support + HIDDEN:=1 + KCONFIG:=CONFIG_XOR_BLOCKS +ifneq ($(wildcard $(LINUX_DIR)/arch/$(LINUX_KARCH)/lib/xor-neon.ko),) + FILES:= \ + $(LINUX_DIR)/crypto/xor.ko \ + $(LINUX_DIR)/arch/$(LINUX_KARCH)/lib/xor-neon.ko + AUTOLOAD:=$(call AutoProbe,xor-neon xor) +else + FILES:=$(LINUX_DIR)/crypto/xor.ko + AUTOLOAD:=$(call AutoProbe,xor) +endif +endef + +define KernelPackage/lib-xor/description + Kernel module for XOR blocks algorithms +endef + +$(eval $(call KernelPackage,lib-xor)) + + +define KernelPackage/lib-textsearch +SUBMENU:=$(LIB_MENU) + TITLE:=Textsearch support + KCONFIG:= \ + CONFIG_TEXTSEARCH=y \ + CONFIG_TEXTSEARCH_KMP \ + CONFIG_TEXTSEARCH_BM \ + CONFIG_TEXTSEARCH_FSM + FILES:= \ + $(LINUX_DIR)/lib/ts_kmp.ko \ + $(LINUX_DIR)/lib/ts_bm.ko \ + $(LINUX_DIR)/lib/ts_fsm.ko + AUTOLOAD:=$(call AutoProbe,ts_kmp ts_bm ts_fsm) +endef + +$(eval $(call KernelPackage,lib-textsearch)) + + +define KernelPackage/lib-zlib-inflate + SUBMENU:=$(LIB_MENU) + TITLE:=Zlib support + HIDDEN:=1 + KCONFIG:=CONFIG_ZLIB_INFLATE + FILES:=$(LINUX_DIR)/lib/zlib_inflate/zlib_inflate.ko + AUTOLOAD:=$(call AutoProbe,zlib_inflate) +endef + +$(eval $(call KernelPackage,lib-zlib-inflate)) + + +define KernelPackage/lib-zlib-deflate + SUBMENU:=$(LIB_MENU) + TITLE:=Zlib support + HIDDEN:=1 + KCONFIG:=CONFIG_ZLIB_DEFLATE + FILES:=$(LINUX_DIR)/lib/zlib_deflate/zlib_deflate.ko + AUTOLOAD:=$(call AutoProbe,zlib_deflate) +endef + +$(eval $(call KernelPackage,lib-zlib-deflate)) + + +define KernelPackage/lib-cordic + SUBMENU:=$(LIB_MENU) + TITLE:=Cordic function support + KCONFIG:=CONFIG_CORDIC + FILES:=$(LINUX_DIR)/lib/math/cordic.ko + AUTOLOAD:=$(call AutoProbe,cordic) +endef + +define KernelPackage/lib-cordic/description + Kernel module for Cordic function support +endef + +$(eval $(call KernelPackage,lib-cordic)) + + +define KernelPackage/asn1-decoder + SUBMENU:=$(LIB_MENU) + TITLE:=Simple ASN1 decoder + KCONFIG:= CONFIG_ASN1 + HIDDEN:=1 + FILES:=$(LINUX_DIR)/lib/asn1_decoder.ko +endef + +$(eval $(call KernelPackage,asn1-decoder)) diff --git a/feeds/ipq807x/linux/modules/netdevices.mk b/feeds/ipq807x/linux/modules/netdevices.mk new file mode 100644 index 000000000..44a91d3d8 --- /dev/null +++ b/feeds/ipq807x/linux/modules/netdevices.mk @@ -0,0 +1,1244 @@ +# +# Copyright (C) 2006-2011 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +NETWORK_DEVICES_MENU:=Network Devices + +define KernelPackage/sis190 + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=SiS 190 Fast/Gigabit Ethernet support + DEPENDS:=@PCI_SUPPORT +kmod-mii + KCONFIG:=CONFIG_SIS190 + FILES:=$(LINUX_DIR)/drivers/net/ethernet/sis/sis190.ko + AUTOLOAD:=$(call AutoProbe,sis190) +endef + +$(eval $(call KernelPackage,sis190)) + + +define KernelPackage/skge + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=SysKonnect Yukon support + DEPENDS:=@PCI_SUPPORT + KCONFIG:=CONFIG_SKGE \ + CONFIG_SKGE_DEBUG=n \ + CONFIG_SKGE_GENESIS=n + FILES:=$(LINUX_DIR)/drivers/net/ethernet/marvell/skge.ko + AUTOLOAD:=$(call AutoProbe,skge) +endef + +$(eval $(call KernelPackage,skge)) + + +define KernelPackage/alx + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Qualcomm Atheros AR816x/AR817x PCI-E Ethernet Network Driver + DEPENDS:=@PCI_SUPPORT +kmod-mdio + KCONFIG:=CONFIG_ALX + FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/alx/alx.ko + AUTOLOAD:=$(call AutoProbe,alx) +endef + +$(eval $(call KernelPackage,alx)) + + +define KernelPackage/atl2 + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Atheros L2 Fast Ethernet support + DEPENDS:=@PCI_SUPPORT + KCONFIG:=CONFIG_ATL2 + FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/atlx/atl2.ko + AUTOLOAD:=$(call AutoProbe,atl2) +endef + +$(eval $(call KernelPackage,atl2)) + + +define KernelPackage/atl1 + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Atheros L1 Gigabit Ethernet support + DEPENDS:=@PCI_SUPPORT +kmod-mii + KCONFIG:=CONFIG_ATL1 + FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/atlx/atl1.ko + AUTOLOAD:=$(call AutoProbe,atl1) +endef + +$(eval $(call KernelPackage,atl1)) + + +define KernelPackage/atl1c + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Atheros L1C + DEPENDS:=@PCI_SUPPORT + KCONFIG:=CONFIG_ATL1C + FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/atl1c/atl1c.ko + AUTOLOAD:=$(call AutoProbe,atl1c) +endef + +$(eval $(call KernelPackage,atl1c)) + + +define KernelPackage/atl1e + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Atheros L1E + DEPENDS:=@PCI_SUPPORT + KCONFIG:=CONFIG_ATL1E + FILES:=$(LINUX_DIR)/drivers/net/ethernet/atheros/atl1e/atl1e.ko + AUTOLOAD:=$(call AutoProbe,atl1e) +endef + +$(eval $(call KernelPackage,atl1e)) + + +define KernelPackage/libphy + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=PHY library + KCONFIG:=CONFIG_PHYLIB + FILES:=$(LINUX_DIR)/drivers/net/phy/libphy.ko + AUTOLOAD:=$(call AutoLoad,15,libphy,1) +endef + +define KernelPackage/libphy/description + PHY library +endef + +$(eval $(call KernelPackage,libphy)) + + +define KernelPackage/phylink + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Model for MAC to optional PHY connection + KCONFIG:=CONFIG_PHYLINK + FILES:=$(LINUX_DIR)/drivers/net/phy/phylink.ko + AUTOLOAD:=$(call AutoLoad,15,phylink,1) +endef + +define KernelPackage/phylink/description + Model for MAC to optional PHY connection +endef + +$(eval $(call KernelPackage,phylink)) + + +define KernelPackage/mii + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=MII library + KCONFIG:=CONFIG_MII + FILES:=$(LINUX_DIR)/drivers/net/mii.ko + AUTOLOAD:=$(call AutoLoad,15,mii,1) +endef + +define KernelPackage/mii/description + MII library +endef + +$(eval $(call KernelPackage,mii)) + + +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 + KCONFIG:= \ + CONFIG_MDIO_BITBANG \ + CONFIG_MDIO_GPIO + FILES:= \ + $(LINUX_DIR)/drivers/net/phy/mdio-gpio.ko \ + $(LINUX_DIR)/drivers/net/phy/mdio-bitbang.ko + AUTOLOAD:=$(call AutoProbe,mdio-gpio) +endef + +define KernelPackage/mdio-gpio/description + Supports GPIO lib-based MDIO busses +endef + +$(eval $(call KernelPackage,mdio-gpio)) + + +define KernelPackage/et131x + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Agere ET131x Gigabit Ethernet driver + URL:=http://sourceforge.net/projects/et131x + FILES:= \ + $(LINUX_DIR)/drivers/net/ethernet/agere/et131x.ko + KCONFIG:= \ + CONFIG_ET131X \ + CONFIG_ET131X_DEBUG=n + DEPENDS:=@PCI_SUPPORT +kmod-libphy + AUTOLOAD:=$(call AutoProbe,et131x) +endef + +define KernelPackage/et131x/description + This package contains the et131x kernel module +endef + +$(eval $(call KernelPackage,et131x)) + + +define KernelPackage/phylib-broadcom + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Broadcom Ethernet PHY library + KCONFIG:=CONFIG_BCM_NET_PHYLIB + HIDDEN:=1 + DEPENDS:=+kmod-libphy + FILES:=$(LINUX_DIR)/drivers/net/phy/bcm-phy-lib.ko + AUTOLOAD:=$(call AutoLoad,17,bcm-phy-lib) +endef + +$(eval $(call KernelPackage,phylib-broadcom)) + + +define KernelPackage/phy-broadcom + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Broadcom Ethernet PHY driver + KCONFIG:=CONFIG_BROADCOM_PHY + DEPENDS:=+kmod-libphy +kmod-phylib-broadcom + FILES:=$(LINUX_DIR)/drivers/net/phy/broadcom.ko + AUTOLOAD:=$(call AutoLoad,18,broadcom,1) +endef + +define KernelPackage/phy-broadcom/description + Currently supports the BCM5411, BCM5421, BCM5461, BCM5464, BCM5481, + BCM5482 and BCM57780 PHYs. +endef + +$(eval $(call KernelPackage,phy-broadcom)) + + +define KernelPackage/phy-bcm84881 + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Broadcom BCM84881 PHY driver + KCONFIG:=CONFIG_BCM84881_PHY + DEPENDS:=+kmod-libphy + FILES:=$(LINUX_DIR)/drivers/net/phy/bcm84881.ko + AUTOLOAD:=$(call AutoLoad,18,bcm84881,1) +endef + +define KernelPackage/phy-bcm84881/description + Supports the Broadcom 84881 PHY. +endef + +$(eval $(call KernelPackage,phy-bcm84881)) + + + +define KernelPackage/phy-realtek + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Realtek Ethernet PHY driver + KCONFIG:=CONFIG_REALTEK_PHY + DEPENDS:=+kmod-libphy + FILES:=$(LINUX_DIR)/drivers/net/phy/realtek.ko + AUTOLOAD:=$(call AutoLoad,18,realtek,1) +endef + +define KernelPackage/phy-realtek/description + Supports the Realtek 821x PHY. +endef + +$(eval $(call KernelPackage,phy-realtek)) + + +define KernelPackage/swconfig + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=switch configuration API + DEPENDS:=+kmod-libphy + KCONFIG:=CONFIG_SWCONFIG + FILES:=$(LINUX_DIR)/drivers/net/phy/swconfig.ko + AUTOLOAD:=$(call AutoLoad,41,swconfig) +endef + +define KernelPackage/swconfig/description + Switch configuration API module +endef + +$(eval $(call KernelPackage,swconfig)) + +define KernelPackage/switch-bcm53xx + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Broadcom bcm53xx switch support + DEPENDS:=+kmod-swconfig + KCONFIG:=CONFIG_SWCONFIG_B53 + FILES:=$(LINUX_DIR)/drivers/net/phy/b53/b53_common.ko + AUTOLOAD:=$(call AutoLoad,42,b53_common) +endef + +define KernelPackage/switch-bcm53xx/description + Broadcom bcm53xx switch support +endef + +$(eval $(call KernelPackage,switch-bcm53xx)) + +define KernelPackage/switch-bcm53xx-mdio + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Broadcom bcm53xx switch MDIO support + DEPENDS:=+kmod-switch-bcm53xx + KCONFIG:=CONFIG_SWCONFIG_B53_PHY_DRIVER + FILES:=$(LINUX_DIR)/drivers/net/phy/b53/b53_mdio.ko + AUTOLOAD:=$(call AutoLoad,42,b53_mdio) +endef + +define KernelPackage/switch-bcm53xx-mdio/description + Broadcom bcm53xx switch MDIO support +endef + +$(eval $(call KernelPackage,switch-bcm53xx-mdio)) + + +define KernelPackage/switch-ip17xx + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=IC+ IP17XX switch support + DEPENDS:=+kmod-swconfig + KCONFIG:=CONFIG_IP17XX_PHY + FILES:=$(LINUX_DIR)/drivers/net/phy/ip17xx.ko + AUTOLOAD:=$(call AutoLoad,42,ip17xx) +endef + +define KernelPackage/switch-ip17xx/description + IC+ IP175C/IP178C switch support +endef + +$(eval $(call KernelPackage,switch-ip17xx)) + + +define KernelPackage/switch-rtl8306 + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Realtek RTL8306S switch support + DEPENDS:=+kmod-swconfig + KCONFIG:=CONFIG_RTL8306_PHY + FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8306.ko + AUTOLOAD:=$(call AutoLoad,43,rtl8306) +endef + +define KernelPackage/switch-rtl8306/description + Realtek RTL8306S switch support +endef + +$(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 + KCONFIG:=CONFIG_RTL8366_SMI=y + FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8366_smi.ko + AUTOLOAD:=$(call AutoLoad,42,rtl8366_smi,1) +endef + +define KernelPackage/switch-rtl8366-smi/description + Realtek RTL8366 series SMI switch interface support +endef + +$(eval $(call KernelPackage,switch-rtl8366-smi)) + + +define KernelPackage/switch-rtl8366rb + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Realtek RTL8366RB switch support + DEPENDS:=+kmod-switch-rtl8366-smi + KCONFIG:=CONFIG_RTL8366RB_PHY + FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8366rb.ko + AUTOLOAD:=$(call AutoLoad,43,rtl8366rb) +endef + +define KernelPackage/switch-rtl8366rb/description + Realtek RTL8366RB switch support +endef + +$(eval $(call KernelPackage,switch-rtl8366rb)) + + +define KernelPackage/switch-rtl8366s + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Realtek RTL8366S switch support + DEPENDS:=+kmod-switch-rtl8366-smi + KCONFIG:=CONFIG_RTL8366S_PHY + FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8366s.ko + AUTOLOAD:=$(call AutoLoad,43,rtl8366s) +endef + +define KernelPackage/switch-rtl8366s/description + Realtek RTL8366S switch support +endef + +$(eval $(call KernelPackage,switch-rtl8366s)) + + +define KernelPackage/switch-rtl8367b + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Realtek RTL8367R/B switch support + DEPENDS:=+kmod-switch-rtl8366-smi + KCONFIG:=CONFIG_RTL8367B_PHY + FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8367b.ko + AUTOLOAD:=$(call AutoLoad,43,rtl8367b,1) +endef + +define KernelPackage/switch-rtl8367b/description + Realtek RTL8367R/B switch support +endef + +$(eval $(call KernelPackage,switch-rtl8367b)) + +define KernelPackage/switch-rtl8367c + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Realtek RTL8367C/S switch support + DEPENDS:=+kmod-switch-rtl8366-smi + KCONFIG:=CONFIG_RTL8367C_PHY=y + FILES:=$(LINUX_DIR)/drivers/net/phy/rtl8367c.ko + AUTOLOAD:=$(call AutoLoad,43,rtl8367c,1) +endef + +define KernelPackage/switch-rtl8367c/description + Realtek RTL8367C/S switch support +endef + +$(eval $(call KernelPackage,switch-rtl8367c)) + + +define KernelPackage/natsemi + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=National Semiconductor DP8381x series + DEPENDS:=@PCI_SUPPORT + KCONFIG:=CONFIG_NATSEMI + FILES:=$(LINUX_DIR)/drivers/net/ethernet/natsemi/natsemi.ko + AUTOLOAD:=$(call AutoLoad,20,natsemi) +endef + +define KernelPackage/natsemi/description + Kernel modules for National Semiconductor DP8381x series PCI Ethernet + adapters. +endef + +$(eval $(call KernelPackage,natsemi)) + + +define KernelPackage/r6040 + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=RDC Fast-Ethernet support + DEPENDS:=@PCI_SUPPORT +kmod-libphy + KCONFIG:=CONFIG_R6040 \ + CONFIG_R6040_NAPI=y + FILES:=$(LINUX_DIR)/drivers/net/ethernet/rdc/r6040.ko + AUTOLOAD:=$(call AutoProbe,r6040) +endef + +define KernelPackage/r6040/description + Kernel modules for RDC Fast-Ethernet adapters. +endef + +$(eval $(call KernelPackage,r6040)) + + +define KernelPackage/niu + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Sun Neptune 10Gbit Ethernet support + DEPENDS:=@PCI_SUPPORT + KCONFIG:=CONFIG_NIU + FILES:=$(LINUX_DIR)/drivers/net/ethernet/sun/niu.ko + AUTOLOAD:=$(call AutoProbe,niu) +endef + +define KernelPackage/niu/description + This enables support for cards based upon Sun's Neptune chipset. +endef + +$(eval $(call KernelPackage,niu)) + + +define KernelPackage/sis900 + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=SiS 900 Ethernet support + DEPENDS:=@PCI_SUPPORT +kmod-mii + KCONFIG:=CONFIG_SIS900 + FILES:=$(LINUX_DIR)/drivers/net/ethernet/sis/sis900.ko + AUTOLOAD:=$(call AutoProbe,sis900) +endef + +define KernelPackage/sis900/description + Kernel modules for Sis 900 Ethernet adapters. +endef + +$(eval $(call KernelPackage,sis900)) + + +define KernelPackage/sky2 + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=SysKonnect Yukon2 support + DEPENDS:=@PCI_SUPPORT + KCONFIG:=CONFIG_SKY2 + FILES:=$(LINUX_DIR)/drivers/net/ethernet/marvell/sky2.ko + AUTOLOAD:=$(call AutoProbe,sky2) +endef + +define KernelPackage/sky2/description + This driver supports Gigabit Ethernet adapters based on the + Marvell Yukon 2 chipset: + Marvell 88E8021/88E8022/88E8035/88E8036/88E8038/88E8050/88E8052/ + 88E8053/88E8055/88E8061/88E8062, SysKonnect SK-9E21D/SK-9S21 + + There is companion driver for the older Marvell Yukon and + Genesis based adapters: skge. +endef + +$(eval $(call KernelPackage,sky2)) + + +define KernelPackage/via-rhine + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Via Rhine ethernet support + DEPENDS:=@PCI_SUPPORT +kmod-mii + KCONFIG:=CONFIG_VIA_RHINE \ + CONFIG_VIA_RHINE_MMIO=y + FILES:=$(LINUX_DIR)/drivers/net/ethernet/via/via-rhine.ko + AUTOLOAD:=$(call AutoProbe,via-rhine) +endef + +define KernelPackage/via-rhine/description + Kernel modules for Via Rhine Ethernet chipsets +endef + +$(eval $(call KernelPackage,via-rhine)) + + +define KernelPackage/via-velocity + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=VIA Velocity Gigabit Ethernet Adapter kernel support + DEPENDS:=@PCI_SUPPORT +kmod-lib-crc-ccitt + KCONFIG:=CONFIG_VIA_VELOCITY + FILES:=$(LINUX_DIR)/drivers/net/ethernet/via/via-velocity.ko + AUTOLOAD:=$(call AutoProbe,via-velocity) +endef + +define KernelPackage/via-velocity/description + Kernel modules for VIA Velocity Gigabit Ethernet chipsets +endef + +$(eval $(call KernelPackage,via-velocity)) + + +define KernelPackage/8139too + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=RealTek RTL-8139 PCI Fast Ethernet Adapter kernel support + DEPENDS:=@PCI_SUPPORT +kmod-mii + KCONFIG:=CONFIG_8139TOO \ + CONFIG_8139TOO_PIO=y \ + CONFIG_8139TOO_TUNE_TWISTER=n \ + CONFIG_8139TOO_8129=n \ + CONFIG_8139_OLD_RX_RESET=n + FILES:=$(LINUX_DIR)/drivers/net/ethernet/realtek/8139too.ko + AUTOLOAD:=$(call AutoProbe,8139too) +endef + +define KernelPackage/8139too/description + Kernel modules for RealTek RTL-8139 PCI Fast Ethernet adapters +endef + +$(eval $(call KernelPackage,8139too)) + + +define KernelPackage/8139cp + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=RealTek RTL-8139C+ PCI Fast Ethernet Adapter kernel support + DEPENDS:=@PCI_SUPPORT +kmod-mii + KCONFIG:=CONFIG_8139CP + FILES:=$(LINUX_DIR)/drivers/net/ethernet/realtek/8139cp.ko + AUTOLOAD:=$(call AutoProbe,8139cp) +endef + +define KernelPackage/8139cp/description + Kernel module for RealTek RTL-8139C+ PCI Fast Ethernet adapters +endef + +$(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 +!LINUX_4_14:kmod-phy-realtek + KCONFIG:=CONFIG_R8169 \ + CONFIG_R8169_NAPI=y \ + CONFIG_R8169_VLAN=n + FILES:=$(LINUX_DIR)/drivers/net/ethernet/realtek/r8169.ko + AUTOLOAD:=$(call AutoProbe,r8169) +endef + +define KernelPackage/r8169/description + Kernel modules for RealTek RTL-8169 PCI Gigabit Ethernet adapters +endef + +$(eval $(call KernelPackage,r8169)) + + +define KernelPackage/ne2k-pci + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=ne2k-pci Ethernet Adapter kernel support + DEPENDS:=@PCI_SUPPORT + KCONFIG:=CONFIG_NE2K_PCI + FILES:= \ + $(LINUX_DIR)/drivers/net/ethernet/8390/ne2k-pci.ko \ + $(LINUX_DIR)/drivers/net/ethernet/8390/8390.ko + AUTOLOAD:=$(call AutoProbe,8390 ne2k-pci) +endef + +define KernelPackage/ne2k-pci/description + Kernel modules for NE2000 PCI Ethernet Adapter kernel +endef + +$(eval $(call KernelPackage,ne2k-pci)) + + +define KernelPackage/e100 + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Intel(R) PRO/100+ cards kernel support + DEPENDS:=@PCI_SUPPORT +kmod-mii +e100-firmware + KCONFIG:=CONFIG_E100 + FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/e100.ko + AUTOLOAD:=$(call AutoProbe,e100) +endef + +define KernelPackage/e100/description + Kernel modules for Intel(R) PRO/100+ Ethernet adapters +endef + +$(eval $(call KernelPackage,e100)) + + +define KernelPackage/e1000 + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Intel(R) PRO/1000 PCI cards kernel support + DEPENDS:=@PCI_SUPPORT + KCONFIG:=CONFIG_E1000 \ + CONFIG_E1000_DISABLE_PACKET_SPLIT=n \ + CONFIG_E1000_NAPI=y + FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/e1000/e1000.ko + AUTOLOAD:=$(call AutoLoad,35,e1000) +endef + +define KernelPackage/e1000/description + Kernel modules for Intel(R) PRO/1000 PCI Ethernet adapters. +endef + +$(eval $(call KernelPackage,e1000)) + + +define KernelPackage/e1000e + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Intel(R) PRO/1000 PCIe cards kernel support + DEPENDS:=@PCIE_SUPPORT +kmod-ptp + KCONFIG:=CONFIG_E1000E + FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/e1000e/e1000e.ko + AUTOLOAD:=$(call AutoProbe,e1000e) + MODPARAMS.e1000e:= \ + IntMode=1 \ + InterruptThrottleRate=4,4,4,4,4,4,4,4 +endef + +define KernelPackage/e1000e/description + Kernel modules for Intel(R) PRO/1000 PCIe Ethernet adapters. +endef + +$(eval $(call KernelPackage,e1000e)) + + +define KernelPackage/igb + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Intel(R) 82575/82576 PCI-Express Gigabit Ethernet support + DEPENDS:=@PCI_SUPPORT +kmod-i2c-core +kmod-i2c-algo-bit +kmod-ptp +kmod-hwmon-core + KCONFIG:=CONFIG_IGB \ + CONFIG_IGB_HWMON=y \ + CONFIG_IGB_DCA=n + FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/igb/igb.ko + AUTOLOAD:=$(call AutoLoad,35,igb) +endef + +define KernelPackage/igb/description + Kernel modules for Intel(R) 82575/82576 PCI-Express Gigabit Ethernet adapters. +endef + +$(eval $(call KernelPackage,igb)) + + +define KernelPackage/igbvf + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Intel(R) 82576 Virtual Function Ethernet support + DEPENDS:=@PCI_SUPPORT @TARGET_x86 +kmod-i2c-core +kmod-i2c-algo-bit +kmod-ptp + KCONFIG:=CONFIG_IGBVF \ + CONFIG_IGB_HWMON=y \ + CONFIG_IGB_DCA=n + FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/igbvf/igbvf.ko + AUTOLOAD:=$(call AutoLoad,35,igbvf) +endef + +define KernelPackage/igbvf/description + Kernel modules for Intel(R) 82576 Virtual Function Ethernet adapters. +endef + +$(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 + KCONFIG:=CONFIG_IXGBE \ + CONFIG_IXGBE_VXLAN=n \ + CONFIG_IXGBE_HWMON=y \ + CONFIG_IXGBE_DCA=n + FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/ixgbe/ixgbe.ko + AUTOLOAD:=$(call AutoLoad,35,ixgbe) +endef + +define KernelPackage/ixgbe/description + Kernel modules for Intel(R) 82598/82599 PCI-Express 10 Gigabit Ethernet adapters. +endef + +$(eval $(call KernelPackage,ixgbe)) + + +define KernelPackage/ixgbevf + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Intel(R) 82599 Virtual Function Ethernet support + DEPENDS:=@PCI_SUPPORT +kmod-ixgbe + KCONFIG:=CONFIG_IXGBEVF \ + CONFIG_IXGBE_VXLAN=n \ + CONFIG_IXGBE_HWMON=y \ + CONFIG_IXGBE_DCA=n + FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/ixgbevf/ixgbevf.ko + AUTOLOAD:=$(call AutoLoad,35,ixgbevf) +endef + +define KernelPackage/ixgbevf/description + Kernel modules for Intel(R) 82599 Virtual Function Ethernet adapters. +endef + +$(eval $(call KernelPackage,ixgbevf)) + + +define KernelPackage/i40e + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Intel(R) Ethernet Controller XL710 Family support + DEPENDS:=@PCI_SUPPORT +kmod-mdio +kmod-ptp +kmod-hwmon-core +kmod-libphy + KCONFIG:=CONFIG_I40E \ + CONFIG_I40E_VXLAN=n \ + CONFIG_I40E_HWMON=y \ + CONFIG_I40E_DCA=n + FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/i40e/i40e.ko + AUTOLOAD:=$(call AutoProbe,i40e) +endef + +define KernelPackage/i40e/description + Kernel modules for Intel(R) Ethernet Controller XL710 Family 40 Gigabit Ethernet adapters. +endef + +$(eval $(call KernelPackage,i40e)) + + +define KernelPackage/iavf + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Intel(R) Ethernet Adaptive Virtual Function support + DEPENDS:=@PCI_SUPPORT + KCONFIG:= \ + CONFIG_I40EVF \ + CONFIG_IAVF + FILES:= \ + $(LINUX_DIR)/drivers/net/ethernet/intel/iavf/iavf.ko + AUTOLOAD:=$(call AutoProbe,i40evf iavf) + AUTOLOAD:=$(call AutoProbe,iavf) +endef + +define KernelPackage/iavf/description + Kernel modules for Intel XL710, + X710, X722, XXV710, and all devices advertising support for + Intel Ethernet Adaptive Virtual Function devices. +endef + +$(eval $(call KernelPackage,iavf)) + + +define KernelPackage/b44 + TITLE:=Broadcom 44xx driver + KCONFIG:=CONFIG_B44 + DEPENDS:=@PCI_SUPPORT @!TARGET_bcm47xx_mips74k +!TARGET_bcm47xx:kmod-ssb +kmod-mii +kmod-libphy + SUBMENU:=$(NETWORK_DEVICES_MENU) + FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/b44.ko + AUTOLOAD:=$(call AutoLoad,19,b44,1) +endef + +define KernelPackage/b44/description + Kernel modules for Broadcom 44xx Ethernet adapters. +endef + +$(eval $(call KernelPackage,b44)) + + +define KernelPackage/3c59x + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=3Com 3c590/3c900 series (592/595/597) Vortex/Boomerang + DEPENDS:=@PCI_SUPPORT +kmod-mii + KCONFIG:=CONFIG_VORTEX + FILES:=$(LINUX_DIR)/drivers/net/ethernet/3com/3c59x.ko + AUTOLOAD:=$(call AutoProbe,3c59x) +endef + +define KernelPackage/3c59x/description + This option enables driver support for a large number of 10mbps and + 10/100mbps EISA, PCI and PCMCIA 3Com Ethernet adapters: + - "Vortex" (Fast EtherLink 3c590/3c592/3c595/3c597) EISA and PCI + - "Boomerang" (EtherLink XL 3c900 or 3c905) PCI + - "Cyclone" (3c540/3c900/3c905/3c980/3c575/3c656) PCI and Cardbus + - "Tornado" (3c905) PCI + - "Hurricane" (3c555/3cSOHO) PCI +endef + +$(eval $(call KernelPackage,3c59x)) + + +define KernelPackage/pcnet32 + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=AMD PCnet32 PCI support + DEPENDS:=@(PCI_SUPPORT||TARGET_malta) +kmod-mii + KCONFIG:=CONFIG_PCNET32 + FILES:=$(LINUX_DIR)/drivers/net/ethernet/amd/pcnet32.ko + AUTOLOAD:=$(call AutoProbe,pcnet32) +endef + +define KernelPackage/pcnet32/description + Kernel modules for AMD PCnet32 Ethernet adapters +endef + +$(eval $(call KernelPackage,pcnet32)) + + +define KernelPackage/tg3 + TITLE:=Broadcom Tigon3 Gigabit Ethernet + KCONFIG:=CONFIG_TIGON3 \ + CONFIG_TIGON3_HWMON=n + DEPENDS:=+!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) +endef + +define KernelPackage/tg3/description + Kernel modules for Broadcom Tigon3 Gigabit Ethernet adapters +endef + +$(eval $(call KernelPackage,tg3)) + + +define KernelPackage/hfcpci + TITLE:=HFC PCI cards (single port) support for mISDN + KCONFIG:=CONFIG_MISDN_HFCPCI + DEPENDS:=+kmod-misdn + SUBMENU:=$(NETWORK_DEVICES_MENU) + FILES:=$(LINUX_DIR)/drivers/isdn/hardware/mISDN/hfcpci.ko + AUTOLOAD:=$(call AutoLoad,31,hfcpci) +endef + +define KernelPackage/hfcpci/description + Kernel modules for Cologne AG's HFC pci cards (single port) + using the mISDN V2 stack +endef + +$(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 + SUBMENU:=$(NETWORK_DEVICES_MENU) + FILES:=$(LINUX_DIR)/drivers/isdn/hardware/mISDN/hfcmulti.ko + AUTOLOAD:=$(call AutoLoad,31,hfcmulti) +endef + +define KernelPackage/hfcmulti/description + Kernel modules for Cologne AG's HFC multiport cards (HFC-4S/8S/E1) + using the mISDN V2 stack +endef + +$(eval $(call KernelPackage,hfcmulti)) + + +define KernelPackage/macvlan + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=MAC-VLAN support + KCONFIG:=CONFIG_MACVLAN + FILES:=$(LINUX_DIR)/drivers/net/macvlan.ko + AUTOLOAD:=$(call AutoProbe,macvlan) +endef + +define KernelPackage/macvlan/description + A kernel module which allows one to create virtual interfaces that + map packets to or from specific MAC addresses to a particular interface +endef + +$(eval $(call KernelPackage,macvlan)) + + +define KernelPackage/tulip + TITLE:=Tulip family network device support + DEPENDS:=@PCI_SUPPORT +kmod-mii + SUBMENU:=$(NETWORK_DEVICES_MENU) + KCONFIG:= \ + CONFIG_NET_TULIP=y \ + CONFIG_DE2104X \ + CONFIG_DE2104X_DSL=0 \ + CONFIG_TULIP \ + CONFIG_TULIP_MWI=y \ + CONFIG_TULIP_MMIO=y \ + CONFIG_TULIP_NAPI=y \ + CONFIG_TULIP_NAPI_HW_MITIGATION=y \ + CONFIG_DE4X5=n \ + CONFIG_WINBOND_840 \ + CONFIG_DM9102 \ + CONFIG_ULI526X + FILES:= \ + $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/tulip.ko \ + $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/de2104x.ko \ + $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/dmfe.ko \ + $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/uli526x.ko \ + $(LINUX_DIR)/drivers/net/ethernet/dec/tulip/winbond-840.ko + AUTOLOAD:=$(call AutoProbe,tulip) +endef + +define KernelPackage/tulip/description + Kernel modules for the Tulip family of network cards, + including DECchip Tulip, DIGITAL EtherWORKS, Winbond W89c840, + Davicom DM910x/DM980x and ULi M526x controller support. +endef + +$(eval $(call KernelPackage,tulip)) + + +define KernelPackage/solos-pci + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Solos ADSL2+ multiport modem + DEPENDS:=@PCI_SUPPORT +kmod-atm + KCONFIG:=CONFIG_ATM_SOLOS + FILES:=$(LINUX_DIR)/drivers/atm/solos-pci.ko + AUTOLOAD:=$(call AutoProbe,solos-pci) +endef + +define KernelPackage/solos-pci/description + Kernel module for Traverse Technologies' Solos PCI cards + and Geos ADSL2+ x86 motherboard +endef + +$(eval $(call KernelPackage,solos-pci)) + + +define KernelPackage/dummy + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Dummy network device + KCONFIG:=CONFIG_DUMMY + FILES:=$(LINUX_DIR)/drivers/net/dummy.ko + AUTOLOAD:=$(call AutoLoad,34,dummy) +endef + +define KernelPackage/dummy/description + The dummy network device +endef + +$(eval $(call KernelPackage,dummy)) + + +define KernelPackage/ifb + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Intermediate Functional Block support + KCONFIG:= \ + CONFIG_IFB \ + CONFIG_NET_CLS=y + FILES:=$(LINUX_DIR)/drivers/net/ifb.ko + AUTOLOAD:=$(call AutoLoad,34,ifb) + MODPARAMS.ifb:=numifbs=0 +endef + +define KernelPackage/ifb/description + The Intermediate Functional Block +endef + +$(eval $(call KernelPackage,ifb)) + + +define KernelPackage/dm9000 + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Davicom 9000 Ethernet support + DEPENDS:=+kmod-mii + KCONFIG:=CONFIG_DM9000 \ + CONFIG_DM9000_DEBUGLEVEL=4 \ + CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL=y + FILES:=$(LINUX_DIR)/drivers/net/ethernet/davicom/dm9000.ko + AUTOLOAD:=$(call AutoLoad,34,dm9000) +endef + +define KernelPackage/dm9000/description + Kernel driver for Davicom 9000 Ethernet adapters. +endef + +$(eval $(call KernelPackage,dm9000)) + + +define KernelPackage/forcedeth + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=nForce Ethernet support + DEPENDS:=@PCI_SUPPORT + KCONFIG:=CONFIG_FORCEDETH + FILES:=$(LINUX_DIR)/drivers/net/ethernet/nvidia/forcedeth.ko + AUTOLOAD:=$(call AutoProbe,forcedeth) +endef + +define KernelPackage/forcedeth/description + Kernel driver for Nvidia Ethernet support +endef + +$(eval $(call KernelPackage,forcedeth)) + +define KernelPackage/of-mdio + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=OpenFirmware MDIO support + DEPENDS:=+kmod-libphy + KCONFIG:=CONFIG_OF_MDIO + FILES:= \ + $(LINUX_DIR)/drivers/net/phy/fixed_phy.ko \ + $(LINUX_DIR)/drivers/of/of_mdio.ko + AUTOLOAD:=$(call AutoLoad,41,of_mdio) +endef + +define KernelPackage/of-mdio/description + Kernel driver for OpenFirmware MDIO support +endef + +$(eval $(call KernelPackage,of-mdio)) + + +define KernelPackage/vmxnet3 + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=VMware VMXNET3 ethernet driver + DEPENDS:=@PCI_SUPPORT + KCONFIG:=CONFIG_VMXNET3 + FILES:=$(LINUX_DIR)/drivers/net/vmxnet3/vmxnet3.ko + AUTOLOAD:=$(call AutoLoad,35,vmxnet3) +endef + +define KernelPackage/vmxnet3/description + Kernel modules for VMware VMXNET3 ethernet adapters. +endef + +$(eval $(call KernelPackage,vmxnet3)) + + +define KernelPackage/spi-ks8995 + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Micrel/Kendin KS8995 Ethernet switch control + FILES:=$(LINUX_DIR)/drivers/net/phy/spi_ks8995.ko + KCONFIG:=CONFIG_MICREL_KS8995MA \ + CONFIG_SPI=y \ + CONFIG_SPI_MASTER=y + AUTOLOAD:=$(call AutoLoad,50,spi_ks8995) +endef + +define KernelPackage/spi-ks8995/description + Kernel module for Micrel/Kendin KS8995 ethernet switch +endef + +$(eval $(call KernelPackage,spi-ks8995)) + + +define KernelPackage/ethoc + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Opencore.org ethoc driver + DEPENDS:=+kmod-libphy + FILES:=$(LINUX_DIR)/drivers/net/ethernet/ethoc.ko + KCONFIG:=CONFIG_ETHOC + AUTOLOAD:=$(call AutoProbe,ethoc) +endef + +define KernelPackage/ethoc/description + Kernel module for the Opencores.org ethernet adapter +endef + +$(eval $(call KernelPackage,ethoc)) + + +define KernelPackage/bnx2 + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=BCM5706/5708/5709/5716 ethernet adapter driver + DEPENDS:=@PCI_SUPPORT +bnx2-firmware + FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/bnx2.ko + KCONFIG:=CONFIG_BNX2 + AUTOLOAD:=$(call AutoProbe,bnx2) +endef + +define KernelPackage/bnx2/description + Kernel module for the BCM5706/5708/5709/5716 ethernet adapter +endef + +$(eval $(call KernelPackage,bnx2)) + + +define KernelPackage/bnx2x + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=QLogic 5771x/578xx 10/20-Gigabit ethernet adapter driver + DEPENDS:=@PCI_SUPPORT +bnx2x-firmware +kmod-lib-crc32c +kmod-mdio +kmod-ptp +kmod-lib-zlib-inflate + FILES:=$(LINUX_DIR)/drivers/net/ethernet/broadcom/bnx2x/bnx2x.ko + KCONFIG:= \ + CONFIG_BNX2X \ + CONFIG_BNX2X_SRIOV=y + AUTOLOAD:=$(call AutoProbe,bnx2x) +endef + +define KernelPackage/bnx2x/description + QLogic BCM57710/57711/57711E/57712/57712_MF/57800/57800_MF/57810/57810_MF/57840/57840_MF Driver +endef + +$(eval $(call KernelPackage,bnx2x)) + +define KernelPackage/be2net + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Broadcom Emulex OneConnect 10Gbps NIC + DEPENDS:=@PCI_SUPPORT +kmod-hwmon-core + FILES:=$(LINUX_DIR)/drivers/net/ethernet/emulex/benet/be2net.ko + KCONFIG:= \ + CONFIG_BE2NET \ + CONFIG_BE2NET_BE2=y \ + CONFIG_BE2NET_BE3=y \ + CONFIG_BE2NET_LANCER=y \ + CONFIG_BE2NET_SKYHAWK=y \ + CONFIG_BE2NET_HWMON=y + AUTOLOAD:=$(call AutoProbe,be2net) +endef + +define KernelPackage/be2net/description + Broadcom Emulex OneConnect 10Gbit SFP+ support, OneConnect OCe10xxx OCe11xxx OCe14xxx, LightPulse LPe12xxx +endef + +$(eval $(call KernelPackage,be2net)) + +define KernelPackage/mlx4-core + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Mellanox ConnectX(R) mlx4 core Network Driver + DEPENDS:=@PCI_SUPPORT +kmod-ptp + FILES:= \ + $(LINUX_DIR)/drivers/net/ethernet/mellanox/mlx4/mlx4_core.ko \ + $(LINUX_DIR)/drivers/net/ethernet/mellanox/mlx4/mlx4_en.ko + KCONFIG:= CONFIG_MLX4_EN \ + CONFIG_MLX4_EN_DCB=n \ + CONFIG_MLX4_CORE=y \ + CONFIG_MLX4_CORE_GEN2=y \ + CONFIG_MLX4_DEBUG=n + AUTOLOAD:=$(call AutoProbe,mlx4_core mlx4_en) +endef + +define KernelPackage/mlx4-core/description + Supports Mellanox ConnectX-3 series and previous cards +endef + +$(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 + FILES:=$(LINUX_DIR)/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko + KCONFIG:= CONFIG_MLX5_CORE \ + CONFIG_MLX5_CORE_EN=y \ + CONFIG_MLX5_CORE_EN_DCB=n \ + CONFIG_MLX5_CORE_IPOIB=n \ + CONFIG_MLX5_EN_ARFS=n \ + CONFIG_MLX5_EN_IPSEC=n \ + CONFIG_MLX5_EN_RXNFC=y \ + CONFIG_MLX5_EN_TLS=n \ + CONFIG_MLX5_ESWITCH=n \ + CONFIG_MLX5_FPGA=n \ + CONFIG_MLX5_FPGA_IPSEC=n \ + CONFIG_MLX5_FPGA_TLS=n \ + CONFIG_MLX5_MPFS=y \ + CONFIG_MLX5_SW_STEERING=n \ + CONFIG_MLX5_TC_CT=n \ + CONFIG_MLX5_TLS=n + AUTOLOAD:=$(call AutoProbe,mlx5_core) +endef + +define KernelPackage/mlx5-core/description + Supports Mellanox Connect-IB/ConnectX-4 series and later cards +endef + +$(eval $(call KernelPackage,mlx5-core)) + + +define KernelPackage/sfp + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=SFP cage support + DEPENDS:=+kmod-i2c-core +kmod-hwmon-core +kmod-phylink + KCONFIG:= \ + CONFIG_SFP \ + CONFIG_MDIO_I2C + FILES:= \ + $(LINUX_DIR)/drivers/net/phy/sfp.ko \ + $(LINUX_DIR)/drivers/net/phy/mdio-i2c.ko + AUTOLOAD:=$(call AutoProbe,mdio-i2c sfp) +endef + +define KernelPackage/sfp/description + Kernel module to support SFP cages +endef + +$(eval $(call KernelPackage,sfp)) + +define KernelPackage/igc + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Intel(R) Ethernet Controller I225 Series support + DEPENDS:=@PCI_SUPPORT +kmod-ptp + KCONFIG:=CONFIG_IGC + FILES:=$(LINUX_DIR)/drivers/net/ethernet/intel/igc/igc.ko + AUTOLOAD:=$(call AutoProbe,igc) +endef + +define KernelPackage/igc/description + Kernel modules for Intel(R) Ethernet Controller I225 Series +endef + +$(eval $(call KernelPackage,igc)) + +define KernelPackage/sfc + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Solarflare SFC9000/SFC9100/EF100-family support + DEPENDS:=@PCI_SUPPORT +kmod-mdio +kmod-lib-crc32c +kmod-ptp +kmod-hwmon-core + KCONFIG:= \ + CONFIG_SFC \ + CONFIG_SFC_MTD=y \ + CONFIG_SFC_MCDI_MON=y \ + CONFIG_SFC_MCDI_LOGGING=y \ + CONFIG_SFC_SRIOV=y + FILES:=$(LINUX_DIR)/drivers/net/ethernet/sfc/sfc.ko + AUTOLOAD:=$(call AutoProbe,sfc) +endef + +define KernelPackage/sfc/description + Solarflare SFC9000/SFC9100/EF100-family support + Solarflare EF100 support requires at least kernel version 5.9 +endef + +$(eval $(call KernelPackage,sfc)) + +define KernelPackage/sfc-falcon + SUBMENU:=$(NETWORK_DEVICES_MENU) + TITLE:=Solarflare SFC4000 support + DEPENDS:=@PCI_SUPPORT +kmod-mdio +kmod-lib-crc32c +kmod-i2c-algo-bit + KCONFIG:= \ + CONFIG_SFC_FALCON \ + CONFIG_SFC_FALCON_MTD=y + FILES:=$(LINUX_DIR)/drivers/net/ethernet/sfc/falcon/sfc-falcon.ko + AUTOLOAD:=$(call AutoProbe,sfc-falcon) +endef + +define KernelPackage/sfc-falcon/description + Solarflare SFC4000 support +endef + +$(eval $(call KernelPackage,sfc-falcon)) diff --git a/feeds/ipq807x/linux/modules/netfilter.mk b/feeds/ipq807x/linux/modules/netfilter.mk new file mode 100644 index 000000000..97102524d --- /dev/null +++ b/feeds/ipq807x/linux/modules/netfilter.mk @@ -0,0 +1,1182 @@ + +# +# Copyright (C) 2006-2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +NF_MENU:=Netfilter Extensions +NF_KMOD:=1 +include $(INCLUDE_DIR)/netfilter-4.4.mk + + +define KernelPackage/nf-reject + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter IPv4 reject support + KCONFIG:= \ + CONFIG_NETFILTER=y \ + CONFIG_NETFILTER_ADVANCED=y \ + $(KCONFIG_NF_REJECT) + FILES:=$(foreach mod,$(NF_REJECT-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_REJECT-m))) +endef + +$(eval $(call KernelPackage,nf-reject)) + + +define KernelPackage/nf-reject6 + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter IPv6 reject support + KCONFIG:= \ + CONFIG_NETFILTER=y \ + CONFIG_NETFILTER_ADVANCED=y \ + $(KCONFIG_NF_REJECT6) + DEPENDS:=@IPV6 + FILES:=$(foreach mod,$(NF_REJECT6-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_REJECT6-m))) +endef + +$(eval $(call KernelPackage,nf-reject6)) + + +define KernelPackage/nf-ipt + SUBMENU:=$(NF_MENU) + TITLE:=Iptables core + KCONFIG:=$(KCONFIG_NF_IPT) + FILES:=$(foreach mod,$(NF_IPT-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_IPT-m))) +endef + +$(eval $(call KernelPackage,nf-ipt)) + + +define KernelPackage/nf-ipt6 + SUBMENU:=$(NF_MENU) + TITLE:=Ip6tables core + 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 +endef + +$(eval $(call KernelPackage,nf-ipt6)) + + + +define KernelPackage/ipt-core + SUBMENU:=$(NF_MENU) + TITLE:=Iptables 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 +endef + +define KernelPackage/ipt-core/description + Netfilter core kernel modules + Includes: + - comment + - limit + - LOG + - mac + - multiport + - REJECT + - TCPMSS +endef + +$(eval $(call KernelPackage,ipt-core)) + + +define KernelPackage/nf-conntrack + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter connection tracking + KCONFIG:= \ + CONFIG_NETFILTER=y \ + CONFIG_NETFILTER_ADVANCED=y \ + CONFIG_NF_CONNTRACK_MARK=y \ + CONFIG_NF_CONNTRACK_ZONES=y \ + $(KCONFIG_NF_CONNTRACK) + FILES:=$(foreach mod,$(NF_CONNTRACK-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_CONNTRACK-m))) +endef + +define KernelPackage/nf-conntrack/install + $(INSTALL_DIR) $(1)/etc/sysctl.d + $(INSTALL_DATA) ./files/sysctl-nf-conntrack.conf $(1)/etc/sysctl.d/11-nf-conntrack.conf +endef + +$(eval $(call KernelPackage,nf-conntrack)) + + +define KernelPackage/nf-conntrack6 + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter IPv6 connection tracking + KCONFIG:=$(KCONFIG_NF_CONNTRACK6) + DEPENDS:=@IPV6 +kmod-nf-conntrack + FILES:=$(foreach mod,$(NF_CONNTRACK6-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_CONNTRACK6-m))) +endef + +$(eval $(call KernelPackage,nf-conntrack6)) + + +define KernelPackage/nf-nat + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter NAT + KCONFIG:=$(KCONFIG_NF_NAT) + DEPENDS:=+kmod-nf-conntrack + FILES:=$(foreach mod,$(NF_NAT-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_NAT-m))) +endef + +$(eval $(call KernelPackage,nf-nat)) + + +define KernelPackage/nf-nat6 + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter IPV6-NAT + KCONFIG:=$(KCONFIG_NF_NAT6) + DEPENDS:=@IPV6 +kmod-nf-conntrack6 +kmod-nf-nat + FILES:=$(foreach mod,$(NF_NAT6-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_NAT6-m))) +endef + +$(eval $(call KernelPackage,nf-nat6)) + + +define KernelPackage/nf-flow + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter flowtable support + KCONFIG:= \ + CONFIG_NETFILTER_INGRESS=y \ + 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) + AUTOLOAD:=$(call AutoProbe,nf_flow_table nf_flow_table_hw) +endef + +$(eval $(call KernelPackage,nf-flow)) + + +define AddDepends/ipt + SUBMENU:=$(NF_MENU) + DEPENDS+= +kmod-ipt-core $(1) +endef + + +define KernelPackage/ipt-conntrack + TITLE:=Basic connection tracking modules + KCONFIG:=$(KCONFIG_IPT_CONNTRACK) + FILES:=$(foreach mod,$(IPT_CONNTRACK-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CONNTRACK-m))) + $(call AddDepends/ipt,+kmod-nf-conntrack) +endef + +define KernelPackage/ipt-conntrack/description + Netfilter (IPv4) kernel modules for connection tracking + Includes: + - conntrack + - defrag + - iptables_raw + - NOTRACK + - state +endef + +$(eval $(call KernelPackage,ipt-conntrack)) + + +define KernelPackage/ipt-conntrack-extra + TITLE:=Extra connection tracking modules + 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))) + $(call AddDepends/ipt,+kmod-ipt-conntrack) +endef + +define KernelPackage/ipt-conntrack-extra/description + Netfilter (IPv4) extra kernel modules for connection tracking + Includes: + - connbytes + - connmark/CONNMARK + - conntrack + - helper + - recent +endef + +$(eval $(call KernelPackage,ipt-conntrack-extra)) + +define KernelPackage/ipt-conntrack-label + TITLE:=Module for handling connection tracking labels + KCONFIG:=$(KCONFIG_IPT_CONNTRACK_LABEL) + FILES:=$(foreach mod,$(IPT_CONNTRACK_LABEL-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CONNTRACK_LABEL-m))) + $(call AddDepends/ipt,+kmod-ipt-conntrack) +endef + +define KernelPackage/ipt-conntrack-label/description + Netfilter (IPv4) module for handling connection tracking labels + Includes: + - connlabel +endef + +$(eval $(call KernelPackage,ipt-conntrack-label)) + +define KernelPackage/ipt-filter + TITLE:=Modules for packet content inspection + KCONFIG:=$(KCONFIG_IPT_FILTER) + FILES:=$(foreach mod,$(IPT_FILTER-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_FILTER-m))) + $(call AddDepends/ipt,+kmod-lib-textsearch +kmod-ipt-conntrack) +endef + +define KernelPackage/ipt-filter/description + Netfilter (IPv4) kernel modules for packet content inspection + Includes: + - string + - bpf +endef + +$(eval $(call KernelPackage,ipt-filter)) + + +define KernelPackage/ipt-offload + TITLE:=Netfilter routing/NAT offload support + KCONFIG:=$(KCONFIG_IPT_FLOW) + FILES:=$(foreach mod,$(IPT_FLOW-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_FLOW-m))) + $(call AddDepends/ipt,+kmod-nf-flow) +endef + +$(eval $(call KernelPackage,ipt-offload)) + + +define KernelPackage/ipt-ipopt + TITLE:=Modules for matching/changing IP packet options + KCONFIG:=$(KCONFIG_IPT_IPOPT) + FILES:=$(foreach mod,$(IPT_IPOPT-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_IPOPT-m))) + $(call AddDepends/ipt,+kmod-nf-conntrack) +endef + +define KernelPackage/ipt-ipopt/description + Netfilter (IPv4) modules for matching/changing IP packet options + Includes: + - CLASSIFY + - dscp/DSCP + - ecn/ECN + - hl/HL + - length + - mark/MARK + - statistic + - tcpmss + - time + - ttl/TTL + - unclean +endef + +$(eval $(call KernelPackage,ipt-ipopt)) + + +define KernelPackage/ipt-ipsec + TITLE:=Modules for matching IPSec packets + KCONFIG:=$(KCONFIG_IPT_IPSEC) + FILES:=$(foreach mod,$(IPT_IPSEC-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_IPSEC-m))) + $(call AddDepends/ipt) +endef + +define KernelPackage/ipt-ipsec/description + Netfilter (IPv4) modules for matching IPSec packets + Includes: + - ah + - esp + - policy +endef + +$(eval $(call KernelPackage,ipt-ipsec)) + +IPSET_MODULES:= \ + ipset/ip_set \ + ipset/ip_set_bitmap_ip \ + ipset/ip_set_bitmap_ipmac \ + ipset/ip_set_bitmap_port \ + ipset/ip_set_hash_ip \ + ipset/ip_set_hash_ipmark \ + ipset/ip_set_hash_ipport \ + ipset/ip_set_hash_ipportip \ + ipset/ip_set_hash_ipportnet \ + ipset/ip_set_hash_mac \ + ipset/ip_set_hash_netportnet \ + ipset/ip_set_hash_net \ + ipset/ip_set_hash_netnet \ + ipset/ip_set_hash_netport \ + ipset/ip_set_hash_netiface \ + ipset/ip_set_list_set \ + xt_set + +define KernelPackage/ipt-ipset + SUBMENU:=Netfilter Extensions + TITLE:=IPset netfilter modules + DEPENDS+= +kmod-ipt-core +kmod-nfnetlink + KCONFIG:= \ + CONFIG_IP_SET \ + CONFIG_IP_SET_MAX=256 \ + CONFIG_NETFILTER_XT_SET \ + CONFIG_IP_SET_BITMAP_IP \ + CONFIG_IP_SET_BITMAP_IPMAC \ + CONFIG_IP_SET_BITMAP_PORT \ + CONFIG_IP_SET_HASH_IP \ + CONFIG_IP_SET_HASH_IPMAC \ + CONFIG_IP_SET_HASH_IPMARK \ + CONFIG_IP_SET_HASH_IPPORT \ + CONFIG_IP_SET_HASH_IPPORTIP \ + CONFIG_IP_SET_HASH_IPPORTNET \ + CONFIG_IP_SET_HASH_MAC \ + CONFIG_IP_SET_HASH_NET \ + CONFIG_IP_SET_HASH_NETNET \ + CONFIG_IP_SET_HASH_NETIFACE \ + CONFIG_IP_SET_HASH_NETPORT \ + CONFIG_IP_SET_HASH_NETPORTNET \ + CONFIG_IP_SET_LIST_SET \ + CONFIG_NET_EMATCH_IPSET=n + FILES:=$(foreach mod,$(IPSET_MODULES),$(LINUX_DIR)/net/netfilter/$(mod).ko) + AUTOLOAD:=$(call AutoLoad,49,$(notdir $(IPSET_MODULES))) +endef +$(eval $(call KernelPackage,ipt-ipset)) + + +IPVS_MODULES:= \ + ipvs/ip_vs \ + ipvs/ip_vs_lc \ + ipvs/ip_vs_wlc \ + ipvs/ip_vs_rr \ + ipvs/ip_vs_wrr \ + ipvs/ip_vs_lblc \ + ipvs/ip_vs_lblcr \ + ipvs/ip_vs_dh \ + ipvs/ip_vs_sh \ + ipvs/ip_vs_fo \ + ipvs/ip_vs_ovf \ + ipvs/ip_vs_nq \ + ipvs/ip_vs_sed \ + xt_ipvs + +define KernelPackage/nf-ipvs + SUBMENU:=Netfilter Extensions + TITLE:=IP Virtual Server modules + DEPENDS:=@IPV6 +kmod-lib-crc32c +kmod-ipt-conntrack +kmod-nf-conntrack +LINUX_4_14:kmod-nf-conntrack6 + KCONFIG:= \ + CONFIG_IP_VS \ + CONFIG_IP_VS_IPV6=y \ + CONFIG_IP_VS_DEBUG=n \ + CONFIG_IP_VS_PROTO_TCP=y \ + CONFIG_IP_VS_PROTO_UDP=y \ + CONFIG_IP_VS_PROTO_AH_ESP=y \ + CONFIG_IP_VS_PROTO_ESP=y \ + CONFIG_IP_VS_PROTO_AH=y \ + CONFIG_IP_VS_PROTO_SCTP=y \ + CONFIG_IP_VS_TAB_BITS=12 \ + CONFIG_IP_VS_RR \ + CONFIG_IP_VS_WRR \ + CONFIG_IP_VS_LC \ + CONFIG_IP_VS_WLC \ + CONFIG_IP_VS_FO \ + CONFIG_IP_VS_OVF \ + CONFIG_IP_VS_LBLC \ + CONFIG_IP_VS_LBLCR \ + CONFIG_IP_VS_DH \ + CONFIG_IP_VS_SH \ + CONFIG_IP_VS_SED \ + CONFIG_IP_VS_NQ \ + CONFIG_IP_VS_SH_TAB_BITS=8 \ + CONFIG_IP_VS_NFCT=y \ + CONFIG_NETFILTER_XT_MATCH_IPVS + FILES:=$(foreach mod,$(IPVS_MODULES),$(LINUX_DIR)/net/netfilter/$(mod).ko) + $(call AddDepends/ipt,+kmod-ipt-conntrack,+kmod-nf-conntrack) +endef + +define KernelPackage/nf-ipvs/description + IPVS (IP Virtual Server) implements transport-layer load balancing inside + the Linux kernel so called Layer-4 switching. +endef + +$(eval $(call KernelPackage,nf-ipvs)) + + +define KernelPackage/nf-ipvs-ftp + SUBMENU:=$(NF_MENU) + TITLE:=Virtual Server FTP protocol support + KCONFIG:=CONFIG_IP_VS_FTP + DEPENDS:=kmod-nf-ipvs +kmod-nf-nat +kmod-nf-nathelper + FILES:=$(LINUX_DIR)/net/netfilter/ipvs/ip_vs_ftp.ko +endef + +define KernelPackage/nf-ipvs-ftp/description + In the virtual server via Network Address Translation, + the IP address and port number of real servers cannot be sent to + clients in ftp connections directly, so FTP protocol helper is + required for tracking the connection and mangling it back to that of + virtual service. +endef + +$(eval $(call KernelPackage,nf-ipvs-ftp)) + + +define KernelPackage/nf-ipvs-sip + SUBMENU:=$(NF_MENU) + TITLE:=Virtual Server SIP protocol support + KCONFIG:=CONFIG_IP_VS_PE_SIP + DEPENDS:=kmod-nf-ipvs +kmod-nf-nathelper-extra + FILES:=$(LINUX_DIR)/net/netfilter/ipvs/ip_vs_pe_sip.ko +endef + +define KernelPackage/nf-ipvs-sip/description + Allow persistence based on the SIP Call-ID +endef + +$(eval $(call KernelPackage,nf-ipvs-sip)) + + +define KernelPackage/ipt-nat + TITLE:=Basic NAT targets + KCONFIG:=$(KCONFIG_IPT_NAT) + FILES:=$(foreach mod,$(IPT_NAT-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_NAT-m))) + $(call AddDepends/ipt,+kmod-nf-nat) +endef + +define KernelPackage/ipt-nat/description + Netfilter (IPv4) kernel modules for basic NAT targets + Includes: + - MASQUERADE +endef + +$(eval $(call KernelPackage,ipt-nat)) + + +define KernelPackage/ipt-raw + TITLE:=Netfilter IPv4 raw table support + KCONFIG:=CONFIG_IP_NF_RAW + FILES:=$(LINUX_DIR)/net/ipv4/netfilter/iptable_raw.ko + AUTOLOAD:=$(call AutoProbe,iptable_raw) + $(call AddDepends/ipt) +endef + +$(eval $(call KernelPackage,ipt-raw)) + + +define KernelPackage/ipt-raw6 + TITLE:=Netfilter IPv6 raw table support + DEPENDS:=@IPV6 + KCONFIG:=CONFIG_IP6_NF_RAW + FILES:=$(LINUX_DIR)/net/ipv6/netfilter/ip6table_raw.ko + AUTOLOAD:=$(call AutoProbe,ip6table_raw) + $(call AddDepends/ipt,+kmod-ip6tables) +endef + +$(eval $(call KernelPackage,ipt-raw6)) + + +define KernelPackage/ipt-nat6 + TITLE:=IPv6 NAT targets + DEPENDS:=@IPV6 + KCONFIG:=$(KCONFIG_IPT_NAT6) + FILES:=$(foreach mod,$(IPT_NAT6-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoLoad,43,$(notdir $(IPT_NAT6-m))) + $(call AddDepends/ipt,+kmod-nf-nat6) + $(call AddDepends/ipt,+kmod-ipt-conntrack) + $(call AddDepends/ipt,+kmod-ipt-nat) + $(call AddDepends/ipt,+kmod-ip6tables) +endef + +define KernelPackage/ipt-nat6/description + Netfilter (IPv6) kernel modules for NAT targets +endef + +$(eval $(call KernelPackage,ipt-nat6)) + + +define KernelPackage/ipt-nat-extra + TITLE:=Extra NAT targets + KCONFIG:=$(KCONFIG_IPT_NAT_EXTRA) + FILES:=$(foreach mod,$(IPT_NAT_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_NAT_EXTRA-m))) + $(call AddDepends/ipt,+kmod-ipt-nat) +endef + +define KernelPackage/ipt-nat-extra/description + Netfilter (IPv4) kernel modules for extra NAT targets + Includes: + - NETMAP + - REDIRECT +endef + +$(eval $(call KernelPackage,ipt-nat-extra)) + + +define KernelPackage/nf-nathelper + SUBMENU:=$(NF_MENU) + TITLE:=Basic Conntrack and NAT helpers + KCONFIG:=$(KCONFIG_NF_NATHELPER) + FILES:=$(foreach mod,$(NF_NATHELPER-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_NATHELPER-m))) + DEPENDS:=+kmod-nf-nat +endef + +define KernelPackage/nf-nathelper/description + Default Netfilter (IPv4) Conntrack and NAT helpers + Includes: + - ftp +endef + +$(eval $(call KernelPackage,nf-nathelper)) + + +define KernelPackage/nf-nathelper-extra + SUBMENU:=$(NF_MENU) + TITLE:=Extra Conntrack and NAT helpers + 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 +!LINUX_4_14:kmod-asn1-decoder +endef + +define KernelPackage/nf-nathelper-extra/description + Extra Netfilter (IPv4) Conntrack and NAT helpers + Includes: + - amanda + - h323 + - irc + - mms + - pptp + - proto_gre + - sip + - snmp_basic + - tftp + - broadcast +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) + FILES:=$(foreach mod,$(IPT_NFLOG-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_NFLOG-m))) + $(call AddDepends/ipt,+kmod-nfnetlink-log) +endef + +define KernelPackage/ipt-nflog/description + Netfilter module for user-space packet logging + Includes: + - NFLOG +endef + +$(eval $(call KernelPackage,ipt-nflog)) + + +define KernelPackage/ipt-nfqueue + TITLE:=Module for user-space packet queuing + KCONFIG:=$(KCONFIG_IPT_NFQUEUE) + FILES:=$(foreach mod,$(IPT_NFQUEUE-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_NFQUEUE-m))) + $(call AddDepends/ipt,+kmod-nfnetlink-queue) +endef + +define KernelPackage/ipt-nfqueue/description + Netfilter module for user-space packet queuing + Includes: + - NFQUEUE +endef + +$(eval $(call KernelPackage,ipt-nfqueue)) + + +define KernelPackage/ipt-debug + TITLE:=Module for debugging/development + KCONFIG:=$(KCONFIG_IPT_DEBUG) + FILES:=$(foreach mod,$(IPT_DEBUG-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_DEBUG-m))) + $(call AddDepends/ipt,+kmod-ipt-raw +IPV6:kmod-ipt-raw6) +endef + +define KernelPackage/ipt-debug/description + Netfilter modules for debugging/development of the firewall + Includes: + - TRACE +endef + +$(eval $(call KernelPackage,ipt-debug)) + + +define KernelPackage/ipt-led + TITLE:=Module to trigger a LED with a Netfilter rule + KCONFIG:=$(KCONFIG_IPT_LED) + FILES:=$(foreach mod,$(IPT_LED-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_LED-m))) + $(call AddDepends/ipt) +endef + +define KernelPackage/ipt-led/description + Netfilter target to trigger a LED when a network packet is matched. +endef + +$(eval $(call KernelPackage,ipt-led)) + +define KernelPackage/ipt-tproxy + TITLE:=Transparent proxying support + DEPENDS+=+kmod-ipt-conntrack +IPV6:kmod-nf-conntrack6 +IPV6:kmod-ip6tables + KCONFIG:=$(KCONFIG_IPT_TPROXY) + FILES:=$(foreach mod,$(IPT_TPROXY-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_TPROXY-m))) + $(call AddDepends/ipt) +endef + +define KernelPackage/ipt-tproxy/description + Kernel modules for Transparent Proxying +endef + +$(eval $(call KernelPackage,ipt-tproxy)) + +define KernelPackage/ipt-tee + TITLE:=TEE support + DEPENDS:=+kmod-ipt-conntrack + KCONFIG:=$(KCONFIG_IPT_TEE) + FILES:=$(foreach mod,$(IPT_TEE-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir nf_tee $(IPT_TEE-m))) + $(call AddDepends/ipt) +endef + +define KernelPackage/ipt-tee/description + Kernel modules for TEE +endef + +$(eval $(call KernelPackage,ipt-tee)) + + +define KernelPackage/ipt-u32 + TITLE:=U32 support + KCONFIG:=$(KCONFIG_IPT_U32) + FILES:=$(foreach mod,$(IPT_U32-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir nf_tee $(IPT_U32-m))) + $(call AddDepends/ipt) +endef + +define KernelPackage/ipt-u32/description + Kernel modules for U32 +endef + +$(eval $(call KernelPackage,ipt-u32)) + +define KernelPackage/ipt-checksum + TITLE:=CHECKSUM support + KCONFIG:=$(KCONFIG_IPT_CHECKSUM) + FILES:=$(foreach mod,$(IPT_CHECKSUM-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CHECKSUM-m))) + $(call AddDepends/ipt) +endef + +define KernelPackage/ipt-checksum/description + Kernel modules for CHECKSUM fillin target +endef + +$(eval $(call KernelPackage,ipt-checksum)) + + +define KernelPackage/ipt-iprange + TITLE:=Module for matching ip ranges + KCONFIG:=$(KCONFIG_IPT_IPRANGE) + FILES:=$(foreach mod,$(IPT_IPRANGE-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_IPRANGE-m))) + $(call AddDepends/ipt) +endef + +define KernelPackage/ipt-iprange/description + Netfilter (IPv4) module for matching ip ranges + Includes: + - iprange +endef + +$(eval $(call KernelPackage,ipt-iprange)) + +define KernelPackage/ipt-cluster + TITLE:=Module for matching cluster + KCONFIG:=$(KCONFIG_IPT_CLUSTER) + FILES:=$(foreach mod,$(IPT_CLUSTER-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CLUSTER-m))) + $(call AddDepends/ipt,+kmod-nf-conntrack) +endef + +define KernelPackage/ipt-cluster/description + Netfilter (IPv4/IPv6) module for matching cluster + This option allows you to build work-load-sharing clusters of + network servers/stateful firewalls without having a dedicated + load-balancing router/server/switch. Basically, this match returns + true when the packet must be handled by this cluster node. Thus, + all nodes see all packets and this match decides which node handles + what packets. The work-load sharing algorithm is based on source + address hashing. + + This module is usable for ipv4 and ipv6. + + To use it also enable iptables-mod-cluster + + see `iptables -m cluster --help` for more information. +endef + +$(eval $(call KernelPackage,ipt-cluster)) + +define KernelPackage/ipt-clusterip + TITLE:=Module for CLUSTERIP + KCONFIG:=$(KCONFIG_IPT_CLUSTERIP) + FILES:=$(foreach mod,$(IPT_CLUSTERIP-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CLUSTERIP-m))) + $(call AddDepends/ipt,+kmod-nf-conntrack) +endef + +define KernelPackage/ipt-clusterip/description + Netfilter (IPv4-only) module for CLUSTERIP + The CLUSTERIP target allows you to build load-balancing clusters of + network servers without having a dedicated load-balancing + router/server/switch. + + To use it also enable iptables-mod-clusterip + + see `iptables -j CLUSTERIP --help` for more information. +endef + +$(eval $(call KernelPackage,ipt-clusterip)) + + +define KernelPackage/ipt-extra + TITLE:=Extra modules + KCONFIG:=$(KCONFIG_IPT_EXTRA) + FILES:=$(foreach mod,$(IPT_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_EXTRA-m))) + $(call AddDepends/ipt) +endef + +define KernelPackage/ipt-extra/description + Other Netfilter (IPv4) kernel modules + Includes: + - addrtype + - owner + - pkttype + - quota +endef + +$(eval $(call KernelPackage,ipt-extra)) + + +define KernelPackage/ipt-physdev + TITLE:=physdev module + KCONFIG:=$(KCONFIG_IPT_PHYSDEV) + FILES:=$(foreach mod,$(IPT_PHYSDEV-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_PHYSDEV-m))) + $(call AddDepends/ipt,+kmod-br-netfilter) +endef + +define KernelPackage/ipt-physdev/description + The iptables physdev kernel module +endef + +$(eval $(call KernelPackage,ipt-physdev)) + + +define KernelPackage/ip6tables + SUBMENU:=$(NF_MENU) + TITLE:=IPv6 modules + DEPENDS:=@IPV6 +kmod-nf-reject6 +kmod-nf-ipt6 +kmod-ipt-core + KCONFIG:=$(KCONFIG_IPT_IPV6) + FILES:=$(foreach mod,$(IPT_IPV6-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoLoad,42,$(notdir $(IPT_IPV6-m))) +endef + +define KernelPackage/ip6tables/description + Netfilter IPv6 firewalling support +endef + +$(eval $(call KernelPackage,ip6tables)) + +define KernelPackage/ip6tables-extra + SUBMENU:=$(NF_MENU) + TITLE:=Extra IPv6 modules + DEPENDS:=@IPV6 +kmod-ip6tables + KCONFIG:=$(KCONFIG_IPT_IPV6_EXTRA) + FILES:=$(foreach mod,$(IPT_IPV6_EXTRA-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoLoad,43,$(notdir $(IPT_IPV6_EXTRA-m))) +endef + +define KernelPackage/ip6tables-extra/description + Netfilter IPv6 extra header matching modules +endef + +$(eval $(call KernelPackage,ip6tables-extra)) + +ARP_MODULES = arp_tables arpt_mangle arptable_filter +define KernelPackage/arptables + SUBMENU:=$(NF_MENU) + TITLE:=ARP firewalling modules + DEPENDS:=+kmod-ipt-core + FILES:=$(LINUX_DIR)/net/ipv4/netfilter/arp*.ko + KCONFIG:=CONFIG_IP_NF_ARPTABLES \ + CONFIG_IP_NF_ARPFILTER \ + CONFIG_IP_NF_ARP_MANGLE + AUTOLOAD:=$(call AutoProbe,$(ARP_MODULES)) +endef + +define KernelPackage/arptables/description + Kernel modules for ARP firewalling +endef + +$(eval $(call KernelPackage,arptables)) + + +define KernelPackage/br-netfilter + SUBMENU:=$(NF_MENU) + TITLE:=Bridge netfilter support modules + DEPENDS:=+kmod-ipt-core + FILES:=$(LINUX_DIR)/net/bridge/br_netfilter.ko + KCONFIG:=CONFIG_BRIDGE_NETFILTER + AUTOLOAD:=$(call AutoProbe,br_netfilter) +endef + +define KernelPackage/br-netfilter/install + $(INSTALL_DIR) $(1)/etc/sysctl.d + $(INSTALL_DATA) ./files/sysctl-br-netfilter.conf $(1)/etc/sysctl.d/11-br-netfilter.conf +endef + +$(eval $(call KernelPackage,br-netfilter)) + + +define KernelPackage/ebtables + SUBMENU:=$(NF_MENU) + TITLE:=Bridge firewalling modules + DEPENDS:=+kmod-ipt-core + FILES:=$(foreach mod,$(EBTABLES-m),$(LINUX_DIR)/net/$(mod).ko) + KCONFIG:=$(KCONFIG_EBTABLES) + AUTOLOAD:=$(call AutoProbe,$(notdir $(EBTABLES-m))) +endef + +define KernelPackage/ebtables/description + ebtables is a general, extensible frame/packet identification + framework. It provides you to do Ethernet + filtering/NAT/brouting on the Ethernet bridge. +endef + +$(eval $(call KernelPackage,ebtables)) + + +define AddDepends/ebtables + SUBMENU:=$(NF_MENU) + DEPENDS+= +kmod-ebtables $(1) +endef + + +define KernelPackage/ebtables-ipv4 + TITLE:=ebtables: IPv4 support + FILES:=$(foreach mod,$(EBTABLES_IP4-m),$(LINUX_DIR)/net/$(mod).ko) + KCONFIG:=$(KCONFIG_EBTABLES_IP4) + AUTOLOAD:=$(call AutoProbe,$(notdir $(EBTABLES_IP4-m))) + $(call AddDepends/ebtables) +endef + +define KernelPackage/ebtables-ipv4/description + This option adds the IPv4 support to ebtables, which allows basic + IPv4 header field filtering, ARP filtering as well as SNAT, DNAT targets. +endef + +$(eval $(call KernelPackage,ebtables-ipv4)) + + +define KernelPackage/ebtables-ipv6 + TITLE:=ebtables: IPv6 support + DEPENDS:=@IPV6 + FILES:=$(foreach mod,$(EBTABLES_IP6-m),$(LINUX_DIR)/net/$(mod).ko) + KCONFIG:=$(KCONFIG_EBTABLES_IP6) + AUTOLOAD:=$(call AutoProbe,$(notdir $(EBTABLES_IP6-m))) + $(call AddDepends/ebtables) +endef + +define KernelPackage/ebtables-ipv6/description + This option adds the IPv6 support to ebtables, which allows basic + IPv6 header field filtering and target support. +endef + +$(eval $(call KernelPackage,ebtables-ipv6)) + + +define KernelPackage/ebtables-watchers + TITLE:=ebtables: watchers support + FILES:=$(foreach mod,$(EBTABLES_WATCHERS-m),$(LINUX_DIR)/net/$(mod).ko) + KCONFIG:=$(KCONFIG_EBTABLES_WATCHERS) + AUTOLOAD:=$(call AutoProbe,$(notdir $(EBTABLES_WATCHERS-m))) + $(call AddDepends/ebtables) +endef + +define KernelPackage/ebtables-watchers/description + This option adds the log watchers, that you can use in any rule + in any ebtables table. +endef + +$(eval $(call KernelPackage,ebtables-watchers)) + + +define KernelPackage/nfnetlink + SUBMENU:=$(NF_MENU) + TITLE:=Netlink-based userspace interface + FILES:=$(foreach mod,$(NFNETLINK-m),$(LINUX_DIR)/net/$(mod).ko) + KCONFIG:=$(KCONFIG_NFNETLINK) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NFNETLINK-m))) +endef + +define KernelPackage/nfnetlink/description + Kernel modules support for a netlink-based userspace interface +endef + +$(eval $(call KernelPackage,nfnetlink)) + + +define AddDepends/nfnetlink + SUBMENU:=$(NF_MENU) + DEPENDS+=+kmod-nfnetlink $(1) +endef + + +define KernelPackage/nfnetlink-log + TITLE:=Netfilter LOG over NFNETLINK interface + FILES:=$(foreach mod,$(NFNETLINK_LOG-m),$(LINUX_DIR)/net/$(mod).ko) + KCONFIG:=$(KCONFIG_NFNETLINK_LOG) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NFNETLINK_LOG-m))) + $(call AddDepends/nfnetlink) +endef + +define KernelPackage/nfnetlink-log/description + Kernel modules support for logging packets via NFNETLINK + Includes: + - NFLOG +endef + +$(eval $(call KernelPackage,nfnetlink-log)) + + +define KernelPackage/nfnetlink-queue + TITLE:=Netfilter QUEUE over NFNETLINK interface + FILES:=$(foreach mod,$(NFNETLINK_QUEUE-m),$(LINUX_DIR)/net/$(mod).ko) + KCONFIG:=$(KCONFIG_NFNETLINK_QUEUE) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NFNETLINK_QUEUE-m))) + $(call AddDepends/nfnetlink) +endef + +define KernelPackage/nfnetlink-queue/description + Kernel modules support for queueing packets via NFNETLINK + Includes: + - NFQUEUE +endef + +$(eval $(call KernelPackage,nfnetlink-queue)) + + +define KernelPackage/nf-conntrack-netlink + TITLE:=Connection tracking netlink interface + 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) +endef + +define KernelPackage/nf-conntrack-netlink/description + Kernel modules support for a netlink-based connection tracking + userspace interface +endef + +$(eval $(call KernelPackage,nf-conntrack-netlink)) + +define KernelPackage/ipt-hashlimit + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter hashlimit match + DEPENDS:=+kmod-ipt-core + KCONFIG:=$(KCONFIG_IPT_HASHLIMIT) + FILES:=$(LINUX_DIR)/net/netfilter/xt_hashlimit.ko + AUTOLOAD:=$(call AutoProbe,xt_hashlimit) + $(call KernelPackage/ipt) +endef + +define KernelPackage/ipt-hashlimit/description + Kernel modules support for the hashlimit bucket match module +endef + +$(eval $(call KernelPackage,ipt-hashlimit)) + +define KernelPackage/ipt-rpfilter + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter rpfilter match + DEPENDS:=+kmod-ipt-core + KCONFIG:=$(KCONFIG_IPT_RPFILTER) + FILES:=$(realpath \ + $(LINUX_DIR)/net/ipv4/netfilter/ipt_rpfilter.ko \ + $(LINUX_DIR)/net/ipv6/netfilter/ip6t_rpfilter.ko) + AUTOLOAD:=$(call AutoProbe,ipt_rpfilter ip6t_rpfilter) + $(call KernelPackage/ipt) +endef + +define KernelPackage/ipt-rpfilter/description + Kernel modules support for the Netfilter rpfilter match +endef + +$(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-lib-crc32c +LINUX_5_4:kmod-nf-nat +LINUX_5_10:kmod-nf-nat + FILES:=$(foreach mod,$(NFT_CORE-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_CORE-m))) + KCONFIG:= \ + CONFIG_NFT_COMPAT=n \ + CONFIG_NFT_QUEUE=n \ + $(KCONFIG_NFT_CORE) +endef + +define KernelPackage/nft-core/description + Kernel module support for nftables +endef + +$(eval $(call KernelPackage,nft-core)) + + +define KernelPackage/nft-arp + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter nf_tables ARP table support + DEPENDS:=+kmod-nft-core + FILES:=$(foreach mod,$(NFT_ARP-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_ARP-m))) + KCONFIG:=$(KCONFIG_NFT_ARP) +endef + +$(eval $(call KernelPackage,nft-arp)) + + +define KernelPackage/nft-bridge + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter nf_tables bridge table support + DEPENDS:=+kmod-nft-core + 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-nat + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter nf_tables NAT support + DEPENDS:=+kmod-nft-core +kmod-nf-nat + FILES:=$(foreach mod,$(NFT_NAT-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_NAT-m))) + KCONFIG:=$(KCONFIG_NFT_NAT) +endef + +$(eval $(call KernelPackage,nft-nat)) + + +define KernelPackage/nft-offload + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter nf_tables routing/NAT offload support + 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_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/netfilter/nft_flow_offload.ko + AUTOLOAD:=$(call AutoProbe,nf_flow_table_inet nf_flow_table_ipv4 nf_flow_table_ipv6 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 + DEPENDS:=+kmod-nft-core + KCONFIG:= \ + CONFIG_NETFILTER_INGRESS=y \ + CONFIG_NF_TABLES_NETDEV \ + CONFIG_NF_DUP_NETDEV \ + CONFIG_NFT_DUP_NETDEV \ + CONFIG_NFT_FWD_NETDEV + FILES:= \ + $(LINUX_DIR)/net/netfilter/nf_tables_netdev.ko@lt4.17 \ + $(LINUX_DIR)/net/netfilter/nf_dup_netdev.ko@gt4.5 \ + $(LINUX_DIR)/net/netfilter/nft_dup_netdev.ko@gt4.5 \ + $(LINUX_DIR)/net/netfilter/nft_fwd_netdev.ko@gt4.5 + AUTOLOAD:=$(call AutoProbe,nf_tables_netdev nf_dup_netdev nft_dup_netdev nft_fwd_netdev) +endef + +$(eval $(call KernelPackage,nft-netdev)) + + +define KernelPackage/nft-fib + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter nf_tables fib support + DEPENDS:=+kmod-nft-core + FILES:=$(foreach mod,$(NFT_FIB-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_FIB-m))) + KCONFIG:=$(KCONFIG_NFT_FIB) +endef + +$(eval $(call KernelPackage,nft-fib)) + + +define KernelPackage/nft-queue + SUBMENU:=$(NF_MENU) + TITLE:=Netfilter nf_tables queue support + DEPENDS:=+kmod-nft-core +kmod-nfnetlink-queue + FILES:=$(foreach mod,$(NFT_QUEUE-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_QUEUE-m))) + KCONFIG:=$(KCONFIG_NFT_QUEUE) +endef + +$(eval $(call KernelPackage,nft-queue)) diff --git a/feeds/ipq807x/linux/modules/netsupport.mk b/feeds/ipq807x/linux/modules/netsupport.mk new file mode 100644 index 000000000..4343e850e --- /dev/null +++ b/feeds/ipq807x/linux/modules/netsupport.mk @@ -0,0 +1,1287 @@ +# +# Copyright (C) 2006-2011 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +NETWORK_SUPPORT_MENU:=Network Support + +define KernelPackage/atm + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=ATM support + KCONFIG:= \ + CONFIG_ATM \ + CONFIG_ATM_BR2684 + FILES:= \ + $(LINUX_DIR)/net/atm/atm.ko \ + $(LINUX_DIR)/net/atm/br2684.ko + AUTOLOAD:=$(call AutoLoad,30,atm br2684) +endef + +define KernelPackage/atm/description + Kernel modules for ATM support +endef + +$(eval $(call KernelPackage,atm)) + + +define KernelPackage/atmtcp + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=ATM over TCP + DEPENDS:=kmod-atm + KCONFIG:=CONFIG_ATM_TCP CONFIG_ATM_DRIVERS=y + FILES:=$(LINUX_DIR)/drivers/atm/atmtcp.ko + AUTOLOAD:=$(call AutoLoad,40,atmtcp) +endef + +define KernelPackage/atmtcp/description + Kernel module for ATM over TCP support +endef + +$(eval $(call KernelPackage,atmtcp)) + + +define KernelPackage/bonding + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Ethernet bonding driver + KCONFIG:=CONFIG_BONDING + FILES:=$(LINUX_DIR)/drivers/net/bonding/bonding.ko + AUTOLOAD:=$(call AutoLoad,40,bonding) +endef + +define KernelPackage/bonding/description + Kernel module for NIC bonding. +endef + +$(eval $(call KernelPackage,bonding)) + + +define KernelPackage/udptunnel4 + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=IPv4 UDP tunneling support + KCONFIG:=CONFIG_NET_UDP_TUNNEL + HIDDEN:=1 + FILES:=$(LINUX_DIR)/net/ipv4/udp_tunnel.ko + AUTOLOAD:=$(call AutoLoad,32,udp_tunnel) +endef + + +$(eval $(call KernelPackage,udptunnel4)) + +define KernelPackage/udptunnel6 + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=IPv6 UDP tunneling support + DEPENDS:=@IPV6 + KCONFIG:=CONFIG_NET_UDP_TUNNEL + HIDDEN:=1 + FILES:=$(LINUX_DIR)/net/ipv6/ip6_udp_tunnel.ko + AUTOLOAD:=$(call AutoLoad,32,ip6_udp_tunnel) +endef + +$(eval $(call KernelPackage,udptunnel6)) + + +define KernelPackage/vxlan + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Native VXLAN Kernel support + DEPENDS:= \ + +kmod-iptunnel \ + +kmod-udptunnel4 \ + +IPV6:kmod-udptunnel6 + KCONFIG:=CONFIG_VXLAN + FILES:=$(LINUX_DIR)/drivers/net/vxlan.ko + AUTOLOAD:=$(call AutoLoad,13,vxlan) +endef + +define KernelPackage/vxlan/description + Kernel module for supporting VXLAN in the Kernel. + Requires Kernel 3.12 or newer. +endef + +$(eval $(call KernelPackage,vxlan)) + + +define KernelPackage/geneve + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Generic Network Virtualization Encapsulation (Geneve) support + DEPENDS:= \ + +kmod-iptunnel \ + +kmod-udptunnel4 \ + +IPV6:kmod-udptunnel6 + KCONFIG:=CONFIG_GENEVE + FILES:= \ + $(LINUX_DIR)/drivers/net/geneve.ko + AUTOLOAD:=$(call AutoLoad,13,geneve) +endef + +define KernelPackage/geneve/description + Kernel module for supporting Geneve in the Kernel. + Requires Kernel 3.18 or newer. +endef + +$(eval $(call KernelPackage,geneve)) + + +define KernelPackage/nsh + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Network Service Header (NSH) protocol + DEPENDS:= + KCONFIG:=CONFIG_NET_NSH + FILES:=$(LINUX_DIR)/net/nsh/nsh.ko + AUTOLOAD:=$(call AutoLoad,13,nsh) +endef + +define KernelPackage/nsh/description + Network Service Header is an implementation of Service Function + Chaining (RFC 7665). Requires kernel 4.14 or newer +endef + +$(eval $(call KernelPackage,nsh)) + + +define KernelPackage/misdn + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=mISDN (ISDN) Support + KCONFIG:= \ + CONFIG_ISDN=y \ + CONFIG_MISDN \ + CONFIG_MISDN_DSP \ + CONFIG_MISDN_L1OIP + FILES:= \ + $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_core.ko \ + $(LINUX_DIR)/drivers/isdn/mISDN/mISDN_dsp.ko \ + $(LINUX_DIR)/drivers/isdn/mISDN/l1oip.ko + AUTOLOAD:=$(call AutoLoad,30,mISDN_core mISDN_dsp l1oip) +endef + +define KernelPackage/misdn/description + Modular ISDN driver support +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 + DEPENDS:=+kmod-iptunnel +kmod-iptunnel4 + KCONFIG:=CONFIG_NET_IPIP + FILES:=$(LINUX_DIR)/net/ipv4/ipip.ko + AUTOLOAD:=$(call AutoLoad,32,ipip) +endef + +define KernelPackage/ipip/description + Kernel modules for IP-in-IP encapsulation +endef + +$(eval $(call KernelPackage,ipip)) + + +IPSEC-m:= \ + xfrm/xfrm_algo \ + xfrm/xfrm_ipcomp \ + xfrm/xfrm_user \ + key/af_key \ + +define KernelPackage/ipsec + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=IPsec related modules (IPv4 and IPv6) + DEPENDS:= \ + +kmod-crypto-authenc +kmod-crypto-cbc +kmod-crypto-deflate \ + +kmod-crypto-des +kmod-crypto-echainiv +kmod-crypto-hmac \ + +kmod-crypto-md5 +kmod-crypto-sha1 + KCONFIG:= \ + CONFIG_NET_KEY \ + CONFIG_XFRM_USER \ + CONFIG_INET_IPCOMP \ + CONFIG_XFRM_IPCOMP + FILES:=$(foreach mod,$(IPSEC-m),$(LINUX_DIR)/net/$(mod).ko) + AUTOLOAD:=$(call AutoLoad,30,$(notdir $(IPSEC-m))) +endef + +define KernelPackage/ipsec/description + Kernel modules for IPsec support in both IPv4 and IPv6. + Includes: + - af_key + - xfrm_algo + - xfrm_ipcomp + - xfrm_user +endef + +$(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) + +define KernelPackage/ipsec4 + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=IPsec related modules (IPv4) + DEPENDS:=kmod-ipsec +kmod-iptunnel4 + KCONFIG:= \ + 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) + AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC4-m))) +endef + +define KernelPackage/ipsec4/description + Kernel modules for IPsec support in IPv4. + Includes: + - ah4 + - esp4 + - ipcomp4 + - xfrm4_mode_beet + - xfrm4_mode_transport + - xfrm4_mode_tunnel + - xfrm4_tunnel +endef + +$(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) + +define KernelPackage/ipsec6 + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=IPsec related modules (IPv6) + DEPENDS:=@IPV6 kmod-ipsec +kmod-iptunnel6 + KCONFIG:= \ + 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) + AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC6-m))) +endef + +define KernelPackage/ipsec6/description + Kernel modules for IPsec support in IPv6. + Includes: + - ah6 + - esp6 + - ipcomp6 + - xfrm6_mode_beet + - xfrm6_mode_transport + - xfrm6_mode_tunnel + - xfrm6_tunnel +endef + +$(eval $(call KernelPackage,ipsec6)) + + +define KernelPackage/iptunnel + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=IP tunnel support + HIDDEN:=1 + KCONFIG:= \ + CONFIG_NET_IP_TUNNEL + FILES:=$(LINUX_DIR)/net/ipv4/ip_tunnel.ko + AUTOLOAD:=$(call AutoLoad,31,ip_tunnel) +endef + +define KernelPackage/iptunnel/description + Kernel module for generic IP tunnel support +endef + +$(eval $(call KernelPackage,iptunnel)) + + +define KernelPackage/ip-vti + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=IP VTI (Virtual Tunnel Interface) + DEPENDS:=+kmod-iptunnel +kmod-iptunnel4 +kmod-ipsec4 + KCONFIG:=CONFIG_NET_IPVTI + FILES:=$(LINUX_DIR)/net/ipv4/ip_vti.ko + AUTOLOAD:=$(call AutoLoad,33,ip_vti) +endef + +define KernelPackage/ip-vti/description + Kernel modules for IP VTI (Virtual Tunnel Interface) +endef + +$(eval $(call KernelPackage,ip-vti)) + + +define KernelPackage/ip6-vti + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=IPv6 VTI (Virtual Tunnel Interface) + DEPENDS:=@IPV6 +kmod-iptunnel +kmod-ip6-tunnel +kmod-ipsec6 + KCONFIG:=CONFIG_IPV6_VTI + FILES:=$(LINUX_DIR)/net/ipv6/ip6_vti.ko + AUTOLOAD:=$(call AutoLoad,33,ip6_vti) +endef + +define KernelPackage/ip6-vti/description + Kernel modules for IPv6 VTI (Virtual Tunnel Interface) +endef + +$(eval $(call KernelPackage,ip6-vti)) + + +define KernelPackage/xfrm-interface + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=IPsec XFRM Interface + DEPENDS:=+kmod-ipsec4 +IPV6:kmod-ipsec6 @!LINUX_4_14 + KCONFIG:=CONFIG_XFRM_INTERFACE + FILES:=$(LINUX_DIR)/net/xfrm/xfrm_interface.ko + AUTOLOAD:=$(call AutoProbe,xfrm_interface) +endef + +define KernelPackage/xfrm-interface/description + Kernel module for XFRM interface support +endef + +$(eval $(call KernelPackage,xfrm-interface)) + + +define KernelPackage/iptunnel4 + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=IPv4 tunneling + HIDDEN:=1 + KCONFIG:= \ + CONFIG_INET_TUNNEL \ + CONFIG_NET_IPIP=m + FILES:=$(LINUX_DIR)/net/ipv4/tunnel4.ko + AUTOLOAD:=$(call AutoLoad,31,tunnel4) +endef + +define KernelPackage/iptunnel4/description + Kernel modules for IPv4 tunneling +endef + +$(eval $(call KernelPackage,iptunnel4)) + + +define KernelPackage/iptunnel6 + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=IPv6 tunneling + DEPENDS:=@IPV6 + KCONFIG:= \ + CONFIG_INET6_TUNNEL + FILES:=$(LINUX_DIR)/net/ipv6/tunnel6.ko + AUTOLOAD:=$(call AutoLoad,31,tunnel6) +endef + +define KernelPackage/iptunnel6/description + Kernel modules for IPv6 tunneling +endef + +$(eval $(call KernelPackage,iptunnel6)) + + +define KernelPackage/sit + SUBMENU:=$(NETWORK_SUPPORT_MENU) + DEPENDS:=@IPV6 +kmod-iptunnel +kmod-iptunnel4 + TITLE:=IPv6-in-IPv4 tunnel + KCONFIG:=CONFIG_IPV6_SIT \ + CONFIG_IPV6_SIT_6RD=y + FILES:=$(LINUX_DIR)/net/ipv6/sit.ko + AUTOLOAD:=$(call AutoLoad,32,sit) +endef + +define KernelPackage/sit/description + Kernel modules for IPv6-in-IPv4 tunnelling +endef + +$(eval $(call KernelPackage,sit)) + + +define KernelPackage/fou + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=FOU and GUE decapsulation + DEPENDS:= \ + +kmod-iptunnel \ + +kmod-udptunnel4 \ + +IPV6:kmod-udptunnel6 + KCONFIG:= \ + CONFIG_NET_FOU \ + CONFIG_NET_FOU_IP_TUNNELS=y + FILES:=$(LINUX_DIR)/net/ipv4/fou.ko + AUTOLOAD:=$(call AutoProbe,fou) +endef + +define KernelPackage/fou/description + Kernel module for FOU (Foo over UDP) and GUE (Generic UDP Encapsulation) tunnelling. + Requires Kernel 3.18 or newer. +endef + +$(eval $(call KernelPackage,fou)) + + +define KernelPackage/fou6 + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=FOU and GUE decapsulation over IPv6 + DEPENDS:= @IPV6 \ + +kmod-fou \ + +kmod-ip6-tunnel + KCONFIG:= \ + CONFIG_IPV6_FOU \ + CONFIG_IPV6_FOU_TUNNEL + FILES:=$(LINUX_DIR)/net/ipv6/fou6.ko + AUTOLOAD:=$(call AutoProbe,fou6) +endef + +define KernelPackage/fou6/description + Kernel module for FOU (Foo over UDP) and GUE (Generic UDP Encapsulation) tunnelling over IPv6. + Requires Kernel 3.18 or newer. +endef + +$(eval $(call KernelPackage,fou6)) + + +define KernelPackage/ip6-tunnel + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=IP-in-IPv6 tunnelling + DEPENDS:=@IPV6 +kmod-iptunnel6 + KCONFIG:= CONFIG_IPV6_TUNNEL + FILES:=$(LINUX_DIR)/net/ipv6/ip6_tunnel.ko + AUTOLOAD:=$(call AutoLoad,32,ip6_tunnel) +endef + +define KernelPackage/ip6-tunnel/description + Kernel modules for IPv6-in-IPv6 and IPv4-in-IPv6 tunnelling +endef + +$(eval $(call KernelPackage,ip6-tunnel)) + + +define KernelPackage/gre + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=GRE support + DEPENDS:=+kmod-iptunnel + KCONFIG:=CONFIG_NET_IPGRE CONFIG_NET_IPGRE_DEMUX + FILES:=$(LINUX_DIR)/net/ipv4/ip_gre.ko $(LINUX_DIR)/net/ipv4/gre.ko + AUTOLOAD:=$(call AutoLoad,39,gre ip_gre) +endef + +define KernelPackage/gre/description + Generic Routing Encapsulation support +endef + +$(eval $(call KernelPackage,gre)) + + +define KernelPackage/gre6 + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=GRE support over IPV6 + DEPENDS:=@IPV6 +kmod-iptunnel +kmod-ip6-tunnel +kmod-gre + KCONFIG:=CONFIG_IPV6_GRE + FILES:=$(LINUX_DIR)/net/ipv6/ip6_gre.ko + AUTOLOAD:=$(call AutoLoad,39,ip6_gre) +endef + +define KernelPackage/gre6/description + Generic Routing Encapsulation support over IPv6 +endef + +$(eval $(call KernelPackage,gre6)) + + +define KernelPackage/tun + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Universal TUN/TAP driver + KCONFIG:=CONFIG_TUN + FILES:=$(LINUX_DIR)/drivers/net/tun.ko + AUTOLOAD:=$(call AutoLoad,30,tun) +endef + +define KernelPackage/tun/description + Kernel support for the TUN/TAP tunneling device +endef + +$(eval $(call KernelPackage,tun)) + + +define KernelPackage/veth + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Virtual ethernet pair device + KCONFIG:=CONFIG_VETH + FILES:=$(LINUX_DIR)/drivers/net/veth.ko + AUTOLOAD:=$(call AutoLoad,30,veth) +endef + +define KernelPackage/veth/description + This device is a local ethernet tunnel. Devices are created in pairs. + When one end receives the packet it appears on its pair and vice + versa. +endef + +$(eval $(call KernelPackage,veth)) + + +define KernelPackage/slhc + SUBMENU:=$(NETWORK_SUPPORT_MENU) + HIDDEN:=1 + TITLE:=Serial Line Header Compression + DEPENDS:=+kmod-lib-crc-ccitt + KCONFIG:=CONFIG_SLHC + FILES:=$(LINUX_DIR)/drivers/net/slip/slhc.ko +endef + +$(eval $(call KernelPackage,slhc)) + + +define KernelPackage/ppp + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=PPP modules + DEPENDS:=+kmod-lib-crc-ccitt +kmod-slhc + KCONFIG:= \ + CONFIG_PPP \ + CONFIG_PPP_ASYNC + FILES:= \ + $(LINUX_DIR)/drivers/net/ppp/ppp_async.ko \ + $(LINUX_DIR)/drivers/net/ppp/ppp_generic.ko + AUTOLOAD:=$(call AutoProbe,ppp_async) +endef + +define KernelPackage/ppp/description + Kernel modules for PPP support +endef + +$(eval $(call KernelPackage,ppp)) + + +define KernelPackage/ppp-synctty + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=PPP sync tty support + DEPENDS:=kmod-ppp + KCONFIG:=CONFIG_PPP_SYNC_TTY + FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_synctty.ko + AUTOLOAD:=$(call AutoProbe,ppp_synctty) +endef + +define KernelPackage/ppp-synctty/description + Kernel modules for PPP sync tty support +endef + +$(eval $(call KernelPackage,ppp-synctty)) + + +define KernelPackage/pppox + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=PPPoX helper + DEPENDS:=kmod-ppp + KCONFIG:=CONFIG_PPPOE + FILES:=$(LINUX_DIR)/drivers/net/ppp/pppox.ko +endef + +define KernelPackage/pppox/description + Kernel helper module for PPPoE and PPTP support +endef + +$(eval $(call KernelPackage,pppox)) + + +define KernelPackage/pppoe + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=PPPoE support + DEPENDS:=kmod-ppp +kmod-pppox + KCONFIG:=CONFIG_PPPOE + FILES:=$(LINUX_DIR)/drivers/net/ppp/pppoe.ko + AUTOLOAD:=$(call AutoProbe,pppoe) +endef + +define KernelPackage/pppoe/description + Kernel module for PPPoE (PPP over Ethernet) support +endef + +$(eval $(call KernelPackage,pppoe)) + + +define KernelPackage/pppoa + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=PPPoA support + DEPENDS:=kmod-ppp +kmod-atm + KCONFIG:=CONFIG_PPPOATM CONFIG_ATM_DRIVERS=y + FILES:=$(LINUX_DIR)/net/atm/pppoatm.ko + AUTOLOAD:=$(call AutoLoad,40,pppoatm) +endef + +define KernelPackage/pppoa/description + Kernel modules for PPPoA (PPP over ATM) support +endef + +$(eval $(call KernelPackage,pppoa)) + + +define KernelPackage/pptp + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=PPtP support + DEPENDS:=kmod-ppp +kmod-gre +kmod-pppox + KCONFIG:=CONFIG_PPTP + FILES:=$(LINUX_DIR)/drivers/net/ppp/pptp.ko + AUTOLOAD:=$(call AutoProbe,pptp) +endef + +$(eval $(call KernelPackage,pptp)) + + +define KernelPackage/pppol2tp + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=PPPoL2TP support + DEPENDS:=kmod-ppp +kmod-pppox +kmod-l2tp + KCONFIG:=CONFIG_PPPOL2TP + FILES:=$(LINUX_DIR)/net/l2tp/l2tp_ppp.ko + AUTOLOAD:=$(call AutoProbe,l2tp_ppp) +endef + +define KernelPackage/pppol2tp/description + Kernel modules for PPPoL2TP (PPP over L2TP) support +endef + +$(eval $(call KernelPackage,pppol2tp)) + + +define KernelPackage/ipoa + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=IPoA support + DEPENDS:=kmod-atm + KCONFIG:=CONFIG_ATM_CLIP + FILES:=$(LINUX_DIR)/net/atm/clip.ko + AUTOLOAD:=$(call AutoProbe,clip) +endef + +define KernelPackage/ipoa/description + Kernel modules for IPoA (IP over ATM) support +endef + +$(eval $(call KernelPackage,ipoa)) + + +define KernelPackage/mppe + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Microsoft PPP compression/encryption + DEPENDS:=kmod-ppp +kmod-crypto-arc4 +kmod-crypto-sha1 +kmod-crypto-ecb + KCONFIG:= \ + CONFIG_PPP_MPPE_MPPC \ + CONFIG_PPP_MPPE + FILES:=$(LINUX_DIR)/drivers/net/ppp/ppp_mppe.ko + AUTOLOAD:=$(call AutoProbe,ppp_mppe) +endef + +define KernelPackage/mppe/description + Kernel modules for Microsoft PPP compression/encryption +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)) + +define KernelPackage/sched-core + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Traffic schedulers + KCONFIG:= \ + CONFIG_NET_SCHED=y \ + CONFIG_NET_SCH_HFSC \ + 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 \ + CONFIG_NET_ACT_SKBEDIT \ + CONFIG_NET_CLS_MATCHALL \ + CONFIG_NET_EMATCH=y \ + CONFIG_NET_EMATCH_U32 + FILES:=$(SCHED_FILES) + AUTOLOAD:=$(call AutoLoad,70, $(SCHED_MODULES_CORE)) +endef + +define KernelPackage/sched-core/description + Core kernel scheduler support for IP traffic +endef + +$(eval $(call KernelPackage,sched-core)) + + +define KernelPackage/sched-cake + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Cake fq_codel/blue derived shaper + DEPENDS:=@!LINUX_4_14 +kmod-sched-core + KCONFIG:=CONFIG_NET_SCH_CAKE + FILES:=$(LINUX_DIR)/net/sched/sch_cake.ko + AUTOLOAD:=$(call AutoProbe,sch_cake) +endef + +define KernelPackage/sched-cake/description + Common Applications Kept Enhanced fq_codel/blue derived shaper +endef + +$(eval $(call KernelPackage,sched-cake)) + +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-act-vlan + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Traffic VLAN manipulation + DEPENDS:=+kmod-sched-core + KCONFIG:=CONFIG_NET_ACT_VLAN + FILES:=$(LINUX_DIR)/net/sched/act_vlan.ko + AUTOLOAD:=$(call AutoProbe, act_vlan) +endef + +define KernelPackage/sched-act-vlan/description + Allows to configure rules to push or pop vlan headers. +endef + +$(eval $(call KernelPackage,sched-act-vlan)) + + +define KernelPackage/sched-mqprio + SUBMENU:=$(NETWORK_SUPPORT_MENU) + 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 + +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-connmark + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Traffic shaper conntrack mark support + DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra + KCONFIG:=CONFIG_NET_ACT_CONNMARK + FILES:=$(LINUX_DIR)/net/sched/act_connmark.ko + AUTOLOAD:=$(call AutoLoad,71, act_connmark) +endef +$(eval $(call KernelPackage,sched-connmark)) + +define KernelPackage/sched-ctinfo + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Traffic shaper ctinfo support + DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-ipt-conntrack-extra + KCONFIG:=CONFIG_NET_ACT_CTINFO + FILES:=$(LINUX_DIR)/net/sched/act_ctinfo.ko + AUTOLOAD:=$(call AutoLoad,71, act_ctinfo) +endef +$(eval $(call KernelPackage,sched-ctinfo)) + +define KernelPackage/sched-ipset + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Traffic shaper ipset support + DEPENDS:=+kmod-sched-core +kmod-ipt-ipset + KCONFIG:= \ + CONFIG_NET_EMATCH_IPSET + FILES:= \ + $(LINUX_DIR)/net/sched/em_ipset.ko + AUTOLOAD:=$(call AutoLoad,72,em_ipset) +endef + +$(eval $(call KernelPackage,sched-ipset)) + + +define KernelPackage/sched-bpf + 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) +endef + +$(eval $(call KernelPackage,sched-bpf)) + + +define KernelPackage/bpf-test + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Test Berkeley Packet Filter functionality + KCONFIG:=CONFIG_TEST_BPF + FILES:=$(LINUX_DIR)/lib/test_bpf.ko +endef + +$(eval $(call KernelPackage,bpf-test)) + + +define KernelPackage/sched + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Extra traffic schedulers + DEPENDS:=+kmod-sched-core +kmod-ipt-core +kmod-lib-crc32c + 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_CSUM \ + CONFIG_NET_EMATCH_CMP \ + CONFIG_NET_EMATCH_NBYTE \ + CONFIG_NET_EMATCH_META \ + CONFIG_NET_EMATCH_TEXT + FILES:=$(SCHED_FILES_EXTRA) + AUTOLOAD:=$(call AutoLoad,73, $(SCHED_MODULES_EXTRA)) +endef + +define KernelPackage/sched/description + Extra kernel schedulers modules for IP traffic +endef + +SCHED_TEQL_HOTPLUG:=hotplug-sched-teql.sh + +define KernelPackage/sched/install + $(INSTALL_DIR) $(1)/etc/hotplug.d/iface + $(INSTALL_DATA) ./files/$(SCHED_TEQL_HOTPLUG) $(1)/etc/hotplug.d/iface/15-teql +endef + +$(eval $(call KernelPackage,sched)) + + +define KernelPackage/tcp-bbr + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=BBR TCP congestion control + KCONFIG:=CONFIG_TCP_CONG_BBR + FILES:=$(LINUX_DIR)/net/ipv4/tcp_bbr.ko + AUTOLOAD:=$(call AutoProbe,tcp_bbr) +endef + +define KernelPackage/tcp-bbr/description + Kernel module for BBR (Bottleneck Bandwidth and RTT) TCP congestion + control. It requires the fq ("Fair Queue") pacing packet scheduler. + For kernel 4.13+, TCP internal pacing is implemented as fallback. +endef + +TCP_BBR_SYSCTL_CONF:=sysctl-tcp-bbr.conf + +define KernelPackage/tcp-bbr/install + $(INSTALL_DIR) $(1)/etc/sysctl.d + $(INSTALL_DATA) ./files/$(TCP_BBR_SYSCTL_CONF) $(1)/etc/sysctl.d/12-tcp-bbr.conf +endef + +$(eval $(call KernelPackage,tcp-bbr)) + + +define KernelPackage/tcp-hybla + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=TCP-Hybla congestion control algorithm + KCONFIG:=CONFIG_TCP_CONG_HYBLA + FILES:=$(LINUX_DIR)/net/ipv4/tcp_hybla.ko + AUTOLOAD:=$(call AutoProbe,tcp_hybla) +endef + +define KernelPackage/tcp-hybla/description + TCP-Hybla is a sender-side only change that eliminates penalization of + long-RTT, large-bandwidth connections, like when satellite legs are + involved, especially when sharing a common bottleneck with normal + terrestrial connections. +endef + +$(eval $(call KernelPackage,tcp-hybla)) + + +define KernelPackage/ax25 + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=AX25 support + DEPENDS:=+kmod-lib-crc16 + KCONFIG:= \ + CONFIG_HAMRADIO=y \ + CONFIG_AX25 \ + CONFIG_MKISS + FILES:= \ + $(LINUX_DIR)/net/ax25/ax25.ko \ + $(LINUX_DIR)/drivers/net/hamradio/mkiss.ko + AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss) +endef + +define KernelPackage/ax25/description + Kernel modules for AX25 support +endef + +$(eval $(call KernelPackage,ax25)) + + +define KernelPackage/pktgen + SUBMENU:=$(NETWORK_SUPPORT_MENU) + DEPENDS:=@!TARGET_uml + TITLE:=Network packet generator + KCONFIG:=CONFIG_NET_PKTGEN + FILES:=$(LINUX_DIR)/net/core/pktgen.ko + AUTOLOAD:=$(call AutoLoad,99,pktgen) +endef + +define KernelPackage/pktgen/description + Kernel modules for the Network Packet Generator +endef + +$(eval $(call KernelPackage,pktgen)) + +define KernelPackage/l2tp + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Layer Two Tunneling Protocol (L2TP) + DEPENDS:= \ + +kmod-udptunnel4 \ + +IPV6:kmod-udptunnel6 + KCONFIG:=CONFIG_L2TP \ + CONFIG_L2TP_V3=y \ + CONFIG_L2TP_DEBUGFS=n + FILES:=$(LINUX_DIR)/net/l2tp/l2tp_core.ko \ + $(LINUX_DIR)/net/l2tp/l2tp_netlink.ko + AUTOLOAD:=$(call AutoLoad,32,l2tp_core l2tp_netlink) +endef + +define KernelPackage/l2tp/description + Kernel modules for L2TP V3 Support +endef + +$(eval $(call KernelPackage,l2tp)) + + +define KernelPackage/l2tp-eth + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=L2TP ethernet pseudowire support for L2TPv3 + DEPENDS:=+kmod-l2tp + KCONFIG:=CONFIG_L2TP_ETH + FILES:=$(LINUX_DIR)/net/l2tp/l2tp_eth.ko + AUTOLOAD:=$(call AutoLoad,33,l2tp_eth) +endef + +define KernelPackage/l2tp-eth/description + Kernel modules for L2TP ethernet pseudowire support for L2TPv3 +endef + +$(eval $(call KernelPackage,l2tp-eth)) + +define KernelPackage/l2tp-ip + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=L2TP IP encapsulation for L2TPv3 + DEPENDS:=+kmod-l2tp + KCONFIG:=CONFIG_L2TP_IP + FILES:= \ + $(LINUX_DIR)/net/l2tp/l2tp_ip.ko \ + $(if $(CONFIG_IPV6),$(LINUX_DIR)/net/l2tp/l2tp_ip6.ko) + AUTOLOAD:=$(call AutoLoad,33,l2tp_ip $(if $(CONFIG_IPV6),l2tp_ip6)) +endef + +define KernelPackage/l2tp-ip/description + Kernel modules for L2TP IP encapsulation for L2TPv3 +endef + +$(eval $(call KernelPackage,l2tp-ip)) + + +define KernelPackage/sctp + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=SCTP protocol kernel support + KCONFIG:=\ + CONFIG_IP_SCTP \ + CONFIG_SCTP_DBG_MSG=n \ + CONFIG_SCTP_DBG_OBJCNT=n \ + CONFIG_SCTP_HMAC_NONE=n \ + CONFIG_SCTP_HMAC_SHA1=n \ + CONFIG_SCTP_HMAC_MD5=y \ + CONFIG_SCTP_COOKIE_HMAC_SHA1=n \ + CONFIG_SCTP_COOKIE_HMAC_MD5=y \ + CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE=n \ + CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=n \ + 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 +endef + +define KernelPackage/sctp/description + Kernel modules for SCTP protocol support +endef + +$(eval $(call KernelPackage,sctp)) + + +define KernelPackage/netem + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Network emulation functionality + DEPENDS:=+kmod-sched + KCONFIG:=CONFIG_NET_SCH_NETEM + FILES:=$(LINUX_DIR)/net/sched/sch_netem.ko + AUTOLOAD:=$(call AutoLoad,99,netem) +endef + +define KernelPackage/netem/description + Kernel modules for emulating the properties of wide area networks +endef + +$(eval $(call KernelPackage,netem)) + +define KernelPackage/slip + SUBMENU:=$(NETWORK_SUPPORT_MENU) + DEPENDS:=+kmod-slhc + TITLE:=SLIP modules + KCONFIG:= \ + CONFIG_SLIP \ + CONFIG_SLIP_COMPRESSED=y \ + CONFIG_SLIP_SMART=y \ + CONFIG_SLIP_MODE_SLIP6=y + + FILES:= \ + $(LINUX_DIR)/drivers/net/slip/slip.ko + AUTOLOAD:=$(call AutoLoad,30,slip) +endef + +define KernelPackage/slip/description + Kernel modules for SLIP support +endef + +$(eval $(call KernelPackage,slip)) + +define KernelPackage/dnsresolver + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=In-kernel DNS Resolver + KCONFIG:= CONFIG_DNS_RESOLVER + FILES:=$(LINUX_DIR)/net/dns_resolver/dns_resolver.ko + AUTOLOAD:=$(call AutoLoad,30,dns_resolver) +endef + +$(eval $(call KernelPackage,dnsresolver)) + +define KernelPackage/rxrpc + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=AF_RXRPC support + HIDDEN:=1 + KCONFIG:= \ + CONFIG_AF_RXRPC \ + CONFIG_RXKAD=m \ + CONFIG_AF_RXRPC_DEBUG=n + FILES:= \ + $(LINUX_DIR)/net/rxrpc/rxrpc.ko + AUTOLOAD:=$(call AutoLoad,30,rxrpc.ko) + DEPENDS:= +kmod-crypto-manager +kmod-crypto-pcbc +kmod-crypto-fcrypt +endef + +define KernelPackage/rxrpc/description + Kernel support for AF_RXRPC; required for AFS client +endef + +$(eval $(call KernelPackage,rxrpc)) + +define KernelPackage/mpls + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=MPLS support + DEPENDS:=+!LINUX_4_14:kmod-iptunnel + KCONFIG:= \ + CONFIG_MPLS=y \ + CONFIG_LWTUNNEL=y \ + CONFIG_LWTUNNEL_BPF=n \ + CONFIG_NET_MPLS_GSO=m \ + CONFIG_MPLS_ROUTING=m \ + CONFIG_MPLS_IPTUNNEL=m + FILES:= \ + $(LINUX_DIR)/net/mpls/mpls_gso.ko \ + $(LINUX_DIR)/net/mpls/mpls_iptunnel.ko \ + $(LINUX_DIR)/net/mpls/mpls_router.ko + AUTOLOAD:=$(call AutoLoad,30,mpls_router mpls_iptunnel mpls_gso) +endef + +define KernelPackage/mpls/description + Kernel support for MPLS +endef + +$(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 + FILES:= \ + $(LINUX_DIR)/net/9p/9pnet.ko \ + $(LINUX_DIR)/net/9p/9pnet_virtio.ko + AUTOLOAD:=$(call AutoLoad,29,9pnet 9pnet_virtio) +endef + +define KernelPackage/9pnet/description + Kernel support support for + Plan 9 resource sharing via the 9P2000 protocol. +endef + +$(eval $(call KernelPackage,9pnet)) + + +define KernelPackage/nlmon + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Virtual netlink monitoring device + KCONFIG:=CONFIG_NLMON + FILES:=$(LINUX_DIR)/drivers/net/nlmon.ko + AUTOLOAD:=$(call AutoProbe,nlmon) +endef + +define KernelPackage/nlmon/description + Kernel module which adds a monitoring device for netlink. +endef + +$(eval $(call KernelPackage,nlmon)) + + +define KernelPackage/mdio + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=MDIO (clause 45) PHY support + KCONFIG:=CONFIG_MDIO + HIDDEN:=1 + FILES:=$(LINUX_DIR)/drivers/net/mdio.ko + AUTOLOAD:=$(call AutoLoad,32,mdio) +endef + +define KernelPackage/mdio/description + Kernel modules for MDIO (clause 45) PHY support +endef + +$(eval $(call KernelPackage,mdio)) + +define KernelPackage/macsec + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=IEEE 802.1AE MAC-level encryption (MAC) + DEPENDS:=+kmod-crypto-gcm + KCONFIG:=CONFIG_MACSEC + FILES:=$(LINUX_DIR)/drivers/net/macsec.ko + AUTOLOAD:=$(call AutoLoad,13,macsec) +endef + +define KernelPackage/macsec/description + MACsec is an encryption standard for Ethernet. +endef + +$(eval $(call KernelPackage,macsec)) + + +define KernelPackage/netlink-diag + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=Netlink diag support for ss utility + KCONFIG:=CONFIG_NETLINK_DIAG + FILES:=$(LINUX_DIR)/net/netlink/netlink_diag.ko + AUTOLOAD:=$(call AutoLoad,31,netlink-diag) +endef + +define KernelPackage/netlink-diag/description + Netlink diag is a module made for use with iproute2's ss utility +endef + +$(eval $(call KernelPackage,netlink-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 \ + +IPV6:kmod-udptunnel6 + KCONFIG:= \ + CONFIG_WIREGUARD \ + CONFIG_WIREGUARD_DEBUG=n + FILES:=$(LINUX_DIR)/drivers/net/wireguard/wireguard.ko + AUTOLOAD:=$(call AutoProbe,wireguard) +endef + +define KernelPackage/wireguard/description + WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes + state-of-the-art cryptography. It aims to be faster, simpler, leaner, and + more useful than IPSec, while avoiding the massive headache. It intends to + be considerably more performant than OpenVPN. WireGuard is designed as a + general purpose VPN for running on embedded interfaces and super computers + alike, fit for many different circumstances. It uses UDP. +endef + +$(eval $(call KernelPackage,wireguard)) diff --git a/feeds/ipq807x/linux/modules/nls.mk b/feeds/ipq807x/linux/modules/nls.mk new file mode 100644 index 000000000..05fce27bb --- /dev/null +++ b/feeds/ipq807x/linux/modules/nls.mk @@ -0,0 +1,339 @@ +# +# Copyright (C) 2006-2011 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +define KernelPackage/nls-base + SUBMENU:=Native Language Support + TITLE:=Native Language Support + KCONFIG:=CONFIG_NLS + FILES:=$(LINUX_DIR)/fs/nls/nls_base.ko +endef + +define KernelPackage/nls-base/description + Kernel module for NLS (Native Language Support) +endef + +$(eval $(call KernelPackage,nls-base)) + + +define KernelPackage/nls-cp437 + SUBMENU:=Native Language Support + TITLE:=Codepage 437 (United States, Canada) + KCONFIG:=CONFIG_NLS_CODEPAGE_437 + FILES:=$(LINUX_DIR)/fs/nls/nls_cp437.ko + AUTOLOAD:=$(call AutoLoad,25,nls_cp437) + $(call AddDepends/nls) +endef + +define KernelPackage/nls-cp437/description + Kernel module for NLS Codepage 437 (United States, Canada) +endef + +$(eval $(call KernelPackage,nls-cp437)) + + +define KernelPackage/nls-cp775 + SUBMENU:=Native Language Support + TITLE:=Codepage 775 (Baltic Rim) + KCONFIG:=CONFIG_NLS_CODEPAGE_775 + FILES:=$(LINUX_DIR)/fs/nls/nls_cp775.ko + AUTOLOAD:=$(call AutoLoad,25,nls_cp775) + $(call AddDepends/nls) +endef + +define KernelPackage/nls-cp775/description + Kernel module for NLS Codepage 775 (Baltic Rim) +endef + +$(eval $(call KernelPackage,nls-cp775)) + + +define KernelPackage/nls-cp850 + SUBMENU:=Native Language Support + TITLE:=Codepage 850 (Europe) + KCONFIG:=CONFIG_NLS_CODEPAGE_850 + FILES:=$(LINUX_DIR)/fs/nls/nls_cp850.ko + AUTOLOAD:=$(call AutoLoad,25,nls_cp850) + $(call AddDepends/nls) +endef + +define KernelPackage/nls-cp850/description + Kernel module for NLS Codepage 850 (Europe) +endef + +$(eval $(call KernelPackage,nls-cp850)) + + +define KernelPackage/nls-cp852 + SUBMENU:=Native Language Support + TITLE:=Codepage 852 (Europe) + KCONFIG:=CONFIG_NLS_CODEPAGE_852 + FILES:=$(LINUX_DIR)/fs/nls/nls_cp852.ko + AUTOLOAD:=$(call AutoLoad,25,nls_cp852) + $(call AddDepends/nls) +endef + +define KernelPackage/nls-cp852/description + Kernel module for NLS Codepage 852 (Europe) +endef + +$(eval $(call KernelPackage,nls-cp852)) + + +define KernelPackage/nls-cp862 + SUBMENU:=Native Language Support + TITLE:=Codepage 862 (Hebrew) + KCONFIG:=CONFIG_NLS_CODEPAGE_862 + FILES:=$(LINUX_DIR)/fs/nls/nls_cp862.ko + AUTOLOAD:=$(call AutoLoad,25,nls_cp862) + $(call AddDepends/nls) +endef + +define KernelPackage/nls-cp862/description + Kernel module for NLS Codepage 862 (Hebrew) +endef + +$(eval $(call KernelPackage,nls-cp862)) + + +define KernelPackage/nls-cp864 + SUBMENU:=Native Language Support + TITLE:=Codepage 864 (Arabic) + KCONFIG:=CONFIG_NLS_CODEPAGE_864 + FILES:=$(LINUX_DIR)/fs/nls/nls_cp864.ko + AUTOLOAD:=$(call AutoLoad,25,nls_cp864) + $(call AddDepends/nls) +endef + +define KernelPackage/nls-cp864/description + Kernel module for NLS Codepage 864 (Arabic) +endef + +$(eval $(call KernelPackage,nls-cp864)) + + +define KernelPackage/nls-cp866 + SUBMENU:=Native Language Support + TITLE:=Codepage 866 (Cyrillic) + KCONFIG:=CONFIG_NLS_CODEPAGE_866 + FILES:=$(LINUX_DIR)/fs/nls/nls_cp866.ko + AUTOLOAD:=$(call AutoLoad,25,nls_cp866) + $(call AddDepends/nls) +endef + +define KernelPackage/nls-cp866/description + Kernel module for NLS Codepage 866 (Cyrillic) +endef + +$(eval $(call KernelPackage,nls-cp866)) + + +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) + $(call AddDepends/nls) +endef + +define KernelPackage/nls-cp932/description + Kernel module for NLS Codepage 932 (Japanese) +endef + +$(eval $(call KernelPackage,nls-cp932)) + + +define KernelPackage/nls-cp936 + SUBMENU:=Native Language Support + TITLE:=Codepage 936 (Simplified Chinese) + KCONFIG:=CONFIG_NLS_CODEPAGE_936 + FILES:=$(LINUX_DIR)/fs/nls/nls_cp936.ko + AUTOLOAD:=$(call AutoLoad,25,nls_cp936) + $(call AddDepends/nls) +endef + +define KernelPackage/nls-cp936/description + Kernel module for NLS Codepage 936 (Simplified Chinese) +endef + +$(eval $(call KernelPackage,nls-cp936)) + + +define KernelPackage/nls-cp950 + SUBMENU:=Native Language Support + TITLE:=Codepage 950 (Traditional Chinese) + KCONFIG:=CONFIG_NLS_CODEPAGE_950 + FILES:=$(LINUX_DIR)/fs/nls/nls_cp950.ko + AUTOLOAD:=$(call AutoLoad,25,nls_cp950) + $(call AddDepends/nls) +endef + +define KernelPackage/nls-cp950/description + Kernel module for NLS Codepage 950 (Traditional Chinese) +endef + +$(eval $(call KernelPackage,nls-cp950)) + + +define KernelPackage/nls-cp1250 + SUBMENU:=Native Language Support + TITLE:=Codepage 1250 (Eastern Europe) + KCONFIG:=CONFIG_NLS_CODEPAGE_1250 + FILES:=$(LINUX_DIR)/fs/nls/nls_cp1250.ko + AUTOLOAD:=$(call AutoLoad,25,nls_cp1250) + $(call AddDepends/nls) +endef + +define KernelPackage/nls-cp1250/description + Kernel module for NLS Codepage 1250 (Eastern Europe) +endef + +$(eval $(call KernelPackage,nls-cp1250)) + + +define KernelPackage/nls-cp1251 + SUBMENU:=Native Language Support + TITLE:=Codepage 1251 (Russian) + KCONFIG:=CONFIG_NLS_CODEPAGE_1251 + FILES:=$(LINUX_DIR)/fs/nls/nls_cp1251.ko + AUTOLOAD:=$(call AutoLoad,25,nls_cp1251) + $(call AddDepends/nls) +endef + +define KernelPackage/nls-cp1251/description + Kernel module for NLS Codepage 1251 (Russian) +endef + +$(eval $(call KernelPackage,nls-cp1251)) + + +define KernelPackage/nls-iso8859-1 + SUBMENU:=Native Language Support + TITLE:=ISO 8859-1 (Latin 1; Western European Languages) + KCONFIG:=CONFIG_NLS_ISO8859_1 + FILES:=$(LINUX_DIR)/fs/nls/nls_iso8859-1.ko + AUTOLOAD:=$(call AutoLoad,25,nls_iso8859-1) + $(call AddDepends/nls) +endef + +define KernelPackage/nls-iso8859-1/description + Kernel module for NLS ISO 8859-1 (Latin 1) +endef + +$(eval $(call KernelPackage,nls-iso8859-1)) + + +define KernelPackage/nls-iso8859-2 + SUBMENU:=Native Language Support + TITLE:=ISO 8859-2 (Latin 2; Central European Languages) + KCONFIG:=CONFIG_NLS_ISO8859_2 + FILES:=$(LINUX_DIR)/fs/nls/nls_iso8859-2.ko + AUTOLOAD:=$(call AutoLoad,25,nls_iso8859-2) + $(call AddDepends/nls) +endef + +define KernelPackage/nls-iso8859-2/description + Kernel module for NLS ISO 8859-2 (Latin 2) +endef + +$(eval $(call KernelPackage,nls-iso8859-2)) + + +define KernelPackage/nls-iso8859-6 + SUBMENU:=Native Language Support + TITLE:=ISO 8859-6 (Arabic) + KCONFIG:=CONFIG_NLS_ISO8859_6 + FILES:=$(LINUX_DIR)/fs/nls/nls_iso8859-6.ko + AUTOLOAD:=$(call AutoLoad,25,nls_iso8859-6) + $(call AddDepends/nls) +endef + +define KernelPackage/nls-iso8859-6/description + Kernel module for NLS ISO 8859-6 (Arabic) +endef + +$(eval $(call KernelPackage,nls-iso8859-6)) + + +define KernelPackage/nls-iso8859-8 + SUBMENU:=Native Language Support + TITLE:=ISO 8859-8, CP1255 (Hebrew) + KCONFIG:=CONFIG_NLS_ISO8859_8 + FILES:=$(LINUX_DIR)/fs/nls/nls_cp1255.ko + AUTOLOAD:=$(call AutoLoad,25,nls_cp1255) + $(call AddDepends/nls) +endef + +define KernelPackage/nls-iso8859-8/description + Kernel module for Hebrew charsets (ISO-8859-8, CP1255) +endef + +$(eval $(call KernelPackage,nls-iso8859-8)) + + +define KernelPackage/nls-iso8859-13 + SUBMENU:=Native Language Support + TITLE:=ISO 8859-13 (Latin 7; Baltic) + KCONFIG:=CONFIG_NLS_ISO8859_13 + FILES:=$(LINUX_DIR)/fs/nls/nls_iso8859-13.ko + AUTOLOAD:=$(call AutoLoad,25,nls_iso8859-13) + $(call AddDepends/nls) +endef + +define KernelPackage/nls-iso8859-13/description + Kernel module for NLS ISO 8859-13 (Latin 7; Baltic) +endef + +$(eval $(call KernelPackage,nls-iso8859-13)) + + +define KernelPackage/nls-iso8859-15 + SUBMENU:=Native Language Support + TITLE:=ISO 8859-15 (Latin 9; Western, with Euro symbol) + KCONFIG:=CONFIG_NLS_ISO8859_15 + FILES:=$(LINUX_DIR)/fs/nls/nls_iso8859-15.ko + AUTOLOAD:=$(call AutoLoad,25,nls_iso8859-15) + $(call AddDepends/nls) +endef + +define KernelPackage/nls-iso8859-15/description + Kernel module for NLS ISO 8859-15 (Latin 9) +endef + +$(eval $(call KernelPackage,nls-iso8859-15)) + + +define KernelPackage/nls-koi8r + SUBMENU:=Native Language Support + TITLE:=KOI8-R (Russian) + KCONFIG:=CONFIG_NLS_KOI8_R + FILES:=$(LINUX_DIR)/fs/nls/nls_koi8-r.ko + AUTOLOAD:=$(call AutoLoad,25,nls_koi8-r) + $(call AddDepends/nls) +endef + +define KernelPackage/nls-koi8r/description + Kernel module for NLS KOI8-R (Russian) +endef + +$(eval $(call KernelPackage,nls-koi8r)) + + +define KernelPackage/nls-utf8 + SUBMENU:=Native Language Support + TITLE:=UTF-8 + KCONFIG:=CONFIG_NLS_UTF8 + FILES:=$(LINUX_DIR)/fs/nls/nls_utf8.ko + AUTOLOAD:=$(call AutoLoad,25,nls_utf8) + $(call AddDepends/nls) +endef + +define KernelPackage/nls-utf8/description + Kernel module for NLS UTF-8 +endef + +$(eval $(call KernelPackage,nls-utf8)) diff --git a/feeds/ipq807x/linux/modules/other.mk b/feeds/ipq807x/linux/modules/other.mk new file mode 100644 index 000000000..784adcb74 --- /dev/null +++ b/feeds/ipq807x/linux/modules/other.mk @@ -0,0 +1,1305 @@ +# +# Copyright (C) 2006-2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +OTHER_MENU:=Other modules + +WATCHDOG_DIR:=watchdog + + +define KernelPackage/6lowpan + SUBMENU:=$(OTHER_MENU) + TITLE:=6LoWPAN shared code + KCONFIG:= \ + CONFIG_6LOWPAN \ + CONFIG_6LOWPAN_NHC=n + FILES:=$(LINUX_DIR)/net/6lowpan/6lowpan.ko + AUTOLOAD:=$(call AutoProbe,6lowpan) +endef + +define KernelPackage/6lowpan/description + Shared 6lowpan code for IEEE 802.15.4 and Bluetooth. +endef + +$(eval $(call KernelPackage,6lowpan)) + + +define KernelPackage/bluetooth + SUBMENU:=$(OTHER_MENU) + TITLE:=Bluetooth support + DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-crypto-hash +kmod-crypto-ecb +kmod-lib-crc16 +kmod-hid +kmod-crypto-cmac +kmod-regmap-core +kmod-crypto-ecdh + KCONFIG:= \ + CONFIG_BT \ + CONFIG_BT_BREDR=y \ + CONFIG_BT_DEBUGFS=n \ + CONFIG_BT_LE=y \ + CONFIG_BT_RFCOMM \ + CONFIG_BT_BNEP \ + CONFIG_BT_HCIBTUSB \ + CONFIG_BT_HCIBTUSB_BCM=n \ + CONFIG_BT_HCIUART \ + CONFIG_BT_HCIUART_BCM=n \ + CONFIG_BT_HCIUART_INTEL=n \ + CONFIG_BT_HCIUART_H4 \ + CONFIG_BT_HCIUART_NOKIA=n \ + CONFIG_BT_HIDP + $(call AddDepends/rfkill) + FILES:= \ + $(LINUX_DIR)/net/bluetooth/bluetooth.ko \ + $(LINUX_DIR)/net/bluetooth/rfcomm/rfcomm.ko \ + $(LINUX_DIR)/net/bluetooth/bnep/bnep.ko \ + $(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 + AUTOLOAD:=$(call AutoProbe,bluetooth rfcomm bnep hidp hci_uart btusb) +endef + +define KernelPackage/bluetooth/description + Kernel support for Bluetooth devices +endef + +$(eval $(call KernelPackage,bluetooth)) + +define KernelPackage/ath3k + SUBMENU:=$(OTHER_MENU) + TITLE:=ATH3K Kernel Module support + DEPENDS:=+kmod-bluetooth +ar3k-firmware + KCONFIG:= \ + CONFIG_BT_ATH3K \ + CONFIG_BT_HCIUART_ATH3K=y + $(call AddDepends/bluetooth) + FILES:= \ + $(LINUX_DIR)/drivers/bluetooth/ath3k.ko + AUTOLOAD:=$(call AutoProbe,ath3k) +endef + +define KernelPackage/ath3k/description + Kernel support for ATH3K Module +endef + +$(eval $(call KernelPackage,ath3k)) + + +define KernelPackage/bluetooth-6lowpan + SUBMENU:=$(OTHER_MENU) + TITLE:=Bluetooth 6LoWPAN support + DEPENDS:=+kmod-6lowpan +kmod-bluetooth + KCONFIG:=CONFIG_BT_6LOWPAN + FILES:=$(LINUX_DIR)/net/bluetooth/bluetooth_6lowpan.ko + AUTOLOAD:=$(call AutoProbe,bluetooth_6lowpan) +endef + +define KernelPackage/bluetooth-6lowpan/description + Kernel support for 6LoWPAN over Bluetooth Low Energy devices +endef + +$(eval $(call KernelPackage,bluetooth-6lowpan)) + + +define KernelPackage/btmrvl + SUBMENU:=$(OTHER_MENU) + TITLE:=Marvell Bluetooth Kernel Module support + DEPENDS:=+kmod-mmc +kmod-bluetooth +mwifiex-sdio-firmware + 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 + AUTOLOAD:=$(call AutoProbe,btmrvl btmrvl_sdio) +endef + +define KernelPackage/btmrvl/description + Kernel support for Marvell SDIO Bluetooth Module +endef + +$(eval $(call KernelPackage,btmrvl)) + + +define KernelPackage/dma-buf + SUBMENU:=$(OTHER_MENU) + TITLE:=DMA shared buffer support + HIDDEN:=1 + KCONFIG:=CONFIG_DMA_SHARED_BUFFER + ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"") + ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"") + FILES:=$(LINUX_DIR)/drivers/dma-buf/dma-shared-buffer.ko + endif + endif + AUTOLOAD:=$(call AutoLoad,20,dma-shared-buffer) +endef +$(eval $(call KernelPackage,dma-buf)) + + +define KernelPackage/eeprom-93cx6 + SUBMENU:=$(OTHER_MENU) + TITLE:=EEPROM 93CX6 support + KCONFIG:=CONFIG_EEPROM_93CX6 + FILES:=$(LINUX_DIR)/drivers/misc/eeprom/eeprom_93cx6.ko + AUTOLOAD:=$(call AutoLoad,20,eeprom_93cx6) +endef + +define KernelPackage/eeprom-93cx6/description + Kernel module for EEPROM 93CX6 support +endef + +$(eval $(call KernelPackage,eeprom-93cx6)) + + +define KernelPackage/eeprom-at24 + SUBMENU:=$(OTHER_MENU) + TITLE:=EEPROM AT24 support + KCONFIG:=CONFIG_EEPROM_AT24 + DEPENDS:=+kmod-i2c-core +kmod-regmap-i2c + FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at24.ko + AUTOLOAD:=$(call AutoProbe,at24) +endef + +define KernelPackage/eeprom-at24/description + Kernel module for most I2C EEPROMs +endef + +$(eval $(call KernelPackage,eeprom-at24)) + + +define KernelPackage/eeprom-at25 + SUBMENU:=$(OTHER_MENU) + TITLE:=EEPROM AT25 support + KCONFIG:=CONFIG_EEPROM_AT25 + FILES:=$(LINUX_DIR)/drivers/misc/eeprom/at25.ko + AUTOLOAD:=$(call AutoProbe,at25) +endef + +define KernelPackage/eeprom-at25/description + Kernel module for most SPI EEPROMs +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 + SUBMENU:=$(OTHER_MENU) + TITLE:=Microchip MCP23xxx I/O expander + DEPENDS:=@GPIO_SUPPORT +kmod-i2c-core +kmod-regmap-i2c + KCONFIG:= \ + CONFIG_GPIO_MCP23S08 \ + CONFIG_PINCTRL_MCP23S08 + FILES:= \ + $(LINUX_DIR)/drivers/pinctrl/pinctrl-mcp23s08.ko + AUTOLOAD:=$(call AutoLoad,40,pinctrl-mcp23s08) +endef + +define KernelPackage/gpio-mcp23s08/description + Kernel module for Microchip MCP23xxx SPI/I2C I/O expander +endef + +$(eval $(call KernelPackage,gpio-mcp23s08)) + + +define KernelPackage/gpio-nxp-74hc164 + 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 +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) +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:=$(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) +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)) + + +define KernelPackage/gpio-it87 + 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) +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-amd-fch + 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) +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/ppdev + SUBMENU:=$(OTHER_MENU) + TITLE:=Parallel port support + KCONFIG:= \ + CONFIG_PARPORT \ + CONFIG_PPDEV + FILES:= \ + $(LINUX_DIR)/drivers/parport/parport.ko \ + $(LINUX_DIR)/drivers/char/ppdev.ko + AUTOLOAD:=$(call AutoLoad,50,parport ppdev) +endef + +$(eval $(call KernelPackage,ppdev)) + + +define KernelPackage/parport-pc + SUBMENU:=$(OTHER_MENU) + TITLE:=Parallel port interface (PC-style) support + DEPENDS:=+kmod-ppdev + KCONFIG:= \ + CONFIG_KS0108=n \ + CONFIG_PARPORT_PC \ + CONFIG_PARPORT_1284=y \ + CONFIG_PARPORT_PC_FIFO=y \ + CONFIG_PARPORT_PC_PCMCIA=n \ + CONFIG_PARPORT_PC_SUPERIO=y \ + CONFIG_PARPORT_SERIAL=n \ + CONFIG_PARIDE=n \ + CONFIG_SCSI_IMM=n \ + CONFIG_SCSI_PPA=n + FILES:= \ + $(LINUX_DIR)/drivers/parport/parport_pc.ko + AUTOLOAD:=$(call AutoLoad,51,parport_pc) +endef + +$(eval $(call KernelPackage,parport-pc)) + + +define KernelPackage/lp + SUBMENU:=$(OTHER_MENU) + TITLE:=Parallel port line printer device support + DEPENDS:=+kmod-ppdev + KCONFIG:= \ + CONFIG_PRINTER + FILES:= \ + $(LINUX_DIR)/drivers/char/lp.ko + AUTOLOAD:=$(call AutoLoad,52,lp) +endef + +$(eval $(call KernelPackage,lp)) + + +define KernelPackage/mmc + SUBMENU:=$(OTHER_MENU) + TITLE:=MMC/SD Card Support + DEPENDS:=@!TARGET_uml + KCONFIG:= \ + CONFIG_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 + FILES:= \ + $(LINUX_DIR)/drivers/mmc/core/mmc_core.ko \ + $(LINUX_DIR)/drivers/mmc/core/mmc_block.ko + AUTOLOAD:=$(call AutoProbe,mmc_core mmc_block,1) +endef + +define KernelPackage/mmc/description + Kernel support for MMC/SD cards +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 + DEPENDS:=+kmod-mmc + KCONFIG:= \ + CONFIG_MMC_SDHCI \ + CONFIG_MMC_SDHCI_PLTFM \ + CONFIG_MMC_SDHCI_PCI=n + FILES:= \ + $(LINUX_DIR)/drivers/mmc/host/sdhci.ko \ + $(LINUX_DIR)/drivers/mmc/host/sdhci-pltfm.ko + + AUTOLOAD:=$(call AutoProbe,sdhci-pltfm,1) +endef + +define KernelPackage/sdhci/description + Kernel support for SDHCI Hosts +endef + +$(eval $(call KernelPackage,sdhci)) + + +define KernelPackage/rfkill + SUBMENU:=$(OTHER_MENU) + TITLE:=RF switch subsystem support + DEPENDS:=@USE_RFKILL +kmod-input-core + KCONFIG:= \ + CONFIG_RFKILL_FULL \ + CONFIG_RFKILL_INPUT=y \ + CONFIG_RFKILL_LEDS=y + FILES:= \ + $(LINUX_DIR)/net/rfkill/rfkill.ko + AUTOLOAD:=$(call AutoLoad,20,rfkill) +endef + +define KernelPackage/rfkill/description + Say Y here if you want to have control over RF switches + found on many WiFi and Bluetooth cards +endef + +$(eval $(call KernelPackage,rfkill)) + + +define KernelPackage/softdog + SUBMENU:=$(OTHER_MENU) + TITLE:=Software watchdog driver + KCONFIG:=CONFIG_SOFT_WATCHDOG \ + CONFIG_SOFT_WATCHDOG_PRETIMEOUT=n + FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/softdog.ko + AUTOLOAD:=$(call AutoLoad,50,softdog,1) +endef + +define KernelPackage/softdog/description + Software watchdog driver +endef + +$(eval $(call KernelPackage,softdog)) + + +define KernelPackage/ssb + SUBMENU:=$(OTHER_MENU) + TITLE:=Silicon Sonics Backplane glue code + DEPENDS:=@PCI_SUPPORT @!TARGET_bcm47xx @!TARGET_bcm63xx + KCONFIG:=\ + CONFIG_SSB \ + CONFIG_SSB_B43_PCI_BRIDGE=y \ + CONFIG_SSB_DRIVER_MIPS=n \ + CONFIG_SSB_DRIVER_PCICORE=y \ + CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y \ + CONFIG_SSB_PCIHOST=y \ + CONFIG_SSB_PCIHOST_POSSIBLE=y \ + CONFIG_SSB_POSSIBLE=y \ + CONFIG_SSB_SPROM=y \ + CONFIG_SSB_SILENT=y + FILES:=$(LINUX_DIR)/drivers/ssb/ssb.ko + AUTOLOAD:=$(call AutoLoad,18,ssb,1) +endef + +define KernelPackage/ssb/description + Silicon Sonics Backplane glue code. +endef + +$(eval $(call KernelPackage,ssb)) + + +define KernelPackage/bcma + SUBMENU:=$(OTHER_MENU) + TITLE:=BCMA support + DEPENDS:=@PCI_SUPPORT @!TARGET_bcm47xx @!TARGET_bcm53xx + KCONFIG:=\ + CONFIG_BCMA \ + CONFIG_BCMA_POSSIBLE=y \ + CONFIG_BCMA_BLOCKIO=y \ + CONFIG_BCMA_HOST_PCI_POSSIBLE=y \ + CONFIG_BCMA_HOST_PCI=y \ + CONFIG_BCMA_HOST_SOC=n \ + CONFIG_BCMA_DRIVER_MIPS=n \ + CONFIG_BCMA_DRIVER_PCI_HOSTMODE=n \ + CONFIG_BCMA_DRIVER_GMAC_CMN=n \ + CONFIG_BCMA_DEBUG=n + FILES:=$(LINUX_DIR)/drivers/bcma/bcma.ko + AUTOLOAD:=$(call AutoLoad,29,bcma) +endef + +define KernelPackage/bcma/description + Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture +endef + +$(eval $(call KernelPackage,bcma)) + + +define KernelPackage/rtc-ds1307 + SUBMENU:=$(OTHER_MENU) + TITLE:=Dallas/Maxim DS1307 (and compatible) RTC support + DEFAULT:=m if ALL_KMODS && RTC_SUPPORT + DEPENDS:=+kmod-i2c-core +kmod-regmap-i2c +kmod-hwmon-core + KCONFIG:=CONFIG_RTC_DRV_DS1307 \ + CONFIG_RTC_CLASS=y + FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1307.ko + AUTOLOAD:=$(call AutoProbe,rtc-ds1307) +endef + +define KernelPackage/rtc-ds1307/description + Kernel module for Dallas/Maxim DS1307/DS1337/DS1338/DS1340/DS1388/DS3231, + Epson RX-8025 and various other compatible RTC chips connected via I2C. +endef + +$(eval $(call KernelPackage,rtc-ds1307)) + + +define KernelPackage/rtc-ds1374 + SUBMENU:=$(OTHER_MENU) + TITLE:=Dallas/Maxim DS1374 RTC support + DEFAULT:=m if ALL_KMODS && RTC_SUPPORT + DEPENDS:=+kmod-i2c-core + KCONFIG:=CONFIG_RTC_DRV_DS1374 \ + CONFIG_RTC_DRV_DS1374_WDT=n \ + CONFIG_RTC_CLASS=y + FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1374.ko + AUTOLOAD:=$(call AutoProbe,rtc-ds1374) +endef + +define KernelPackage/rtc-ds1374/description + Kernel module for Dallas/Maxim DS1374. +endef + +$(eval $(call KernelPackage,rtc-ds1374)) + + +define KernelPackage/rtc-ds1672 + SUBMENU:=$(OTHER_MENU) + TITLE:=Dallas/Maxim DS1672 RTC support + DEFAULT:=m if ALL_KMODS && RTC_SUPPORT + DEPENDS:=+kmod-i2c-core + KCONFIG:=CONFIG_RTC_DRV_DS1672 \ + CONFIG_RTC_CLASS=y + FILES:=$(LINUX_DIR)/drivers/rtc/rtc-ds1672.ko + AUTOLOAD:=$(call AutoProbe,rtc-ds1672) +endef + +define KernelPackage/rtc-ds1672/description + Kernel module for Dallas/Maxim DS1672 RTC. +endef + +$(eval $(call KernelPackage,rtc-ds1672)) + + +define KernelPackage/rtc-em3027 + SUBMENU:=$(OTHER_MENU) + TITLE:=Microelectronic EM3027 RTC support + DEFAULT:=m if ALL_KMODS && RTC_SUPPORT + DEPENDS:=+kmod-i2c-core + KCONFIG:=CONFIG_RTC_DRV_EM3027 \ + CONFIG_RTC_CLASS=y + FILES:=$(LINUX_DIR)/drivers/rtc/rtc-em3027.ko + AUTOLOAD:=$(call AutoProbe,rtc-em3027) +endef + +define KernelPackage/rtc-em3027/description + Kernel module for Microelectronic EM3027 RTC. +endef + +$(eval $(call KernelPackage,rtc-em3027)) + + +define KernelPackage/rtc-isl1208 + SUBMENU:=$(OTHER_MENU) + TITLE:=Intersil ISL1208 RTC support + DEFAULT:=m if ALL_KMODS && RTC_SUPPORT + DEPENDS:=+kmod-i2c-core + KCONFIG:=CONFIG_RTC_DRV_ISL1208 \ + CONFIG_RTC_CLASS=y + FILES:=$(LINUX_DIR)/drivers/rtc/rtc-isl1208.ko + AUTOLOAD:=$(call AutoProbe,rtc-isl1208) +endef + +define KernelPackage/rtc-isl1208/description + Kernel module for Intersil ISL1208 RTC. +endef + +$(eval $(call KernelPackage,rtc-isl1208)) + + +define KernelPackage/rtc-pcf8563 + SUBMENU:=$(OTHER_MENU) + TITLE:=Philips PCF8563/Epson RTC8564 RTC support + DEFAULT:=m if ALL_KMODS && RTC_SUPPORT + DEPENDS:=+kmod-i2c-core + KCONFIG:=CONFIG_RTC_DRV_PCF8563 \ + CONFIG_RTC_CLASS=y + FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf8563.ko + AUTOLOAD:=$(call AutoProbe,rtc-pcf8563) +endef + +define KernelPackage/rtc-pcf8563/description + Kernel module for Philips PCF8563 RTC chip. + The Epson RTC8564 should work as well. +endef + +$(eval $(call KernelPackage,rtc-pcf8563)) + + +define KernelPackage/rtc-pcf2123 + SUBMENU:=$(OTHER_MENU) + TITLE:=Philips PCF2123 RTC support + DEFAULT:=m if ALL_KMODS && RTC_SUPPORT + DEPENDS:=+kmod-regmap-spi + KCONFIG:=CONFIG_RTC_DRV_PCF2123 \ + CONFIG_RTC_CLASS=y + FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2123.ko + AUTOLOAD:=$(call AutoProbe,rtc-pcf2123) +endef + +define KernelPackage/rtc-pcf2123/description + Kernel module for Philips PCF2123 RTC chip +endef + +$(eval $(call KernelPackage,rtc-pcf2123)) + +define KernelPackage/rtc-pcf2127 + SUBMENU:=$(OTHER_MENU) + TITLE:=NXP PCF2127 and PCF2129 RTC support + DEFAULT:=m if ALL_KMODS && RTC_SUPPORT + DEPENDS:=+kmod-i2c-core +kmod-regmap-spi + KCONFIG:=CONFIG_RTC_DRV_PCF2127 \ + CONFIG_RTC_CLASS=y + FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pcf2127.ko + AUTOLOAD:=$(call AutoProbe,rtc-pcf2127) +endef + +define KernelPackage/rtc-pcf2127/description + Kernel module for NXP PCF2127 and PCF2129 RTC chip +endef + +$(eval $(call KernelPackage,rtc-pcf2127)) + +define KernelPackage/rtc-pt7c4338 + SUBMENU:=$(OTHER_MENU) + TITLE:=Pericom PT7C4338 RTC support + DEFAULT:=m if ALL_KMODS && RTC_SUPPORT + DEPENDS:=+kmod-i2c-core + KCONFIG:=CONFIG_RTC_DRV_PT7C4338 \ + CONFIG_RTC_CLASS=y + FILES:=$(LINUX_DIR)/drivers/rtc/rtc-pt7c4338.ko + AUTOLOAD:=$(call AutoProbe,rtc-pt7c4338) +endef + +define KernelPackage/rtc-pt7c4338/description + Kernel module for Pericom PT7C4338 i2c RTC chip +endef + +$(eval $(call KernelPackage,rtc-pt7c4338)) + +define KernelPackage/rtc-rs5c372a + SUBMENU:=$(OTHER_MENU) + TITLE:=Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A + DEFAULT:=m if ALL_KMODS && RTC_SUPPORT + DEPENDS:=+kmod-i2c-core + KCONFIG:=CONFIG_RTC_DRV_RS5C372 \ + CONFIG_RTC_CLASS=y + FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rs5c372.ko + AUTOLOAD:=$(call AutoLoad,50,rtc-rs5c372,1) +endef + +define KernelPackage/rtc-rs5c372a/description + Kernel module for Ricoh R2025S/D, RS5C372A/B, RV5C386, RV5C387A RTC on chip module +endef + +$(eval $(call KernelPackage,rtc-rs5c372a)) + +define KernelPackage/rtc-rx8025 + SUBMENU:=$(OTHER_MENU) + TITLE:=Epson RX-8025 / RX-8035 + DEFAULT:=m if ALL_KMODS && RTC_SUPPORT + DEPENDS:=+kmod-i2c-core + KCONFIG:=CONFIG_RTC_DRV_RX8025 \ + CONFIG_RTC_CLASS=y + FILES:=$(LINUX_DIR)/drivers/rtc/rtc-rx8025.ko + AUTOLOAD:=$(call AutoLoad,50,rtc-rx8025,1) +endef + +define KernelPackage/rtc-rx8025/description + Kernel module for Epson RX-8025 and RX-8035 I2C RTC chip +endef + +$(eval $(call KernelPackage,rtc-rx8025)) + +define KernelPackage/rtc-s35390a + SUBMENU:=$(OTHER_MENU) + TITLE:=Seico S-35390A + DEFAULT:=m if ALL_KMODS && RTC_SUPPORT + DEPENDS:=+kmod-i2c-core + KCONFIG:=CONFIG_RTC_DRV_S35390A \ + CONFIG_RTC_CLASS=y + FILES:=$(LINUX_DIR)/drivers/rtc/rtc-s35390a.ko + AUTOLOAD:=$(call AutoLoad,50,rtc-s35390a,1) +endef + +define KernelPackage/rtc-s35390a/description + Kernel module for Seiko Instruments S-35390A I2C RTC chip +endef + +$(eval $(call KernelPackage,rtc-s35390a)) + + +define KernelPackage/mtdtests + SUBMENU:=$(OTHER_MENU) + TITLE:=MTD subsystem tests + KCONFIG:=CONFIG_MTD_TESTS + FILES:=\ + $(LINUX_DIR)/drivers/mtd/tests/mtd_nandecctest.ko \ + $(LINUX_DIR)/drivers/mtd/tests/mtd_oobtest.ko \ + $(LINUX_DIR)/drivers/mtd/tests/mtd_pagetest.ko \ + $(LINUX_DIR)/drivers/mtd/tests/mtd_readtest.ko \ + $(LINUX_DIR)/drivers/mtd/tests/mtd_speedtest.ko \ + $(LINUX_DIR)/drivers/mtd/tests/mtd_stresstest.ko \ + $(LINUX_DIR)/drivers/mtd/tests/mtd_subpagetest.ko \ + $(LINUX_DIR)/drivers/mtd/tests/mtd_torturetest.ko +endef + +define KernelPackage/mtdtests/description + Kernel modules for MTD subsystem/driver testing +endef + +$(eval $(call KernelPackage,mtdtests)) + + +define KernelPackage/mtdoops + SUBMENU:=$(OTHER_MENU) + TITLE:=Log panic/oops to an MTD buffer + KCONFIG:=CONFIG_MTD_OOPS + FILES:=$(LINUX_DIR)/drivers/mtd/mtdoops.ko +endef + +define KernelPackage/mtdoops/description + Kernel modules for Log panic/oops to an MTD buffer +endef + +$(eval $(call KernelPackage,mtdoops)) + + +define KernelPackage/mtdram + SUBMENU:=$(OTHER_MENU) + TITLE:=Test MTD driver using RAM + KCONFIG:=CONFIG_MTD_MTDRAM \ + CONFIG_MTDRAM_TOTAL_SIZE=4096 \ + CONFIG_MTDRAM_ERASE_SIZE=128 + FILES:=$(LINUX_DIR)/drivers/mtd/devices/mtdram.ko +endef + +define KernelPackage/mtdram/description + Test MTD driver using RAM +endef + +$(eval $(call KernelPackage,mtdram)) + + +define KernelPackage/serial-8250 + SUBMENU:=$(OTHER_MENU) + TITLE:=8250 UARTs + KCONFIG:= CONFIG_SERIAL_8250 \ + CONFIG_SERIAL_8250_PCI \ + CONFIG_SERIAL_8250_NR_UARTS=16 \ + CONFIG_SERIAL_8250_RUNTIME_UARTS=16 \ + CONFIG_SERIAL_8250_EXTENDED=y \ + CONFIG_SERIAL_8250_MANY_PORTS=y \ + CONFIG_SERIAL_8250_SHARE_IRQ=y \ + CONFIG_SERIAL_8250_DETECT_IRQ=n \ + CONFIG_SERIAL_8250_RSA=n + FILES:= \ + $(LINUX_DIR)/drivers/tty/serial/8250/8250.ko \ + $(LINUX_DIR)/drivers/tty/serial/8250/8250_base.ko \ + $(if $(CONFIG_PCI),$(LINUX_DIR)/drivers/tty/serial/8250/8250_pci.ko) \ + $(if $(CONFIG_GPIOLIB),$(LINUX_DIR)/drivers/tty/serial/serial_mctrl_gpio.ko) + AUTOLOAD:=$(call AutoProbe,8250 8250_base 8250_pci) +endef + +define KernelPackage/serial-8250/description + Kernel module for 8250 UART based serial ports +endef + +$(eval $(call KernelPackage,serial-8250)) + + +define KernelPackage/serial-8250-exar + SUBMENU:=$(OTHER_MENU) + TITLE:=Exar 8250 UARTs + 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 +endef + +define KernelPackage/serial-8250-exar/description + Kernel module for Exar serial ports +endef + +$(eval $(call KernelPackage,serial-8250-exar)) + + +define KernelPackage/regmap-core + SUBMENU:=$(OTHER_MENU) + TITLE:=Generic register map support + HIDDEN:=1 + KCONFIG:=CONFIG_REGMAP +ifneq ($(wildcard $(LINUX_DIR)/drivers/base/regmap/regmap-core.ko),) + FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-core.ko +endif +endef + +define KernelPackage/regmap-core/description + Generic register map support +endef + +$(eval $(call KernelPackage,regmap-core)) + + +define KernelPackage/regmap-spi + SUBMENU:=$(OTHER_MENU) + TITLE:=SPI register map support + DEPENDS:=+kmod-regmap-core + HIDDEN:=1 + KCONFIG:=CONFIG_REGMAP_SPI \ + CONFIG_SPI=y + FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko +endef + +define KernelPackage/regmap-spi/description + SPI register map support +endef + +$(eval $(call KernelPackage,regmap-spi)) + + +define KernelPackage/regmap-i2c + SUBMENU:=$(OTHER_MENU) + TITLE:=I2C register map support + DEPENDS:=+kmod-regmap-core +kmod-i2c-core + HIDDEN:=1 + KCONFIG:=CONFIG_REGMAP_I2C + FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko +endef + +define KernelPackage/regmap-i2c/description + I2C register map support +endef + +$(eval $(call KernelPackage,regmap-i2c)) + + +define KernelPackage/regmap-mmio + SUBMENU:=$(OTHER_MENU) + TITLE:=MMIO register map support + DEPENDS:=+kmod-regmap-core + HIDDEN:=1 + KCONFIG:=CONFIG_REGMAP_MMIO + FILES:=$(LINUX_DIR)/drivers/base/regmap/regmap-mmio.ko +endef + +define KernelPackage/regmap-mmio/description + MMIO register map support +endef + +$(eval $(call KernelPackage,regmap-mmio)) + + +define KernelPackage/ikconfig + SUBMENU:=$(OTHER_MENU) + TITLE:=Kernel configuration via /proc/config.gz + KCONFIG:=CONFIG_IKCONFIG \ + CONFIG_IKCONFIG_PROC=y + FILES:=$(LINUX_DIR)/kernel/configs.ko + AUTOLOAD:=$(call AutoLoad,70,configs) +endef + +define KernelPackage/ikconfig/description + Kernel configuration via /proc/config.gz +endef + +$(eval $(call KernelPackage,ikconfig)) + + +define KernelPackage/zram + SUBMENU:=$(OTHER_MENU) + TITLE:=ZRAM + DEPENDS:=+kmod-lib-lzo + KCONFIG:= \ + CONFIG_ZSMALLOC \ + CONFIG_ZRAM \ + CONFIG_ZRAM_DEBUG=n \ + CONFIG_PGTABLE_MAPPING=n \ + CONFIG_ZRAM_WRITEBACK=n \ + CONFIG_ZSMALLOC_STAT=n + FILES:= \ + $(LINUX_DIR)/mm/zsmalloc.ko \ + $(LINUX_DIR)/drivers/block/zram/zram.ko + AUTOLOAD:=$(call AutoLoad,20,zsmalloc zram) +endef + +define KernelPackage/zram/description + Compressed RAM block device support +endef + +$(eval $(call KernelPackage,zram)) + + +define KernelPackage/pps + SUBMENU:=$(OTHER_MENU) + TITLE:=PPS support + KCONFIG:=CONFIG_PPS + FILES:=$(LINUX_DIR)/drivers/pps/pps_core.ko + AUTOLOAD:=$(call AutoLoad,17,pps_core,1) +endef + +define KernelPackage/pps/description + PPS (Pulse Per Second) is a special pulse provided by some GPS + antennae. Userland can use it to get a high-precision time + reference. +endef + +$(eval $(call KernelPackage,pps)) + + +define KernelPackage/pps-gpio + SUBMENU:=$(OTHER_MENU) + TITLE:=PPS client using GPIO + DEPENDS:=+kmod-pps + KCONFIG:=CONFIG_PPS_CLIENT_GPIO + FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-gpio.ko + AUTOLOAD:=$(call AutoLoad,18,pps-gpio,1) +endef + +define KernelPackage/pps-gpio/description + Support for a PPS source using GPIO. To be useful you must + also register a platform device specifying the GPIO pin and + other options, usually in your board setup. +endef + +$(eval $(call KernelPackage,pps-gpio)) + + +define KernelPackage/pps-ldisc + SUBMENU:=$(OTHER_MENU) + TITLE:=PPS line discipline + DEPENDS:=+kmod-pps + KCONFIG:=CONFIG_PPS_CLIENT_LDISC + FILES:=$(LINUX_DIR)/drivers/pps/clients/pps-ldisc.ko + AUTOLOAD:=$(call AutoLoad,18,pps-ldisc,1) +endef + +define KernelPackage/pps-ldisc/description + Support for a PPS source connected with the CD (Carrier + Detect) pin of your serial port. +endef + +$(eval $(call KernelPackage,pps-ldisc)) + + +define KernelPackage/ptp + SUBMENU:=$(OTHER_MENU) + TITLE:=PTP clock support + DEPENDS:=+kmod-pps + KCONFIG:= \ + CONFIG_PTP_1588_CLOCK \ + CONFIG_NET_PTP_CLASSIFY=y + FILES:=$(LINUX_DIR)/drivers/ptp/ptp.ko + AUTOLOAD:=$(call AutoLoad,18,ptp,1) +endef + +define KernelPackage/ptp/description + The IEEE 1588 standard defines a method to precisely + synchronize distributed clocks over Ethernet networks. +endef + +$(eval $(call KernelPackage,ptp)) + + +define KernelPackage/ptp-gianfar + SUBMENU:=$(OTHER_MENU) + TITLE:=Freescale Gianfar PTP support + DEPENDS:=@TARGET_mpc85xx +kmod-ptp @LINUX_4_14 + KCONFIG:=CONFIG_PTP_1588_CLOCK_GIANFAR + FILES:=$(LINUX_DIR)/drivers/net/ethernet/freescale/gianfar_ptp.ko + AUTOLOAD:=$(call AutoProbe,gianfar_ptp) +endef + +define KernelPackage/ptp-gianfar/description + Kernel module for IEEE 1588 support for Freescale + Gianfar Ethernet drivers +endef + +$(eval $(call KernelPackage,ptp-gianfar)) + +define KernelPackage/ptp-qoriq + SUBMENU:=$(OTHER_MENU) + TITLE:=Freescale QorIQ PTP support + DEPENDS:=@TARGET_mpc85xx +kmod-ptp @!LINUX_4_14 + KCONFIG:=CONFIG_PTP_1588_CLOCK_QORIQ + FILES:=$(LINUX_DIR)/drivers/ptp/ptp-qoriq.ko + AUTOLOAD:=$(call AutoProbe,ptp-qoriq) +endef + + +define KernelPackage/ptp-qoriq/description + Kernel module for IEEE 1588 support for Freescale + QorIQ Ethernet drivers +endef + +$(eval $(call KernelPackage,ptp-qoriq)) + +define KernelPackage/random-core + SUBMENU:=$(OTHER_MENU) + TITLE:=Hardware Random Number Generator Core support + KCONFIG:=CONFIG_HW_RANDOM + FILES:=$(LINUX_DIR)/drivers/char/hw_random/rng-core.ko +endef + +define KernelPackage/random-core/description + Kernel module for the HW random number generator core infrastructure +endef + +$(eval $(call KernelPackage,random-core)) + + +define KernelPackage/random-tpm + SUBMENU:=$(OTHER_MENU) + TITLE:=Hardware Random Number Generator TPM support + KCONFIG:=CONFIG_HW_RANDOM_TPM + FILES:=$(LINUX_DIR)/drivers/char/hw_random/tpm-rng.ko + DEPENDS:= +kmod-random-core +kmod-tpm @LINUX_4_14 + AUTOLOAD:=$(call AutoProbe,tpm-rng) +endef + +define KernelPackage/random-tpm/description + Kernel module for the Random Number Generator + in the Trusted Platform Module. +endef + +$(eval $(call KernelPackage,random-tpm)) + +define KernelPackage/thermal + SUBMENU:=$(OTHER_MENU) + TITLE:=Thermal driver + DEPENDS:=+kmod-hwmon-core + HIDDEN:=1 + KCONFIG:= \ + CONFIG_THERMAL=y \ + CONFIG_THERMAL_OF=y \ + CONFIG_CPU_THERMAL=y \ + CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y \ + CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=n \ + CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE=n \ + CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 \ + CONFIG_THERMAL_GOV_FAIR_SHARE=n \ + CONFIG_THERMAL_GOV_STEP_WISE=y \ + CONFIG_THERMAL_GOV_USER_SPACE=n \ + CONFIG_THERMAL_HWMON=y \ + CONFIG_THERMAL_EMULATION=n +endef + +define KernelPackage/thermal/description + Thermal driver offers a generic mechanism for thermal management. + Usually it's made up of one or more thermal zone and cooling device. +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 + KCONFIG:=CONFIG_ECHO + FILES:=$(LINUX_DIR)/drivers/misc/echo/echo.ko + AUTOLOAD:=$(call AutoLoad,50,echo) +endef + +define KernelPackage/echo/description + This driver provides line echo cancelling support for mISDN and + DAHDI drivers +endef + +$(eval $(call KernelPackage,echo)) + + +define KernelPackage/keys-encrypted + SUBMENU:=$(OTHER_MENU) + TITLE:=encrypted keys on kernel keyring + DEPENDS:=@KERNEL_KEYS +kmod-crypto-cbc +kmod-crypto-hmac +kmod-crypto-rng \ + +kmod-crypto-sha256 +kmod-keys-trusted + KCONFIG:=CONFIG_ENCRYPTED_KEYS + FILES:=$(LINUX_DIR)/security/keys/encrypted-keys/encrypted-keys.ko + AUTOLOAD:=$(call AutoLoad,01,encrypted-keys,1) +endef + +define KernelPackage/keys-encrypted/description + This module provides support for create/encrypting/decrypting keys + in the kernel. Encrypted keys are kernel generated random numbers, + which are encrypted/decrypted with a 'master' symmetric key. The + 'master' key can be either a trusted-key or user-key type. + Userspace only ever sees/stores encrypted blobs. +endef + +$(eval $(call KernelPackage,keys-encrypted)) + + +define KernelPackage/keys-trusted + SUBMENU:=$(OTHER_MENU) + 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 + AUTOLOAD:=$(call AutoLoad,01,trusted-keys,1) +endef + +define KernelPackage/keys-trusted/description + This module provides support for creating, sealing, and unsealing + keys in the kernel. Trusted keys are random number symmetric keys, + generated and RSA-sealed by the TPM. The TPM only unseals the keys, + if the boot PCRs and other criteria match. Userspace will only ever + see encrypted blobs. +endef + +$(eval $(call KernelPackage,keys-trusted)) + + +define KernelPackage/tpm + SUBMENU:=$(OTHER_MENU) + TITLE:=TPM Hardware Support + DEPENDS:= +!LINUX_4_14:kmod-random-core + KCONFIG:= CONFIG_TCG_TPM + FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko + AUTOLOAD:=$(call AutoLoad,10,tpm,1) +endef + +define KernelPackage/tpm/description + This enables TPM Hardware Support. +endef + +$(eval $(call KernelPackage,tpm)) + +define KernelPackage/tpm-tis + SUBMENU:=$(OTHER_MENU) + TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface + DEPENDS:= @TARGET_x86 +kmod-tpm + KCONFIG:= CONFIG_TCG_TIS + FILES:= \ + $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko \ + $(LINUX_DIR)/drivers/char/tpm/tpm_tis_core.ko + AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1) +endef + +define KernelPackage/tpm-tis/description + If you have a TPM security chip that is compliant with the + TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO + specification (TPM2.0) say Yes and it will be accessible from + within Linux. +endef + +$(eval $(call KernelPackage,tpm-tis)) + +define KernelPackage/tpm-i2c-atmel + SUBMENU:=$(OTHER_MENU) + TITLE:=TPM I2C Atmel Support + DEPENDS:= +kmod-tpm +kmod-i2c-core + KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL + FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko + AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1) +endef + +define KernelPackage/tpm-i2c-atmel/description + This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel) +endef + +$(eval $(call KernelPackage,tpm-i2c-atmel)) + +define KernelPackage/tpm-i2c-infineon + SUBMENU:=$(OTHER_MENU) + TITLE:= TPM I2C Infineon driver + DEPENDS:= +kmod-tpm +kmod-i2c-core + KCONFIG:= CONFIG_TCG_TIS_I2C_INFINEON + FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_infineon.ko + AUTOLOAD:= $(call AutoLoad,40,tpm_i2c_infineon,1) +endef + +define KernelPackage/tpm-i2c-infineon/description + This enables the TPM Interface Specification 1.2 Interface (I2C - Infineon) +endef + +$(eval $(call KernelPackage,tpm-i2c-infineon)) + + +define KernelPackage/w83627hf-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) +endef + +define KernelPackage/w83627hf-wdt/description + Kernel module for Winbond 83627HF Watchdog Timer +endef + +$(eval $(call KernelPackage,w83627hf-wdt)) + + +define KernelPackage/itco-wdt + 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) +endef + +define KernelPackage/itco-wdt/description + Kernel module for Intel iTCO Watchdog Timer +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)) + + +define KernelPackage/f71808e-wdt + 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) +endef + +define KernelPackage/f71808e-wdt/description + Kernel module for the watchdog timer found on many Fintek Super-IO chips. +endef + +$(eval $(call KernelPackage,f71808e-wdt)) diff --git a/feeds/ipq807x/linux/modules/pcmcia.mk b/feeds/ipq807x/linux/modules/pcmcia.mk new file mode 100644 index 000000000..11c2106cb --- /dev/null +++ b/feeds/ipq807x/linux/modules/pcmcia.mk @@ -0,0 +1,113 @@ +# +# Copyright (C) 2006-2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +PCMCIA_MENU:=PCMCIA support + +define KernelPackage/pcmcia-core + SUBMENU:=$(PCMCIA_MENU) + TITLE:=PCMCIA/CardBus support + DEPENDS:=@PCMCIA_SUPPORT + KCONFIG:= \ + CONFIG_PCMCIA \ + CONFIG_PCMCIA_LOAD_CIS=y \ + CONFIG_CARDBUS \ + CONFIG_PCCARD \ + PCMCIA_DEBUG=n + FILES:= \ + $(LINUX_DIR)/drivers/pcmcia/pcmcia_core.ko \ + $(LINUX_DIR)/drivers/pcmcia/pcmcia.ko + AUTOLOAD:=$(call AutoLoad,25,pcmcia_core pcmcia) +endef + +define KernelPackage/pcmcia-core/description + Kernel support for PCMCIA/CardBus controllers +endef + +$(eval $(call KernelPackage,pcmcia-core)) + + +define AddDepends/pcmcia + SUBMENU:=$(PCMCIA_MENU) + DEPENDS+=kmod-pcmcia-core $(1) +endef + + +define KernelPackage/pcmcia-rsrc + TITLE:=PCMCIA resource support + KCONFIG:=CONFIG_PCCARD_NONSTATIC=y + FILES:=$(LINUX_DIR)/drivers/pcmcia/pcmcia_rsrc.ko + AUTOLOAD:=$(call AutoLoad,26,pcmcia_rsrc) + $(call AddDepends/pcmcia) +endef + +define KernelPackage/pcmcia-rsrc/description + Kernel support for PCMCIA resource allocation +endef + +$(eval $(call KernelPackage,pcmcia-rsrc)) + + +define KernelPackage/pcmcia-yenta + TITLE:=yenta socket driver + KCONFIG:=CONFIG_YENTA + FILES:=$(LINUX_DIR)/drivers/pcmcia/yenta_socket.ko + AUTOLOAD:=$(call AutoLoad,41,yenta_socket) + DEPENDS:=+kmod-pcmcia-rsrc + $(call AddDepends/pcmcia) +endef + +$(eval $(call KernelPackage,pcmcia-yenta)) + + +define KernelPackage/pcmcia-serial + TITLE:=Serial devices support + KCONFIG:= \ + CONFIG_PCMCIA_SERIAL_CS \ + CONFIG_SERIAL_8250_CS + FILES:=$(LINUX_DIR)/drivers/tty/serial/8250/serial_cs.ko + AUTOLOAD:=$(call AutoLoad,45,serial_cs) + DEPENDS:=+kmod-serial-8250 + $(call AddDepends/pcmcia) +endef + +define KernelPackage/pcmcia-serial/description + Kernel support for PCMCIA/CardBus serial devices +endef + +$(eval $(call KernelPackage,pcmcia-serial)) + + +define KernelPackage/pcmcia-pd6729 + TITLE:=Cirrus PD6729 compatible bridge support + KCONFIG:=CONFIG_PD6729 + FILES:=$(LINUX_DIR)/drivers/pcmcia/pd6729.ko + AUTOLOAD:=$(call AutoLoad,41,pd6729) + DEPENDS:=+kmod-pcmcia-rsrc + $(call AddDepends/pcmcia) +endef + +define KernelPackage/pcmcia-pd6729/description + Kernel support for the Cirrus PD6729 PCI-to-PCMCIA bridge +endef + +$(eval $(call KernelPackage,pcmcia-pd6729)) + + +define KernelPackage/pcmcia-nozomi + TITLE:=Option Fusion+ card + KCONFIG:=CONFIG_NOZOMI + FILES:=$(LINUX_DIR)/drivers/tty/nozomi.ko + AUTOLOAD:=$(call AutoLoad,60,nozomi) + DEPENDS:=+kmod-pcmcia-rsrc + $(call AddDepends/pcmcia) +endef + +define KernelPackage/pcmcia-nozomi/description + Kernel support for Option Fusion+ card +endef + +$(eval $(call KernelPackage,pcmcia-nozomi)) diff --git a/feeds/ipq807x/linux/modules/sound.mk b/feeds/ipq807x/linux/modules/sound.mk new file mode 100644 index 000000000..66194a5a7 --- /dev/null +++ b/feeds/ipq807x/linux/modules/sound.mk @@ -0,0 +1,534 @@ +# +# Copyright (C) 2006-2013 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +SOUND_MENU:=Sound Support + +# allow targets to override the soundcore stuff +SOUNDCORE_LOAD ?= \ + soundcore \ + snd \ + snd-hwdep \ + snd-seq-device \ + snd-rawmidi \ + snd-timer \ + snd-pcm \ + snd-mixer-oss \ + snd-pcm-oss \ + snd-compress + +SOUNDCORE_FILES ?= \ + $(LINUX_DIR)/sound/soundcore.ko \ + $(LINUX_DIR)/sound/core/snd.ko \ + $(LINUX_DIR)/sound/core/snd-hwdep.ko \ + $(LINUX_DIR)/sound/core/snd-seq-device.ko \ + $(LINUX_DIR)/sound/core/snd-rawmidi.ko \ + $(LINUX_DIR)/sound/core/snd-timer.ko \ + $(LINUX_DIR)/sound/core/snd-pcm.ko \ + $(LINUX_DIR)/sound/core/oss/snd-mixer-oss.ko \ + $(LINUX_DIR)/sound/core/oss/snd-pcm-oss.ko \ + $(LINUX_DIR)/sound/core/snd-compress.ko + +SOUNDCORE_LOAD += \ + $(if $(CONFIG_SND_DMAENGINE_PCM),snd-pcm-dmaengine) + +SOUNDCORE_FILES += \ + $(if $(CONFIG_SND_DMAENGINE_PCM),$(LINUX_DIR)/sound/core/snd-pcm-dmaengine.ko) + +define KernelPackage/sound-core + SUBMENU:=$(SOUND_MENU) + TITLE:=Sound support + DEPENDS:=@AUDIO_SUPPORT +kmod-input-core + KCONFIG:= \ + CONFIG_SOUND \ + CONFIG_SND \ + CONFIG_SND_HWDEP \ + CONFIG_SND_RAWMIDI \ + CONFIG_SND_TIMER \ + CONFIG_SND_PCM \ + CONFIG_SND_PCM_TIMER=y \ + CONFIG_SND_SEQUENCER \ + CONFIG_SND_VIRMIDI \ + CONFIG_SND_SEQ_DUMMY \ + CONFIG_SND_SEQUENCER_OSS=y \ + CONFIG_HOSTAUDIO \ + CONFIG_SND_PCM_OSS \ + CONFIG_SND_MIXER_OSS \ + CONFIG_SOUND_OSS_CORE_PRECLAIM=y \ + CONFIG_SND_COMPRESS_OFFLOAD + FILES:=$(SOUNDCORE_FILES) + AUTOLOAD:=$(call AutoLoad,30,$(SOUNDCORE_LOAD)) +endef + +define KernelPackage/sound-core/uml + FILES:= \ + $(LINUX_DIR)/sound/soundcore.ko \ + $(LINUX_DIR)/arch/um/drivers/hostaudio.ko + AUTOLOAD+=$(call AutoLoad,30,soundcore hostaudio) +endef + +define KernelPackage/sound-core/description + Kernel modules for sound support +endef + +$(eval $(call KernelPackage,sound-core)) + + +define AddDepends/sound + SUBMENU:=$(SOUND_MENU) + DEPENDS+=kmod-sound-core $(1) @!TARGET_uml +endef + + +define KernelPackage/ac97 + TITLE:=ac97 controller + KCONFIG:=CONFIG_SND_AC97_CODEC + FILES:= \ + $(LINUX_DIR)/sound/ac97_bus.ko \ + $(LINUX_DIR)/sound/pci/ac97/snd-ac97-codec.ko + AUTOLOAD:=$(call AutoLoad,35,ac97_bus snd-ac97-codec) + $(call AddDepends/sound) +endef + +define KernelPackage/ac97/description + The ac97 controller +endef + +$(eval $(call KernelPackage,ac97)) + + +define KernelPackage/sound-mpu401 + TITLE:=MPU-401 uart driver + KCONFIG:=CONFIG_SND_MPU401_UART + FILES:= \ + $(LINUX_DIR)/sound/drivers/mpu401/snd-mpu401-uart.ko + AUTOLOAD:=$(call AutoLoad,35,snd-mpu401-uart) + $(call AddDepends/sound) +endef + +define KernelPackage/sound-mpu401/description + support for MIDI ports compatible with the Roland MPU-401 + interface in UART mode. +endef + +$(eval $(call KernelPackage,sound-mpu401)) + + +define KernelPackage/sound-seq + TITLE:=Sequencer support + FILES:= \ + $(LINUX_DIR)/sound/core/seq/snd-seq.ko \ + $(LINUX_DIR)/sound/core/seq/snd-seq-midi-event.ko \ + $(LINUX_DIR)/sound/core/seq/snd-seq-midi.ko + AUTOLOAD:=$(call AutoLoad,35,snd-seq snd-seq-midi-event snd-seq-midi) + $(call AddDepends/sound) +endef + +define KernelPackage/sound-seq/description + Kernel modules for sequencer support +endef + +$(eval $(call KernelPackage,sound-seq)) + + +define KernelPackage/sound-ens1371 + TITLE:=(Creative) Ensoniq AudioPCI 1371 + KCONFIG:=CONFIG_SND_ENS1371 + DEPENDS:=@PCI_SUPPORT +kmod-ac97 + FILES:=$(LINUX_DIR)/sound/pci/snd-ens1371.ko + AUTOLOAD:=$(call AutoLoad,36,snd-ens1371) + $(call AddDepends/sound) +endef + +define KernelPackage/sound-ens1371/description + support for (Creative) Ensoniq AudioPCI 1371 chips +endef + +$(eval $(call KernelPackage,sound-ens1371)) + + +define KernelPackage/sound-i8x0 + TITLE:=Intel/SiS/nVidia/AMD/ALi AC97 Controller + DEPENDS:=+kmod-ac97 + KCONFIG:=CONFIG_SND_INTEL8X0 + FILES:=$(LINUX_DIR)/sound/pci/snd-intel8x0.ko + AUTOLOAD:=$(call AutoLoad,36,snd-intel8x0) + $(call AddDepends/sound) +endef + +define KernelPackage/sound-i8x0/description + support for the integrated AC97 sound device on motherboards + with Intel/SiS/nVidia/AMD chipsets, or ALi chipsets using + the M5455 Audio Controller. +endef + +$(eval $(call KernelPackage,sound-i8x0)) + + +define KernelPackage/sound-via82xx + TITLE:=VIA 82xx AC97 Controller + DEPENDS:=+kmod-ac97 +kmod-sound-mpu401 + KCONFIG:=CONFIG_SND_VIA82XX + FILES:=$(LINUX_DIR)/sound/pci/snd-via82xx.ko + AUTOLOAD:=$(call AutoLoad,36,snd-via82xx) + $(call AddDepends/sound) +endef + +define KernelPackage/sound-via82xx/description + support for the integrated AC97 sound device on motherboards + with VIA chipsets. +endef + +$(eval $(call KernelPackage,sound-via82xx)) + + +define KernelPackage/sound-soc-core + TITLE:=SoC sound support + DEPENDS:=+kmod-regmap-core +kmod-ac97 + KCONFIG:= \ + CONFIG_SND_SOC \ + CONFIG_SND_SOC_ADI=n \ + CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y \ + CONFIG_SND_SOC_ALL_CODECS=n + FILES:=$(LINUX_DIR)/sound/soc/snd-soc-core.ko + AUTOLOAD:=$(call AutoLoad,55,snd-soc-core) + $(call AddDepends/sound) +endef + +$(eval $(call KernelPackage,sound-soc-core)) + + +define KernelPackage/sound-soc-ac97 + TITLE:=AC97 Codec support + KCONFIG:=CONFIG_SND_SOC_AC97_CODEC + FILES:=$(LINUX_DIR)/sound/soc/codecs/snd-soc-ac97.ko + AUTOLOAD:=$(call AutoLoad,57,snd-soc-ac97) + DEPENDS:=+kmod-ac97 +kmod-sound-soc-core + $(call AddDepends/sound) +endef + +$(eval $(call KernelPackage,sound-soc-ac97)) + + +define KernelPackage/sound-soc-imx + TITLE:=IMX SoC support + KCONFIG:=\ + CONFIG_SND_IMX_SOC \ + CONFIG_SND_SOC_IMX_AUDMUX \ + CONFIG_SND_SOC_FSL_SSI \ + CONFIG_SND_SOC_IMX_PCM_DMA + FILES:= \ + $(LINUX_DIR)/sound/soc/fsl/snd-soc-imx-audmux.ko \ + $(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 + $(call AddDepends/sound) +endef + +define KernelPackage/sound-soc-imx/description + Support for i.MX6 Platform sound (ssi/audmux/pcm) +endef + +$(eval $(call KernelPackage,sound-soc-imx)) + + +define KernelPackage/sound-soc-imx-sgtl5000 + TITLE:=IMX SoC support for SGTL5000 + KCONFIG:=CONFIG_SND_SOC_IMX_SGTL5000 + FILES:=\ + $(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 + $(call AddDepends/sound) +endef + +define KernelPackage/sound-soc-imx-sgtl5000/description + Support for i.MX6 Platform sound SGTL5000 codec +endef + +$(eval $(call KernelPackage,sound-soc-imx-sgtl5000)) + + +define KernelPackage/sound-soc-spdif + TITLE:=SoC S/PDIF codec support + KCONFIG:=CONFIG_SND_SOC_SPDIF + FILES:= \ + $(LINUX_DIR)/sound/soc/codecs/snd-soc-spdif-tx.ko \ + $(LINUX_DIR)/sound/soc/codecs/snd-soc-spdif-rx.ko + DEPENDS:=+kmod-sound-soc-core + AUTOLOAD:=$(call AutoProbe,snd-soc-spdif-tx snd-soc-spdif-rx) + $(call AddDepends/sound) +endef + +$(eval $(call KernelPackage,sound-soc-spdif)) + + +define KernelPackage/pcspkr + DEPENDS:=@TARGET_x86 +kmod-input-core + TITLE:=PC speaker support + KCONFIG:= \ + CONFIG_SND_PCSP + FILES:= \ + $(LINUX_DIR)/sound/drivers/pcsp/snd-pcsp.ko + AUTOLOAD:=$(call AutoLoad,50,snd-pcsp) + $(call AddDepends/sound) +endef + +define KernelPackage/pcspkr/description + This enables sounds (tones) through the pc speaker +endef + +$(eval $(call KernelPackage,pcspkr)) + +define KernelPackage/sound-dummy + $(call AddDepends/sound) + TITLE:=Null sound output driver (sink) + KCONFIG:= \ + CONFIG_SND_DUMMY + FILES:= \ + $(LINUX_DIR)/sound/drivers/snd-dummy.ko + AUTOLOAD:=$(call AutoLoad,32,snd-dummy) +endef + +define KernelPackage/sound-dummy/description + Dummy sound device for Alsa when no hardware present +endef + +$(eval $(call KernelPackage,sound-dummy)) + +define KernelPackage/sound-hda-core + SUBMENU:=$(SOUND_MENU) + TITLE:=HD Audio Sound Core Support + KCONFIG:= \ + CONFIG_SND_HDA_CORE \ + CONFIG_SND_HDA_HWDEP=y \ + CONFIG_SND_HDA_RECONFIG=n \ + CONFIG_SND_HDA_INPUT_BEEP=n \ + CONFIG_SND_HDA_PATCH_LOADER=n \ + CONFIG_SND_HDA_GENERIC + FILES:= \ + $(LINUX_DIR)/sound/hda/snd-hda-core.ko \ + $(LINUX_DIR)/sound/pci/hda/snd-hda-codec.ko \ + $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-generic.ko + AUTOLOAD:=$(call AutoProbe,snd-hda-core snd-hda-codec snd-hda-codec-generic) + $(call AddDepends/sound,+kmod-regmap-core) +endef + +define KernelPackage/sound-hda-core/description + Kernel modules for HD Audio sound support +endef + +$(eval $(call KernelPackage,sound-hda-core)) + +define KernelPackage/sound-hda-codec-realtek + SUBMENU:=$(SOUND_MENU) + TITLE:= HD Audio Realtek Codec + KCONFIG:= \ + CONFIG_SND_HDA_CODEC_REALTEK + FILES:= \ + $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-realtek.ko + AUTOLOAD:=$(call AutoProbe,snd-hda-codec-realtek) + $(call AddDepends/sound,kmod-sound-hda-core) +endef + +define KernelPackage/sound-hda-codec-realtek/description + Kernel modules for Intel HDA Realtek codec support +endef + +$(eval $(call KernelPackage,sound-hda-codec-realtek)) + +define KernelPackage/sound-hda-codec-cmedia + SUBMENU:=$(SOUND_MENU) + TITLE:=HD Audio C-Media Codec + KCONFIG:= \ + CONFIG_SND_HDA_CODEC_CMEDIA + FILES:= \ + $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-cmedia.ko + AUTOLOAD:=$(call AutoProbe,snd-hda-codec-cmedia) + $(call AddDepends/sound,kmod-sound-hda-core) +endef + +define KernelPackage/sound-hda-codec-cmedia/description + Kernel modules for HD Audio C-Media codec support +endef + +$(eval $(call KernelPackage,sound-hda-codec-cmedia)) + +define KernelPackage/sound-hda-codec-analog + SUBMENU:=$(SOUND_MENU) + TITLE:=HD Audio Analog Devices Codec + KCONFIG:= \ + CONFIG_SND_HDA_CODEC_ANALOG + FILES:= \ + $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-analog.ko + AUTOLOAD:=$(call AutoProbe,snd-hda-codec-analog) + $(call AddDepends/sound,kmod-sound-hda-core) +endef + +define KernelPackage/sound-hda-codec-analog/description + Kernel modules for HD Audio Analog Devices codec support +endef + +$(eval $(call KernelPackage,sound-hda-codec-analog)) + +define KernelPackage/sound-hda-codec-idt + SUBMENU:=$(SOUND_MENU) + TITLE:=HD Audio Sigmatel IDT Codec + KCONFIG:= \ + CONFIG_SND_HDA_CODEC_SIGMATEL + FILES:= \ + $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-idt.ko + AUTOLOAD:=$(call AutoProbe,snd-hda-codec-idt) + $(call AddDepends/sound,kmod-sound-hda-core) +endef + +define KernelPackage/sound-hda-codec-idt/description + Kernel modules for HD Audio Sigmatel IDT codec support +endef + +$(eval $(call KernelPackage,sound-hda-codec-idt)) + +define KernelPackage/sound-hda-codec-si3054 + SUBMENU:=$(SOUND_MENU) + TITLE:=HD Audio Silicon Labs 3054 Codec + KCONFIG:= \ + CONFIG_SND_HDA_CODEC_SI3054 + FILES:= \ + $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-si3054.ko + AUTOLOAD:=$(call AutoProbe,snd-hda-codec-si3054) + $(call AddDepends/sound,kmod-sound-hda-core) +endef + +define KernelPackage/sound-hda-codec-si3054/description + Kernel modules for HD Audio Silicon Labs 3054 codec support +endef + +$(eval $(call KernelPackage,sound-hda-codec-si3054)) + +define KernelPackage/sound-hda-codec-cirrus + SUBMENU:=$(SOUND_MENU) + TITLE:=HD Audio Cirrus Logic Codec + KCONFIG:= \ + CONFIG_SND_HDA_CODEC_CIRRUS + FILES:= \ + $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-cirrus.ko + AUTOLOAD:=$(call AutoProbe,snd-hda-codec-cirrus) + $(call AddDepends/sound,kmod-sound-hda-core) +endef + +define KernelPackage/sound-hda-codec-cirrus/description + Kernel modules for HD Audio Cirrus Logic codec support +endef + +$(eval $(call KernelPackage,sound-hda-codec-cirrus)) + +define KernelPackage/sound-hda-codec-ca0110 + SUBMENU:=$(SOUND_MENU) + TITLE:=HD Audio Creative CA0110 Codec + KCONFIG:= \ + CONFIG_SND_HDA_CODEC_CA0110 + FILES:= \ + $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-ca0110.ko + AUTOLOAD:=$(call AutoProbe,snd-hda-codec-ca0110) + $(call AddDepends/sound,kmod-sound-hda-core) +endef + +define KernelPackage/sound-hda-codec-ca0110/description + Kernel modules for HD Audio Creative CA0110 codec support +endef + +$(eval $(call KernelPackage,sound-hda-codec-ca0110)) + +define KernelPackage/sound-hda-codec-ca0132 + SUBMENU:=$(SOUND_MENU) + TITLE:=HD Audio Creative CA0132 Codec + KCONFIG:= \ + CONFIG_SND_HDA_CODEC_CA0132 \ + CONFIG_SND_HDA_CODEC_CA0132_DSP=n + FILES:= \ + $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-ca0132.ko + AUTOLOAD:=$(call AutoProbe,snd-hda-codec-ca0132) + $(call AddDepends/sound,kmod-sound-hda-core) +endef + +define KernelPackage/sound-hda-codec-ca0132/description + Kernel modules for HD Audio Creative CA0132 codec support +endef + +$(eval $(call KernelPackage,sound-hda-codec-ca0132)) + +define KernelPackage/sound-hda-codec-conexant + SUBMENU:=$(SOUND_MENU) + TITLE:=HD Audio Conexant Codec + KCONFIG:= \ + CONFIG_SND_HDA_CODEC_CONEXANT + FILES:= \ + $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-conexant.ko + AUTOLOAD:=$(call AutoProbe,snd-hda-codec-conexant) + $(call AddDepends/sound,kmod-sound-hda-core) +endef + +define KernelPackage/sound-hda-codec-conexant/description + Kernel modules for HD Audio Conexant codec support +endef + +$(eval $(call KernelPackage,sound-hda-codec-conexant)) + +define KernelPackage/sound-hda-codec-via + SUBMENU:=$(SOUND_MENU) + TITLE:=HD Audio Via Codec + KCONFIG:= \ + CONFIG_SND_HDA_CODEC_VIA + FILES:= \ + $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-via.ko + AUTOLOAD:=$(call AutoProbe,snd-hda-codec-via) + $(call AddDepends/sound,kmod-sound-hda-core) +endef + +define KernelPackage/sound-hda-codec-via/description + Kernel modules for HD Audio VIA codec support +endef + +$(eval $(call KernelPackage,sound-hda-codec-via)) + +define KernelPackage/sound-hda-codec-hdmi + SUBMENU:=$(SOUND_MENU) + TITLE:=HD Audio HDMI/DisplayPort Codec + KCONFIG:= \ + CONFIG_SND_HDA_CODEC_HDMI + FILES:= \ + $(LINUX_DIR)/sound/pci/hda/snd-hda-codec-hdmi.ko + AUTOLOAD:=$(call AutoProbe,snd-hda-codec-hdmi) + $(call AddDepends/sound,kmod-sound-hda-core) +endef + +define KernelPackage/sound-hda-codec-hdmi/description + Kernel modules for HD Audio HDMI codec support +endef + +$(eval $(call KernelPackage,sound-hda-codec-hdmi)) + +define KernelPackage/sound-hda-intel + SUBMENU:=$(SOUND_MENU) + TITLE:=HD Audio Intel Driver + DEPENDS:=@TARGET_x86 + KCONFIG:= \ + CONFIG_SOUND_PCI \ + CONFIG_SND_HDA_INTEL + FILES:= \ + $(LINUX_DIR)/sound/pci/hda/snd-hda-intel.ko \ + $(LINUX_DIR)/sound/hda/snd-intel-nhlt.ko + AUTOLOAD:=$(call AutoProbe,snd-hda-intel) + $(call AddDepends/sound,kmod-sound-hda-core) +endef + +define KernelPackage/sound-hda-intel/description + Kernel modules for HD Audio Intel driver support +endef + +$(eval $(call KernelPackage,sound-hda-intel)) diff --git a/feeds/ipq807x/linux/modules/spi.mk b/feeds/ipq807x/linux/modules/spi.mk new file mode 100644 index 000000000..01dc7dc7e --- /dev/null +++ b/feeds/ipq807x/linux/modules/spi.mk @@ -0,0 +1,75 @@ +# +# Copyright (C) 2006-2011 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +SPI_MENU:=SPI Support + +define KernelPackage/mmc-spi + SUBMENU:=$(SPI_MENU) + TITLE:=MMC/SD over SPI Support + DEPENDS:=+kmod-mmc +kmod-lib-crc-itu-t +kmod-lib-crc7 + KCONFIG:=CONFIG_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/mmc_spi.ko + AUTOLOAD:=$(call AutoProbe,$(if $(CONFIG_OF),of_mmc_spi) mmc_spi) +endef + +define KernelPackage/mmc-spi/description + Kernel support for MMC/SD over SPI +endef + +$(eval $(call KernelPackage,mmc-spi)) + + +define KernelPackage/spi-bitbang + SUBMENU:=$(SPI_MENU) + TITLE:=Serial Peripheral Interface bitbanging library + KCONFIG:=CONFIG_SPI_BITBANG \ + CONFIG_SPI=y \ + CONFIG_SPI_MASTER=y + FILES:=$(LINUX_DIR)/drivers/spi/spi-bitbang.ko +endef + +define KernelPackage/spi-bitbang/description + This package contains the SPI bitbanging library +endef + +$(eval $(call KernelPackage,spi-bitbang)) + + +define KernelPackage/spi-gpio + SUBMENU:=$(SPI_MENU) + TITLE:=GPIO-based bitbanging SPI Master + DEPENDS:=@GPIO_SUPPORT +kmod-spi-bitbang + KCONFIG:=CONFIG_SPI_GPIO + FILES:=$(LINUX_DIR)/drivers/spi/spi-gpio.ko + AUTOLOAD:=$(call AutoProbe,spi-gpio) +endef + +define KernelPackage/spi-gpio/description + This package contains the GPIO-based bitbanging SPI Master +endef + +$(eval $(call KernelPackage,spi-gpio)) + +define KernelPackage/spi-dev + SUBMENU:=$(SPI_MENU) + TITLE:=User mode SPI device driver + KCONFIG:=CONFIG_SPI_SPIDEV \ + CONFIG_SPI=y \ + CONFIG_SPI_MASTER=y + FILES:=$(LINUX_DIR)/drivers/spi/spidev.ko + AUTOLOAD:=$(call AutoProbe,spidev) +endef + +define KernelPackage/spi-dev/description + This package contains the user mode SPI device driver +endef + +$(eval $(call KernelPackage,spi-dev)) diff --git a/feeds/ipq807x/linux/modules/usb.mk b/feeds/ipq807x/linux/modules/usb.mk new file mode 100644 index 000000000..5530a1837 --- /dev/null +++ b/feeds/ipq807x/linux/modules/usb.mk @@ -0,0 +1,1736 @@ +# +# Copyright (C) 2006-2014 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +USB_MENU:=USB Support + +USBNET_DIR:=net/usb +USBHID_DIR?=hid/usbhid +USBINPUT_DIR?=input/misc + +define KernelPackage/usb-core + SUBMENU:=$(USB_MENU) + TITLE:=Support for USB + DEPENDS:=@USB_SUPPORT + KCONFIG:=CONFIG_USB CONFIG_XPS_USB_HCD_XILINX=n CONFIG_USB_FHCI_HCD=n + FILES:= \ + $(LINUX_DIR)/drivers/usb/core/usbcore.ko \ + $(LINUX_DIR)/drivers/usb/common/usb-common.ko + AUTOLOAD:=$(call AutoLoad,20,usb-common usbcore,1) + $(call AddDepends/nls) +endef + +define KernelPackage/usb-core/description + Kernel support for USB +endef + +$(eval $(call KernelPackage,usb-core)) + + +define AddDepends/usb + SUBMENU:=$(USB_MENU) + DEPENDS+=+kmod-usb-core $(1) +endef + + +define KernelPackage/usb-ledtrig-usbport + TITLE:=LED trigger for USB ports + KCONFIG:=CONFIG_USB_LEDS_TRIGGER_USBPORT + FILES:=$(LINUX_DIR)/drivers/usb/core/ledtrig-usbport.ko + AUTOLOAD:=$(call AutoLoad,50,ledtrig-usbport) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-ledtrig-usbport/description + This driver allows LEDs to be controlled by USB events. Enabling this + trigger allows specifying list of USB ports that should turn on LED + when some USB device gets connected. + If possible it should be prefered over similar ledtrig-usbdev. +endef + +$(eval $(call KernelPackage,usb-ledtrig-usbport)) + + +define KernelPackage/usb-phy-nop + TITLE:=Support for USB NOP transceiver + KCONFIG:=CONFIG_NOP_USB_XCEIV + HIDDEN:=1 + FILES:=$(LINUX_DIR)/drivers/usb/phy/phy-generic.ko + AUTOLOAD:=$(call AutoLoad,21,phy-generic,1) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-phy-nop/description + Support for USB NOP transceiver +endef + +$(eval $(call KernelPackage,usb-phy-nop)) + + +define KernelPackage/phy-ath79-usb + TITLE:=Support for ATH79 USB PHY + KCONFIG:=CONFIG_PHY_AR7100_USB \ + CONFIG_PHY_AR7200_USB + DEPENDS:=@TARGET_ath79 + HIDDEN:=1 + FILES:=$(LINUX_DIR)/drivers/phy/phy-ar7100-usb.ko \ + $(LINUX_DIR)/drivers/phy/phy-ar7200-usb.ko + AUTOLOAD:=$(call AutoLoad,21,phy-ar7100-usb phy-ar7200-usb,1) + $(call AddDepends/usb) +endef + +define KernelPackage/phy-ath79-usb/description + Support for ATH79 USB transceiver +endef + +$(eval $(call KernelPackage,phy-ath79-usb)) + + +define KernelPackage/usb-gadget + TITLE:=USB Gadget support + KCONFIG:=CONFIG_USB_GADGET + HIDDEN:=1 + FILES:=\ + $(LINUX_DIR)/drivers/usb/gadget/udc/udc-core.ko + AUTOLOAD:=$(call AutoLoad,21,udc-core,1) + DEPENDS:=@USB_GADGET_SUPPORT + $(call AddDepends/usb) +endef + +define KernelPackage/usb-gadget/description + Kernel support for USB Gadget mode +endef + +$(eval $(call KernelPackage,usb-gadget)) + +define KernelPackage/usb-lib-composite + TITLE:=USB lib composite + KCONFIG:=CONFIG_USB_LIBCOMPOSITE + DEPENDS:=+kmod-usb-gadget +kmod-fs-configfs + HIDDEN:=1 + FILES:=$(LINUX_DIR)/drivers/usb/gadget/libcomposite.ko + AUTOLOAD:=$(call AutoLoad,50,libcomposite) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-lib-composite/description + Lib Composite +endef + +$(eval $(call KernelPackage,usb-lib-composite)) + +define KernelPackage/usb-gadget-hid + TITLE:=USB HID Gadget Support + KCONFIG:=CONFIG_USB_G_HID + DEPENDS:=+kmod-usb-gadget +kmod-usb-lib-composite + FILES:= \ + $(LINUX_DIR)/drivers/usb/gadget/legacy/g_hid.ko \ + $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_hid.ko + AUTOLOAD:=$(call AutoLoad,52,usb_f_hid) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-gadget-hid/description + Kernel support for USB HID Gadget. +endef + +$(eval $(call KernelPackage,usb-gadget-hid)) + +define KernelPackage/usb-gadget-ehci-debug + TITLE:=USB EHCI debug port Gadget support + KCONFIG:=\ + CONFIG_USB_G_DBGP \ + CONFIG_USB_G_DBGP_SERIAL=y \ + CONFIG_USB_G_DBGP_PRINTK=n + DEPENDS:=+kmod-usb-gadget +kmod-usb-lib-composite +kmod-usb-gadget-serial + FILES:=$(LINUX_DIR)/drivers/usb/gadget/legacy/g_dbgp.ko + $(call AddDepends/usb) +endef + +define KernelPackage/usb-gadget-ehci-debug/description + Kernel support for USB EHCI debug port Gadget. +endef + +$(eval $(call KernelPackage,usb-gadget-ehci-debug)) + +define KernelPackage/usb-gadget-eth + TITLE:=USB Ethernet Gadget support + KCONFIG:= \ + CONFIG_USB_ETH \ + CONFIG_USB_ETH_RNDIS=y \ + CONFIG_USB_ETH_EEM=n + DEPENDS:=+kmod-usb-gadget +kmod-usb-lib-composite + FILES:= \ + $(LINUX_DIR)/drivers/usb/gadget/function/u_ether.ko \ + $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_ecm.ko \ + $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_ecm_subset.ko \ + $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_rndis.ko \ + $(LINUX_DIR)/drivers/usb/gadget/legacy/g_ether.ko + AUTOLOAD:=$(call AutoLoad,52,usb_f_ecm) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-gadget-eth/description + Kernel support for USB Ethernet Gadget +endef + +$(eval $(call KernelPackage,usb-gadget-eth)) + + +define KernelPackage/usb-gadget-serial + TITLE:=USB Serial Gadget support + KCONFIG:=CONFIG_USB_G_SERIAL + DEPENDS:=+kmod-usb-gadget +kmod-usb-lib-composite + FILES:= \ + $(LINUX_DIR)/drivers/usb/gadget/function/u_serial.ko \ + $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_acm.ko \ + $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_obex.ko \ + $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_serial.ko \ + $(LINUX_DIR)/drivers/usb/gadget/legacy/g_serial.ko + AUTOLOAD:=$(call AutoLoad,52,usb_f_acm) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-gadget-serial/description + Kernel support for USB Serial Gadget. +endef + +$(eval $(call KernelPackage,usb-gadget-serial)) + +define KernelPackage/usb-gadget-mass-storage + TITLE:=USB Mass Storage support + KCONFIG:=CONFIG_USB_MASS_STORAGE + DEPENDS:=+kmod-usb-gadget +kmod-usb-lib-composite + FILES:= \ + $(LINUX_DIR)/drivers/usb/gadget/function/usb_f_mass_storage.ko \ + $(LINUX_DIR)/drivers/usb/gadget/legacy/g_mass_storage.ko + AUTOLOAD:=$(call AutoLoad,52,usb_f_mass_storage) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-gadget-mass-storage/description + Kernel support for USB Gadget Mass Storage +endef + +$(eval $(call KernelPackage,usb-gadget-mass-storage)) + +define KernelPackage/usb-gadget-cdc-composite + TITLE:= USB CDC Composite (Ethernet + ACM) + KCONFIG:=CONFIG_USB_CDC_COMPOSITE + DEPENDS:=+kmod-usb-gadget +kmod-usb-lib-composite \ + +kmod-usb-gadget-eth +kmod-usb-gadget-serial + FILES:= $(LINUX_DIR)/drivers/usb/gadget/legacy/g_cdc.ko + $(call AddDepends/usb) +endef + +define KernelPackage/usb-gadget-cdc-composite/description + Kernel support for the USB CDC Composite gadget. + This appears as an ethernet + ACM serial gadget. +endef + +$(eval $(call KernelPackage,usb-gadget-cdc-composite)) + + +define KernelPackage/usb-uhci + TITLE:=Support for UHCI controllers + KCONFIG:= \ + CONFIG_USB_PCI=y \ + CONFIG_USB_UHCI_ALT \ + CONFIG_USB_UHCI_HCD + FILES:=$(LINUX_DIR)/drivers/usb/host/uhci-hcd.ko + AUTOLOAD:=$(call AutoLoad,50,uhci-hcd,1) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-uhci/description + Kernel support for USB UHCI controllers +endef + +$(eval $(call KernelPackage,usb-uhci,1)) + + +define KernelPackage/usb-ohci + TITLE:=Support for OHCI controllers + DEPENDS:= \ + +TARGET_bcm53xx:kmod-usb-bcma \ + +TARGET_bcm47xx:kmod-usb-bcma \ + +TARGET_bcm47xx:kmod-usb-ssb + KCONFIG:= \ + CONFIG_USB_OHCI \ + CONFIG_USB_OHCI_HCD \ + CONFIG_USB_OHCI_ATH79=y \ + CONFIG_USB_OHCI_HCD_AT91=y \ + CONFIG_USB_OHCI_BCM63XX=y \ + CONFIG_USB_OCTEON_OHCI=y \ + CONFIG_USB_OHCI_HCD_OMAP3=y \ + CONFIG_USB_OHCI_HCD_PLATFORM=y + FILES:= \ + $(LINUX_DIR)/drivers/usb/host/ohci-hcd.ko \ + $(LINUX_DIR)/drivers/usb/host/ohci-platform.ko + ifneq ($(wildcard $(LINUX_DIR)/drivers/usb/host/ohci-at91.ko),) + FILES+=$(LINUX_DIR)/drivers/usb/host/ohci-at91.ko + endif + AUTOLOAD:=$(call AutoLoad,50,ohci-hcd ohci-platform ohci-at91,1) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-ohci/description + Kernel support for USB OHCI controllers +endef + +$(eval $(call KernelPackage,usb-ohci,1)) + + +define KernelPackage/usb-ohci-pci + TITLE:=Support for PCI OHCI controllers + DEPENDS:=@PCI_SUPPORT +kmod-usb-ohci + KCONFIG:= \ + CONFIG_USB_PCI=y \ + CONFIG_USB_OHCI_HCD_PCI + FILES:=$(LINUX_DIR)/drivers/usb/host/ohci-pci.ko + AUTOLOAD:=$(call AutoLoad,51,ohci-pci,1) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-ohci-pci/description + Kernel support for PCI OHCI controllers +endef + +$(eval $(call KernelPackage,usb-ohci-pci)) + + +define KernelPackage/usb-bcma + TITLE:=Support for BCMA USB controllers + DEPENDS:=@USB_SUPPORT @TARGET_bcm47xx||TARGET_bcm53xx + HIDDEN:=1 + KCONFIG:=CONFIG_USB_HCD_BCMA + FILES:= \ + $(if $(CONFIG_USB_HCD_BCMA),$(LINUX_DIR)/drivers/usb/host/bcma-hcd.ko) + AUTOLOAD:=$(call AutoLoad,19,$(if $(CONFIG_USB_HCD_BCMA),bcma-hcd),1) + $(call AddDepends/usb) +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 + HIDDEN:=1 + KCONFIG:=CONFIG_USB_HCD_SSB + FILES:= \ + $(if $(CONFIG_USB_HCD_SSB),$(LINUX_DIR)/drivers/usb/host/ssb-hcd.ko) + AUTOLOAD:=$(call AutoLoad,19,$(if $(CONFIG_USB_HCD_SSB),ssb-hcd),1) + $(call AddDepends/usb) +endef +$(eval $(call KernelPackage,usb-ssb)) + +define KernelPackage/usb-ehci + TITLE:=EHCI controller support + HIDDEN:=1 + KCONFIG:= \ + CONFIG_USB_EHCI_HCD + FILES:= \ + $(LINUX_DIR)/drivers/usb/host/ehci-hcd.ko + AUTOLOAD:=$(call AutoLoad,35,ehci-hcd,1) + $(call AddDepends/usb) +endef +$(eval $(call KernelPackage,usb-ehci)) + +define KernelPackage/usb2 + TITLE:=Support for USB2 controllers + DEPENDS:=\ + +TARGET_bcm47xx:kmod-usb-bcma \ + +TARGET_bcm47xx:kmod-usb-ssb \ + +TARGET_bcm53xx:kmod-usb-bcma \ + +TARGET_bcm53xx:kmod-phy-bcm-ns-usb2 \ + +TARGET_ath79:kmod-phy-ath79-usb \ + +kmod-usb-ehci + KCONFIG:=\ + CONFIG_USB_EHCI_HCD_PLATFORM \ + CONFIG_USB_EHCI_BCM63XX=y \ + CONFIG_USB_IMX21_HCD=y \ + CONFIG_USB_EHCI_MXC=y \ + CONFIG_USB_OCTEON_EHCI=y \ + CONFIG_USB_EHCI_HCD_ORION=y \ + CONFIG_USB_EHCI_HCD_AT91=y \ + CONFIG_USB_EHCI_FSL + FILES:= \ + $(LINUX_DIR)/drivers/usb/host/ehci-platform.ko + ifneq ($(wildcard $(LINUX_DIR)/drivers/usb/host/ehci-orion.ko),) + FILES+=$(LINUX_DIR)/drivers/usb/host/ehci-orion.ko + endif + ifneq ($(wildcard $(LINUX_DIR)/drivers/usb/host/ehci-atmel.ko),) + FILES+=$(LINUX_DIR)/drivers/usb/host/ehci-atmel.ko + endif + ifneq ($(wildcard $(LINUX_DIR)/drivers/usb/host/ehci-fsl.ko),) + FILES+=$(LINUX_DIR)/drivers/usb/host/ehci-fsl.ko + endif + ifneq ($(wildcard $(LINUX_DIR)/drivers/usb/host/fsl-mph-dr-of.ko),) + FILES+=$(LINUX_DIR)/drivers/usb/host/fsl-mph-dr-of.ko + endif + AUTOLOAD:=$(call AutoLoad,40,ehci-hcd ehci-platform ehci-orion ehci-atmel ehci-fsl fsl-mph-dr-of,1) + $(call AddDepends/usb) +endef + +define KernelPackage/usb2/description + Kernel support for USB2 (EHCI) controllers +endef + +$(eval $(call KernelPackage,usb2)) + + +define KernelPackage/usb2-pci + TITLE:=Support for PCI USB2 controllers + DEPENDS:=@PCI_SUPPORT +kmod-usb2 + KCONFIG:= \ + CONFIG_USB_PCI=y \ + CONFIG_USB_EHCI_PCI + FILES:=$(LINUX_DIR)/drivers/usb/host/ehci-pci.ko + AUTOLOAD:=$(call AutoLoad,42,ehci-pci,1) + $(call AddDepends/usb) +endef + +define KernelPackage/usb2-pci/description + Kernel support for PCI USB2 (EHCI) controllers +endef + +$(eval $(call KernelPackage,usb2-pci)) + + +define KernelPackage/usb-dwc2 + TITLE:=DWC2 USB controller driver + DEPENDS:=+USB_GADGET_SUPPORT:kmod-usb-gadget + 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 \ + CONFIG_USB_DWC2_DEBUG_PERIODIC=n + FILES:= \ + $(LINUX_DIR)/drivers/usb/dwc2/dwc2.ko + AUTOLOAD:=$(call AutoLoad,54,dwc2,1) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-dwc2/description + This driver provides USB Device Controller support for the + Synopsys DesignWare USB OTG Core +endef + +$(eval $(call KernelPackage,usb-dwc2)) + + +define KernelPackage/usb-dwc3 + TITLE:=DWC3 USB controller driver + KCONFIG:= \ + CONFIG_USB_DWC3 \ + CONFIG_USB_DWC3_HOST=y \ + CONFIG_USB_DWC3_GADGET=n \ + CONFIG_USB_DWC3_DUAL_ROLE=n \ + CONFIG_USB_DWC3_DEBUG=n \ + CONFIG_USB_DWC3_VERBOSE=n + FILES:= $(LINUX_DIR)/drivers/usb/dwc3/dwc3.ko + AUTOLOAD:=$(call AutoLoad,54,dwc3,1) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-dwc3/description + This driver provides support for the Dual Role SuperSpeed + USB Controller based on the Synopsys DesignWare USB3 IP Core +endef + +$(eval $(call KernelPackage,usb-dwc3)) + + +define KernelPackage/usb-dwc3-of-simple + TITLE:=DWC3 USB simple OF driver + DEPENDS:=@!LINUX_4_19 @(TARGET_ipq40xx||TARGET_ipq806x||TARGET_ipq807x) +kmod-usb-dwc3 + KCONFIG:= CONFIG_USB_DWC3_OF_SIMPLE + FILES:= $(LINUX_DIR)/drivers/usb/dwc3/dwc3-of-simple.ko \ + $(LINUX_DIR)/drivers/usb/dwc3/dbm.ko + AUTOLOAD:=$(call AutoLoad,53,dwc3-of-simple,1) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-dwc3-of-simple/description + This driver provides generic platform glue for the integrated DesignWare + USB3 IP Core. +endef + + +$(eval $(call KernelPackage,usb-dwc3-of-simple)) + + +define KernelPackage/usb-dwc3-qcom + TITLE:=DWC3 Qualcomm USB driver + DEPENDS:=@(!LINUX_4_14) @(TARGET_ipq40xx||TARGET_ipq806x) +kmod-usb-dwc3 + KCONFIG:= CONFIG_USB_DWC3_QCOM + FILES:= $(LINUX_DIR)/drivers/usb/dwc3/dwc3-qcom.ko + AUTOLOAD:=$(call AutoLoad,53,dwc3-qcom,1) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-dwc3-qcom/description + Some Qualcomm SoCs use DesignWare Core IP for USB2/3 functionality. + This driver also handles Qscratch wrapper which is needed for + peripheral mode support. +endef + + +$(eval $(call KernelPackage,usb-dwc3-qcom)) + + +define KernelPackage/usb-acm + TITLE:=Support for modems/isdn controllers + KCONFIG:=CONFIG_USB_ACM + FILES:=$(LINUX_DIR)/drivers/usb/class/cdc-acm.ko + AUTOLOAD:=$(call AutoProbe,cdc-acm) +$(call AddDepends/usb) +endef + +define KernelPackage/usb-acm/description + Kernel support for USB ACM devices (modems/isdn controllers) +endef + +$(eval $(call KernelPackage,usb-acm)) + + +define KernelPackage/usb-wdm + TITLE:=USB Wireless Device Management + KCONFIG:=CONFIG_USB_WDM + FILES:=$(LINUX_DIR)/drivers/usb/class/cdc-wdm.ko + AUTOLOAD:=$(call AutoProbe,cdc-wdm) +$(call AddDepends/usb) +$(call AddDepends/usb-net) +endef + +define KernelPackage/usb-wdm/description + USB Wireless Device Management support +endef + +$(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) + $(call AddDepends/sound) + FILES:= \ + $(LINUX_DIR)/sound/usb/snd-usbmidi-lib.ko \ + $(LINUX_DIR)/sound/usb/snd-usb-audio.ko + AUTOLOAD:=$(call AutoProbe,snd-usbmidi-lib snd-usb-audio) +endef + +define KernelPackage/usb-audio/description + Kernel support for USB audio devices +endef + +$(eval $(call KernelPackage,usb-audio)) + + +define KernelPackage/usb-printer + TITLE:=Support for printers + KCONFIG:=CONFIG_USB_PRINTER + FILES:=$(LINUX_DIR)/drivers/usb/class/usblp.ko + AUTOLOAD:=$(call AutoProbe,usblp) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-printer/description + Kernel support for USB printers +endef + +$(eval $(call KernelPackage,usb-printer)) + + +define KernelPackage/usb-serial + TITLE:=Support for USB-to-Serial converters + KCONFIG:=CONFIG_USB_SERIAL + FILES:=$(LINUX_DIR)/drivers/usb/serial/usbserial.ko + AUTOLOAD:=$(call AutoProbe,usbserial) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-serial/description + Kernel support for USB-to-Serial converters +endef + +$(eval $(call KernelPackage,usb-serial)) + + +define AddDepends/usb-serial + SUBMENU:=$(USB_MENU) + DEPENDS+=+kmod-usb-serial $(1) +endef + + +define KernelPackage/usb-serial-belkin + TITLE:=Support for Belkin devices + KCONFIG:=CONFIG_USB_SERIAL_BELKIN + FILES:=$(LINUX_DIR)/drivers/usb/serial/belkin_sa.ko + AUTOLOAD:=$(call AutoProbe,belkin_sa) + $(call AddDepends/usb-serial) +endef + +define KernelPackage/usb-serial-belkin/description + Kernel support for Belkin USB-to-Serial converters +endef + +$(eval $(call KernelPackage,usb-serial-belkin)) + + +define KernelPackage/usb-serial-ch341 + TITLE:=Support for CH341 devices + KCONFIG:=CONFIG_USB_SERIAL_CH341 + FILES:=$(LINUX_DIR)/drivers/usb/serial/ch341.ko + AUTOLOAD:=$(call AutoProbe,ch341) + $(call AddDepends/usb-serial) +endef + +define KernelPackage/usb-serial-ch341/description + Kernel support for Winchiphead CH341 USB-to-Serial converters +endef + +$(eval $(call KernelPackage,usb-serial-ch341)) + + +define KernelPackage/usb-serial-edgeport + TITLE:=Support for Digi Edgeport devices + KCONFIG:=CONFIG_USB_SERIAL_EDGEPORT + FILES:=$(LINUX_DIR)/drivers/usb/serial/io_edgeport.ko + AUTOLOAD:=$(call AutoProbe,io_edgeport) + $(call AddDepends/usb-serial) + DEPENDS+=+edgeport-firmware +endef + +define KernelPackage/usb-serial-edgeport/description + Kernel support for Inside Out Networks (Digi) + Edgeport/4 + Rapidport/4 + Edgeport/4t + Edgeport/2 + Edgeport/4i + Edgeport/2i + Edgeport/421 + Edgeport/21 + Edgeport/8 + Edgeport/8 Dual + Edgeport/2D8 + Edgeport/4D8 + Edgeport/8i + Edgeport/2 DIN + Edgeport/4 DIN + Edgeport/16 Dual +endef + +$(eval $(call KernelPackage,usb-serial-edgeport)) + + +define KernelPackage/usb-serial-ftdi + TITLE:=Support for FTDI devices + KCONFIG:=CONFIG_USB_SERIAL_FTDI_SIO + FILES:=$(LINUX_DIR)/drivers/usb/serial/ftdi_sio.ko + AUTOLOAD:=$(call AutoProbe,ftdi_sio) + $(call AddDepends/usb-serial) +endef + +define KernelPackage/usb-serial-ftdi/description + Kernel support for FTDI USB-to-Serial converters +endef + +$(eval $(call KernelPackage,usb-serial-ftdi)) + + +define KernelPackage/usb-serial-garmin + TITLE:=Support for Garmin GPS devices + KCONFIG:=CONFIG_USB_SERIAL_GARMIN + FILES:=$(LINUX_DIR)/drivers/usb/serial/garmin_gps.ko + AUTOLOAD:=$(call AutoProbe,garmin_gps) + $(call AddDepends/usb-serial) +endef + +define KernelPackage/usb-serial-garmin/description + Should work with most Garmin GPS devices which have a native USB port. +endef + +$(eval $(call KernelPackage,usb-serial-garmin)) + + +define KernelPackage/usb-serial-simple + TITLE:=USB Serial Simple (Motorola phone) + KCONFIG:=CONFIG_USB_SERIAL_SIMPLE + FILES:=$(LINUX_DIR)/drivers/usb/serial/usb-serial-simple.ko + AUTOLOAD:=$(call AutoProbe,usb-serial-simple) + $(call AddDepends/usb-serial) +endef + +define KernelPackage/usb-serial-simple/description + Kernel support for "very simple devices". + +Specifically, it supports: + - Suunto ANT+ USB device. + - Medtronic CareLink USB device (3.18) + - Fundamental Software dongle. + - Google USB serial devices (3.19) + - HP4x calculators + - a number of Motorola phones + - Novatel Wireless GPS receivers (3.18) + - Siemens USB/MPI adapter. + - ViVOtech ViVOpay USB device. + - Infineon Modem Flashloader USB interface + - ZIO Motherboard USB serial interface +endef + +$(eval $(call KernelPackage,usb-serial-simple)) + + +define KernelPackage/usb-serial-ti-usb + TITLE:=Support for TI USB 3410/5052 + KCONFIG:=CONFIG_USB_SERIAL_TI + FILES:=$(LINUX_DIR)/drivers/usb/serial/ti_usb_3410_5052.ko + AUTOLOAD:=$(call AutoProbe,ti_usb_3410_5052) + $(call AddDepends/usb-serial) +endef + +define KernelPackage/usb-serial-ti-usb/description + Kernel support for TI USB 3410/5052 devices +endef + +$(eval $(call KernelPackage,usb-serial-ti-usb)) + + +define KernelPackage/usb-serial-ipw + TITLE:=Support for IPWireless 3G devices + KCONFIG:=CONFIG_USB_SERIAL_IPW + FILES:=$(LINUX_DIR)/drivers/usb/serial/ipw.ko + AUTOLOAD:=$(call AutoProbe,ipw) + $(call AddDepends/usb-serial,+kmod-usb-serial-wwan) +endef + +$(eval $(call KernelPackage,usb-serial-ipw)) + + +define KernelPackage/usb-serial-mct + TITLE:=Support for Magic Control Tech. devices + KCONFIG:=CONFIG_USB_SERIAL_MCT_U232 + FILES:=$(LINUX_DIR)/drivers/usb/serial/mct_u232.ko + AUTOLOAD:=$(call AutoProbe,mct_u232) + $(call AddDepends/usb-serial) +endef + +define KernelPackage/usb-serial-mct/description + Kernel support for Magic Control Technology USB-to-Serial converters +endef + +$(eval $(call KernelPackage,usb-serial-mct)) + + +define KernelPackage/usb-serial-mos7720 + TITLE:=Support for Moschip MOS7720 devices + KCONFIG:=CONFIG_USB_SERIAL_MOS7720 + FILES:=$(LINUX_DIR)/drivers/usb/serial/mos7720.ko + AUTOLOAD:=$(call AutoProbe,mos7720) + $(call AddDepends/usb-serial) +endef + +define KernelPackage/usb-serial-mos7720/description + Kernel support for Moschip MOS7720 USB-to-Serial converters +endef + +$(eval $(call KernelPackage,usb-serial-mos7720)) + + +define KernelPackage/usb-serial-mos7840 + TITLE:=Support for Moschip MOS7840 devices + KCONFIG:=CONFIG_USB_SERIAL_MOS7840 + FILES:=$(LINUX_DIR)/drivers/usb/serial/mos7840.ko + AUTOLOAD:=$(call AutoProbe,mos7840) + $(call AddDepends/usb-serial) +endef + +define KernelPackage/usb-serial-mos7840/description + Kernel support for Moschip MOS7840 USB-to-Serial converters +endef + +$(eval $(call KernelPackage,usb-serial-mos7840)) + + +define KernelPackage/usb-serial-pl2303 + TITLE:=Support for Prolific PL2303 devices + KCONFIG:=CONFIG_USB_SERIAL_PL2303 + FILES:=$(LINUX_DIR)/drivers/usb/serial/pl2303.ko + AUTOLOAD:=$(call AutoProbe,pl2303) + $(call AddDepends/usb-serial) +endef + +define KernelPackage/usb-serial-pl2303/description + Kernel support for Prolific PL2303 USB-to-Serial converters +endef + +$(eval $(call KernelPackage,usb-serial-pl2303)) + + +define KernelPackage/usb-serial-cp210x + TITLE:=Support for Silicon Labs cp210x devices + KCONFIG:=CONFIG_USB_SERIAL_CP210X + FILES:=$(LINUX_DIR)/drivers/usb/serial/cp210x.ko + AUTOLOAD:=$(call AutoProbe,cp210x) + $(call AddDepends/usb-serial) +endef + +define KernelPackage/usb-serial-cp210x/description + Kernel support for Silicon Labs cp210x USB-to-Serial converters +endef + +$(eval $(call KernelPackage,usb-serial-cp210x)) + + +define KernelPackage/usb-serial-ark3116 + TITLE:=Support for ArkMicroChips ARK3116 devices + KCONFIG:=CONFIG_USB_SERIAL_ARK3116 + FILES:=$(LINUX_DIR)/drivers/usb/serial/ark3116.ko + AUTOLOAD:=$(call AutoProbe,ark3116) + $(call AddDepends/usb-serial) +endef + +define KernelPackage/usb-serial-ark3116/description + Kernel support for ArkMicroChips ARK3116 USB-to-Serial converters +endef + +$(eval $(call KernelPackage,usb-serial-ark3116)) + + +define KernelPackage/usb-serial-oti6858 + TITLE:=Support for Ours Technology OTI6858 devices + KCONFIG:=CONFIG_USB_SERIAL_OTI6858 + FILES:=$(LINUX_DIR)/drivers/usb/serial/oti6858.ko + AUTOLOAD:=$(call AutoProbe,oti6858) + $(call AddDepends/usb-serial) +endef + +define KernelPackage/usb-serial-oti6858/description + Kernel support for Ours Technology OTI6858 USB-to-Serial converters +endef + +$(eval $(call KernelPackage,usb-serial-oti6858)) + + +define KernelPackage/usb-serial-sierrawireless + TITLE:=Support for Sierra Wireless devices + KCONFIG:=CONFIG_USB_SERIAL_SIERRAWIRELESS + FILES:=$(LINUX_DIR)/drivers/usb/serial/sierra.ko + AUTOLOAD:=$(call AutoProbe,sierra) + $(call AddDepends/usb-serial) +endef + +define KernelPackage/usb-serial-sierrawireless/description + Kernel support for Sierra Wireless devices +endef + +$(eval $(call KernelPackage,usb-serial-sierrawireless)) + + +define KernelPackage/usb-serial-visor + TITLE:=Support for Handspring Visor devices + KCONFIG:=CONFIG_USB_SERIAL_VISOR + FILES:=$(LINUX_DIR)/drivers/usb/serial/visor.ko + AUTOLOAD:=$(call AutoProbe,visor) + $(call AddDepends/usb-serial) +endef + +define KernelPackage/usb-serial-visor/description + Kernel support for Handspring Visor PDAs +endef + +$(eval $(call KernelPackage,usb-serial-visor)) + + +define KernelPackage/usb-serial-cypress-m8 + TITLE:=Support for CypressM8 USB-Serial + KCONFIG:=CONFIG_USB_SERIAL_CYPRESS_M8 + FILES:=$(LINUX_DIR)/drivers/usb/serial/cypress_m8.ko + AUTOLOAD:=$(call AutoProbe,cypress_m8) + $(call AddDepends/usb-serial) +endef + +define KernelPackage/usb-serial-cypress-m8/description + Kernel support for devices with Cypress M8 USB to Serial chip + (for example, the Delorme Earthmate LT-20 GPS) + Supported microcontrollers in the CY4601 family are: + CY7C63741 CY7C63742 CY7C63743 CY7C64013 +endef + +$(eval $(call KernelPackage,usb-serial-cypress-m8)) + + +define KernelPackage/usb-serial-keyspan + TITLE:=Support for Keyspan USB-to-Serial devices + KCONFIG:= \ + CONFIG_USB_SERIAL_KEYSPAN \ + CONFIG_USB_SERIAL_KEYSPAN_USA28 \ + CONFIG_USB_SERIAL_KEYSPAN_USA28X \ + CONFIG_USB_SERIAL_KEYSPAN_USA28XA \ + CONFIG_USB_SERIAL_KEYSPAN_USA28XB \ + CONFIG_USB_SERIAL_KEYSPAN_USA19 \ + CONFIG_USB_SERIAL_KEYSPAN_USA18X \ + CONFIG_USB_SERIAL_KEYSPAN_USA19W \ + CONFIG_USB_SERIAL_KEYSPAN_USA19QW \ + CONFIG_USB_SERIAL_KEYSPAN_USA19QI \ + CONFIG_USB_SERIAL_KEYSPAN_MPR \ + CONFIG_USB_SERIAL_KEYSPAN_USA49W \ + CONFIG_USB_SERIAL_KEYSPAN_USA49WLC + FILES:= \ + $(LINUX_DIR)/drivers/usb/serial/keyspan.ko \ + $(wildcard $(LINUX_DIR)/drivers/usb/misc/ezusb.ko) + AUTOLOAD:=$(call AutoProbe,ezusb keyspan) + $(call AddDepends/usb-serial) +endef + +define KernelPackage/usb-serial-keyspan/description + Kernel support for Keyspan USB-to-Serial devices +endef + +$(eval $(call KernelPackage,usb-serial-keyspan)) + + +define KernelPackage/usb-serial-wwan + TITLE:=Support for GSM and CDMA modems + KCONFIG:=CONFIG_USB_SERIAL_WWAN + FILES:=$(LINUX_DIR)/drivers/usb/serial/usb_wwan.ko + HIDDEN:=1 + AUTOLOAD:=$(call AutoProbe,usb_wwan) + $(call AddDepends/usb-serial) +endef + +define KernelPackage/usb-serial-wwan/description + Kernel support for USB GSM and CDMA modems +endef + +$(eval $(call KernelPackage,usb-serial-wwan)) + + +define KernelPackage/usb-serial-option + TITLE:=Support for Option HSDPA modems + KCONFIG:=CONFIG_USB_SERIAL_OPTION + FILES:=$(LINUX_DIR)/drivers/usb/serial/option.ko + AUTOLOAD:=$(call AutoProbe,option) + $(call AddDepends/usb-serial,+kmod-usb-serial-wwan) +endef + +define KernelPackage/usb-serial-option/description + Kernel support for Option HSDPA modems +endef + +$(eval $(call KernelPackage,usb-serial-option)) + + +define KernelPackage/usb-serial-qualcomm + TITLE:=Support for Qualcomm USB serial + KCONFIG:=CONFIG_USB_SERIAL_QUALCOMM + FILES:=$(LINUX_DIR)/drivers/usb/serial/qcserial.ko + AUTOLOAD:=$(call AutoProbe,qcserial) + $(call AddDepends/usb-serial,+kmod-usb-serial-wwan) +endef + +define KernelPackage/usb-serial-qualcomm/description + Kernel support for Qualcomm USB Serial devices (Gobi) +endef + +$(eval $(call KernelPackage,usb-serial-qualcomm)) + + +define KernelPackage/usb-storage + TITLE:=USB Storage support + DEPENDS:= +kmod-scsi-core + KCONFIG:=CONFIG_USB_STORAGE + FILES:=$(LINUX_DIR)/drivers/usb/storage/usb-storage.ko + AUTOLOAD:=$(call AutoProbe,usb-storage,1) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-storage/description + Kernel support for USB Mass Storage devices +endef + +$(eval $(call KernelPackage,usb-storage)) + + +define KernelPackage/usb-storage-extras + SUBMENU:=$(USB_MENU) + TITLE:=Extra drivers for usb-storage + DEPENDS:=+kmod-usb-storage + KCONFIG:= \ + CONFIG_USB_STORAGE_ALAUDA \ + CONFIG_USB_STORAGE_CYPRESS_ATACB \ + CONFIG_USB_STORAGE_DATAFAB \ + CONFIG_USB_STORAGE_FREECOM \ + CONFIG_USB_STORAGE_ISD200 \ + CONFIG_USB_STORAGE_JUMPSHOT \ + CONFIG_USB_STORAGE_KARMA \ + CONFIG_USB_STORAGE_SDDR09 \ + CONFIG_USB_STORAGE_SDDR55 \ + CONFIG_USB_STORAGE_USBAT + FILES:= \ + $(LINUX_DIR)/drivers/usb/storage/ums-alauda.ko \ + $(LINUX_DIR)/drivers/usb/storage/ums-cypress.ko \ + $(LINUX_DIR)/drivers/usb/storage/ums-datafab.ko \ + $(LINUX_DIR)/drivers/usb/storage/ums-freecom.ko \ + $(LINUX_DIR)/drivers/usb/storage/ums-isd200.ko \ + $(LINUX_DIR)/drivers/usb/storage/ums-jumpshot.ko \ + $(LINUX_DIR)/drivers/usb/storage/ums-karma.ko \ + $(LINUX_DIR)/drivers/usb/storage/ums-sddr09.ko \ + $(LINUX_DIR)/drivers/usb/storage/ums-sddr55.ko \ + $(LINUX_DIR)/drivers/usb/storage/ums-usbat.ko + AUTOLOAD:=$(call AutoProbe,ums-alauda ums-cypress ums-datafab \ + ums-freecom ums-isd200 ums-jumpshot \ + ums-karma ums-sddr09 ums-sddr55 ums-usbat) +endef + +define KernelPackage/usb-storage-extras/description + Say Y here if you want to have some more drivers, + such as for SmartMedia card readers +endef + +$(eval $(call KernelPackage,usb-storage-extras)) + + +define KernelPackage/usb-storage-uas + SUBMENU:=$(USB_MENU) + TITLE:=USB Attached SCSI (UASP) support + DEPENDS:=+kmod-usb-storage + KCONFIG:=CONFIG_USB_UAS + FILES:=$(LINUX_DIR)/drivers/usb/storage/uas.ko + AUTOLOAD:=$(call AutoProbe,uas,1) +endef + +define KernelPackage/usb-storage-uas/description + Say Y here if you want to include support for + USB Attached SCSI (UAS/UASP), a higher + performance protocol available on many + newer USB 3.0 storage devices +endef + +$(eval $(call KernelPackage,usb-storage-uas)) + + +define KernelPackage/usb-atm + TITLE:=Support for ATM on USB bus + DEPENDS:=+kmod-atm + KCONFIG:=CONFIG_USB_ATM + FILES:=$(LINUX_DIR)/drivers/usb/atm/usbatm.ko + AUTOLOAD:=$(call AutoProbe,usbatm) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-atm/description + Kernel support for USB DSL modems +endef + +$(eval $(call KernelPackage,usb-atm)) + + +define AddDepends/usb-atm + SUBMENU:=$(USB_MENU) + DEPENDS+=kmod-usb-atm $(1) +endef + + +define KernelPackage/usb-atm-speedtouch + TITLE:=SpeedTouch USB ADSL modems support + KCONFIG:=CONFIG_USB_SPEEDTOUCH + FILES:=$(LINUX_DIR)/drivers/usb/atm/speedtch.ko + AUTOLOAD:=$(call AutoProbe,speedtch) + $(call AddDepends/usb-atm) +endef + +define KernelPackage/usb-atm-speedtouch/description + Kernel support for SpeedTouch USB ADSL modems +endef + +$(eval $(call KernelPackage,usb-atm-speedtouch)) + + +define KernelPackage/usb-atm-ueagle + TITLE:=Eagle 8051 based USB ADSL modems support + FILES:=$(LINUX_DIR)/drivers/usb/atm/ueagle-atm.ko + KCONFIG:=CONFIG_USB_UEAGLEATM + AUTOLOAD:=$(call AutoProbe,ueagle-atm) + $(call AddDepends/usb-atm) +endef + +define KernelPackage/usb-atm-ueagle/description + Kernel support for Eagle 8051 based USB ADSL modems +endef + +$(eval $(call KernelPackage,usb-atm-ueagle)) + + +define KernelPackage/usb-atm-cxacru + TITLE:=cxacru + FILES:=$(LINUX_DIR)/drivers/usb/atm/cxacru.ko + KCONFIG:=CONFIG_USB_CXACRU + AUTOLOAD:=$(call AutoProbe,cxacru) + $(call AddDepends/usb-atm) +endef + +define KernelPackage/usb-atm-cxacru/description + Kernel support for cxacru based USB ADSL modems +endef + +$(eval $(call KernelPackage,usb-atm-cxacru)) + + +define KernelPackage/usb-net + TITLE:=Kernel modules for USB-to-Ethernet convertors + DEPENDS:=+kmod-mii + KCONFIG:=CONFIG_USB_USBNET \ + CONFIG_USB_NET_DRIVERS + AUTOLOAD:=$(call AutoProbe,usbnet) + FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/usbnet.ko + $(call AddDepends/usb) +endef + +define KernelPackage/usb-net/description + Kernel modules for USB-to-Ethernet convertors +endef + +$(eval $(call KernelPackage,usb-net)) + + +define AddDepends/usb-net + SUBMENU:=$(USB_MENU) + DEPENDS+=+kmod-usb-net $(1) +endef + + +define KernelPackage/usb-net-aqc111 + TITLE:=Support for USB-to-Ethernet Aquantia AQtion 5/2.5GbE + KCONFIG:=CONFIG_USB_NET_AQC111 + FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/aqc111.ko + AUTOLOAD:=$(call AutoProbe,aqc111) + $(call AddDepends/usb-net) +endef + +define KernelPackage/usb-net-aqc111/description + Support for USB-to-Ethernet Aquantia AQtion 5/2.5GbE +endef + +$(eval $(call KernelPackage,usb-net-aqc111)) + + +define KernelPackage/usb-net-asix + TITLE:=Kernel module for USB-to-Ethernet Asix convertors + DEPENDS:=+kmod-libphy + KCONFIG:=CONFIG_USB_NET_AX8817X + FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/asix.ko + AUTOLOAD:=$(call AutoProbe,asix) + $(call AddDepends/usb-net) +endef + +define KernelPackage/usb-net-asix/description + Kernel module for USB-to-Ethernet Asix convertors +endef + +$(eval $(call KernelPackage,usb-net-asix)) + + +define KernelPackage/usb-net-asix-ax88179 + TITLE:=Kernel module for USB-to-Gigabit-Ethernet Asix convertors + DEPENDS:=+kmod-libphy + KCONFIG:=CONFIG_USB_NET_AX88179_178A + FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/ax88179_178a.ko + AUTOLOAD:=$(call AutoProbe,ax88179_178a) + $(call AddDepends/usb-net) +endef + +define KernelPackage/usb-net-asix-ax88179/description + Kernel module for USB-to-Ethernet ASIX AX88179 based USB 3.0/2.0 + to Gigabit Ethernet adapters. +endef + +$(eval $(call KernelPackage,usb-net-asix-ax88179)) + + +define KernelPackage/usb-net-hso + TITLE:=Kernel module for Option USB High Speed Mobile Devices + KCONFIG:=CONFIG_USB_HSO + FILES:= \ + $(LINUX_DIR)/drivers/$(USBNET_DIR)/hso.ko + AUTOLOAD:=$(call AutoProbe,hso) + $(call AddDepends/usb-net) + $(call AddDepends/rfkill) +endef + +define KernelPackage/usb-net-hso/description + Kernel module for Option USB High Speed Mobile Devices +endef + +$(eval $(call KernelPackage,usb-net-hso)) + + +define KernelPackage/usb-net-kaweth + TITLE:=Kernel module for USB-to-Ethernet Kaweth convertors + KCONFIG:=CONFIG_USB_KAWETH + FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/kaweth.ko + AUTOLOAD:=$(call AutoProbe,kaweth) + $(call AddDepends/usb-net) +endef + +define KernelPackage/usb-net-kaweth/description + Kernel module for USB-to-Ethernet Kaweth convertors +endef + +$(eval $(call KernelPackage,usb-net-kaweth)) + + +define KernelPackage/usb-net-pegasus + TITLE:=Kernel module for USB-to-Ethernet Pegasus convertors + KCONFIG:=CONFIG_USB_PEGASUS + FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/pegasus.ko + AUTOLOAD:=$(call AutoProbe,pegasus) + $(call AddDepends/usb-net) +endef + +define KernelPackage/usb-net-pegasus/description + Kernel module for USB-to-Ethernet Pegasus convertors +endef + +$(eval $(call KernelPackage,usb-net-pegasus)) + + +define KernelPackage/usb-net-mcs7830 + TITLE:=Kernel module for USB-to-Ethernet MCS7830 convertors + KCONFIG:=CONFIG_USB_NET_MCS7830 + FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/mcs7830.ko + AUTOLOAD:=$(call AutoProbe,mcs7830) + $(call AddDepends/usb-net) +endef + +define KernelPackage/usb-net-mcs7830/description + Kernel module for USB-to-Ethernet MCS7830 convertors +endef + +$(eval $(call KernelPackage,usb-net-mcs7830)) + + +define KernelPackage/usb-net-smsc95xx + TITLE:=SMSC LAN95XX based USB 2.0 10/100 ethernet devices + KCONFIG:=CONFIG_USB_NET_SMSC95XX + FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/smsc95xx.ko + AUTOLOAD:=$(call AutoProbe,smsc95xx) + $(call AddDepends/usb-net, +kmod-lib-crc16) +endef + +define KernelPackage/usb-net-smsc95xx/description + Kernel module for SMSC LAN95XX based devices +endef + +$(eval $(call KernelPackage,usb-net-smsc95xx)) + + +define KernelPackage/usb-net-dm9601-ether + TITLE:=Support for DM9601 ethernet connections + KCONFIG:=CONFIG_USB_NET_DM9601 + FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/dm9601.ko + AUTOLOAD:=$(call AutoProbe,dm9601) + $(call AddDepends/usb-net) +endef + +define KernelPackage/usb-net-dm9601-ether/description + Kernel support for USB DM9601 devices +endef + +$(eval $(call KernelPackage,usb-net-dm9601-ether)) + +define KernelPackage/usb-net-cdc-ether + TITLE:=Support for cdc ethernet connections + KCONFIG:=CONFIG_USB_NET_CDCETHER + FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_ether.ko + AUTOLOAD:=$(call AutoProbe,cdc_ether) + $(call AddDepends/usb-net) +endef + +define KernelPackage/usb-net-cdc-ether/description + Kernel support for USB CDC Ethernet devices +endef + +$(eval $(call KernelPackage,usb-net-cdc-ether)) + + +define KernelPackage/usb-net-cdc-eem + TITLE:=Support for CDC EEM connections + KCONFIG:=CONFIG_USB_NET_CDC_EEM + FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_eem.ko + AUTOLOAD:=$(call AutoProbe,cdc_eem) + $(call AddDepends/usb-net) +endef + +define KernelPackage/usb-net-cdc-eem/description + Kernel support for USB CDC EEM +endef + +$(eval $(call KernelPackage,usb-net-cdc-eem)) + + +define KernelPackage/usb-net-cdc-subset + TITLE:=Support for CDC Ethernet subset connections + KCONFIG:= \ + CONFIG_USB_NET_CDC_SUBSET \ + CONFIG_USB_ARMLINUX + FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_subset.ko + AUTOLOAD:=$(call AutoProbe,cdc_subset) + $(call AddDepends/usb-net) +endef + +define KernelPackage/usb-net-cdc-subset/description + Kernel support for Simple USB Network Links (CDC Ethernet subset) +endef + +$(eval $(call KernelPackage,usb-net-cdc-subset)) + + +define KernelPackage/usb-net-qmi-wwan + TITLE:=QMI WWAN driver + KCONFIG:=CONFIG_USB_NET_QMI_WWAN + FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/qmi_wwan.ko + AUTOLOAD:=$(call AutoProbe,qmi_wwan) + $(call AddDepends/usb-net,+kmod-usb-wdm) +endef + +define KernelPackage/usb-net-qmi-wwan/description + QMI WWAN driver for Qualcomm MSM based 3G and LTE modems +endef + +$(eval $(call KernelPackage,usb-net-qmi-wwan)) + + +define KernelPackage/usb-net-rtl8150 + TITLE:=Kernel module for USB-to-Ethernet Realtek convertors + KCONFIG:=CONFIG_USB_RTL8150 + FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/rtl8150.ko + AUTOLOAD:=$(call AutoProbe,rtl8150) + $(call AddDepends/usb-net) +endef + +define KernelPackage/usb-net-rtl8150/description + Kernel module for USB-to-Ethernet Realtek 8150 convertors +endef + +$(eval $(call KernelPackage,usb-net-rtl8150)) + + +define KernelPackage/usb-net-rtl8152 + TITLE:=Kernel module for USB-to-Ethernet Realtek convertors + KCONFIG:=CONFIG_USB_RTL8152 + FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/r8152.ko + AUTOLOAD:=$(call AutoProbe,r8152) + $(call AddDepends/usb-net) +endef + +define KernelPackage/usb-net-rtl8152/description + Kernel module for USB-to-Ethernet Realtek 8152 USB2.0/3.0 convertors +endef + +$(eval $(call KernelPackage,usb-net-rtl8152)) + + +define KernelPackage/usb-net-sr9700 + TITLE:=Support for CoreChip SR9700 ethernet devices + KCONFIG:=CONFIG_USB_NET_SR9700 + FILES:=$(LINUX_DIR)/drivers/$(USBNET_DIR)/sr9700.ko + AUTOLOAD:=$(call AutoProbe,sr9700) + $(call AddDepends/usb-net) +endef + +define KernelPackage/usb-net-sr9700/description + Kernel module for CoreChip-sz SR9700 based USB 1.1 10/100 ethernet devices +endef + +$(eval $(call KernelPackage,usb-net-sr9700)) + + +define KernelPackage/usb-net-rndis + TITLE:=Support for RNDIS connections + KCONFIG:=CONFIG_USB_NET_RNDIS_HOST + FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/rndis_host.ko + AUTOLOAD:=$(call AutoProbe,rndis_host) + $(call AddDepends/usb-net,+kmod-usb-net-cdc-ether) +endef + +define KernelPackage/usb-net-rndis/description + Kernel support for RNDIS connections +endef + +$(eval $(call KernelPackage,usb-net-rndis)) + + +define KernelPackage/usb-net-cdc-mbim + SUBMENU:=$(USB_MENU) + TITLE:=Kernel module for MBIM Devices + KCONFIG:=CONFIG_USB_NET_CDC_MBIM + FILES:= \ + $(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_mbim.ko + AUTOLOAD:=$(call AutoProbe,cdc_mbim) + $(call AddDepends/usb-net,+kmod-usb-wdm +kmod-usb-net-cdc-ncm) +endef + +define KernelPackage/usb-net-cdc-mbim/description + Kernel module for CDC MBIM (Mobile Broadband Interface Model) devices +endef + +$(eval $(call KernelPackage,usb-net-cdc-mbim)) + + +define KernelPackage/usb-net-cdc-ncm + TITLE:=Support for CDC NCM connections + KCONFIG:=CONFIG_USB_NET_CDC_NCM + FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/cdc_ncm.ko + AUTOLOAD:=$(call AutoProbe,cdc_ncm) + $(call AddDepends/usb-net,+kmod-usb-net-cdc-ether) +endef + +define KernelPackage/usb-net-cdc-ncm/description + Kernel support for CDC NCM connections +endef + +$(eval $(call KernelPackage,usb-net-cdc-ncm)) + + +define KernelPackage/usb-net-huawei-cdc-ncm + TITLE:=Support for Huawei CDC NCM connections + KCONFIG:=CONFIG_USB_NET_HUAWEI_CDC_NCM + FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/huawei_cdc_ncm.ko + AUTOLOAD:=$(call AutoProbe,huawei_cdc_ncm) + $(call AddDepends/usb-net,+kmod-usb-net-cdc-ncm +kmod-usb-wdm) +endef + +define KernelPackage/usb-net-huawei-cdc-ncm/description + Kernel support for Huawei CDC NCM connections +endef + +$(eval $(call KernelPackage,usb-net-huawei-cdc-ncm)) + + +define KernelPackage/usb-net-sierrawireless + TITLE:=Support for Sierra Wireless devices + KCONFIG:=CONFIG_USB_SIERRA_NET + FILES:=$(LINUX_DIR)/drivers/net/usb/sierra_net.ko + AUTOLOAD:=$(call AutoProbe,sierra_net) + $(call AddDepends/usb-net) +endef + +define KernelPackage/usb-net-sierrawireless/description + Kernel support for Sierra Wireless devices +endef + +$(eval $(call KernelPackage,usb-net-sierrawireless)) + + +define KernelPackage/usb-net-ipheth + TITLE:=Apple iPhone USB Ethernet driver + KCONFIG:=CONFIG_USB_IPHETH + FILES:=$(LINUX_DIR)/drivers/net/usb/ipheth.ko + AUTOLOAD:=$(call AutoProbe,ipheth) + $(call AddDepends/usb-net) +endef + +define KernelPackage/usb-net-ipheth/description + Kernel support for Apple iPhone USB Ethernet driver +endef + +$(eval $(call KernelPackage,usb-net-ipheth)) + + +define KernelPackage/usb-net-kalmia + TITLE:=Samsung Kalmia based LTE USB modem + KCONFIG:=CONFIG_USB_NET_KALMIA + FILES:=$(LINUX_DIR)/drivers/net/usb/kalmia.ko + AUTOLOAD:=$(call AutoProbe,kalmia) + $(call AddDepends/usb-net) +endef + +define KernelPackage/usb-net-kalmia/description + Kernel support for Samsung Kalmia based LTE USB modem +endef + +$(eval $(call KernelPackage,usb-net-kalmia)) + +define KernelPackage/usb-net-pl + TITLE:=Prolific PL-2301/2302/25A1 based cables + KCONFIG:=CONFIG_USB_NET_PLUSB + FILES:=$(LINUX_DIR)/drivers/net/usb/plusb.ko + AUTOLOAD:=$(call AutoProbe,plusb) + $(call AddDepends/usb-net) +endef + +define KernelPackage/usb-net-pl/description + Kernel support for Prolific PL-2301/2302/25A1 based cables +endef + +$(eval $(call KernelPackage,usb-net-pl)) + +define KernelPackage/usb-hid + TITLE:=Support for USB Human Input Devices + KCONFIG:=CONFIG_HID_SUPPORT=y CONFIG_USB_HID CONFIG_USB_HIDDEV=y + DEPENDS:=+kmod-hid +kmod-hid-generic +kmod-input-evdev + FILES:=$(LINUX_DIR)/drivers/$(USBHID_DIR)/usbhid.ko + AUTOLOAD:=$(call AutoProbe,usbhid) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-hid/description + Kernel support for USB HID devices such as keyboards and mice +endef + +$(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 + FILES:=$(LINUX_DIR)/drivers/hid/hid-cp2112.ko + AUTOLOAD:=$(call AutoProbe,hid-cp2112) +endef + +define KernelPackage/usb-hid-cp2112/description + HID device driver which registers as an i2c adapter and gpiochip to expose + these functions of the CP2112. +endef + +$(eval $(call KernelPackage,usb-hid-cp2112)) + + +define KernelPackage/usb-yealink + TITLE:=USB Yealink VOIP phone + DEPENDS:=+kmod-input-evdev + KCONFIG:=CONFIG_USB_YEALINK CONFIG_INPUT_YEALINK CONFIG_INPUT=m CONFIG_INPUT_MISC=y + FILES:=$(LINUX_DIR)/drivers/$(USBINPUT_DIR)/yealink.ko + AUTOLOAD:=$(call AutoProbe,yealink) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-yealink/description + Kernel support for Yealink VOIP phone +endef + +$(eval $(call KernelPackage,usb-yealink)) + + +define KernelPackage/usb-cm109 + TITLE:=Support for CM109 device + DEPENDS:=+kmod-input-evdev + KCONFIG:=CONFIG_USB_CM109 CONFIG_INPUT_CM109 CONFIG_INPUT=m CONFIG_INPUT_MISC=y + FILES:=$(LINUX_DIR)/drivers/$(USBINPUT_DIR)/cm109.ko + AUTOLOAD:=$(call AutoProbe,cm109) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-cm109/description + Kernel support for CM109 VOIP phone +endef + +$(eval $(call KernelPackage,usb-cm109)) + + +define KernelPackage/usb-test + TITLE:=USB Testing Driver + DEPENDS:=@DEVEL + KCONFIG:=CONFIG_USB_TEST + FILES:=$(LINUX_DIR)/drivers/usb/misc/usbtest.ko + $(call AddDepends/usb) +endef + +define KernelPackage/usb-test/description + Kernel support for testing USB Host Controller software +endef + +$(eval $(call KernelPackage,usb-test)) + + +define KernelPackage/usbip + TITLE := USB-over-IP kernel support + KCONFIG:= \ + CONFIG_USBIP_CORE \ + CONFIG_USBIP_DEBUG=n + FILES:=$(LINUX_DIR)/drivers/usb/usbip/usbip-core.ko + AUTOLOAD:=$(call AutoProbe,usbip-core) + $(call AddDepends/usb) +endef + +$(eval $(call KernelPackage,usbip)) + + +define KernelPackage/usbip-client + TITLE := USB-over-IP client driver + DEPENDS := +kmod-usbip + KCONFIG := CONFIG_USBIP_VHCI_HCD + FILES :=$(LINUX_DIR)/drivers/usb/usbip/vhci-hcd.ko + AUTOLOAD := $(call AutoProbe,vhci-hcd) + $(call AddDepends/usb) +endef + +$(eval $(call KernelPackage,usbip-client)) + + +define KernelPackage/usbip-server +$(call KernelPackage/usbip/Default) + TITLE := USB-over-IP host driver + DEPENDS := +kmod-usbip + KCONFIG := CONFIG_USBIP_HOST + FILES :=$(LINUX_DIR)/drivers/usb/usbip/usbip-host.ko + AUTOLOAD := $(call AutoProbe,usbip-host) + $(call AddDepends/usb) +endef + +$(eval $(call KernelPackage,usbip-server)) + + +define KernelPackage/usb-chipidea + TITLE:=Host and device support for Chipidea controllers + DEPENDS:=+USB_GADGET_SUPPORT:kmod-usb-gadget @TARGET_ath79 +kmod-usb-ehci +kmod-usb-phy-nop + KCONFIG:= \ + CONFIG_EXTCON \ + CONFIG_USB_CHIPIDEA \ + CONFIG_USB_CHIPIDEA_HOST=y \ + CONFIG_USB_CHIPIDEA_UDC=y \ + CONFIG_USB_CHIPIDEA_DEBUG=y + FILES:= \ + $(LINUX_DIR)/drivers/extcon/extcon-core.ko \ + $(LINUX_DIR)/drivers/usb/chipidea/ci_hdrc.ko \ + $(LINUX_DIR)/drivers/usb/common/ulpi.ko \ + $(LINUX_DIR)/drivers/usb/roles/roles.ko + AUTOLOAD:=$(call AutoLoad,39,ci_hdrc,1) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-chipidea/description + Kernel support for USB Chipidea controllers +endef + +$(eval $(call KernelPackage,usb-chipidea)) + + +define KernelPackage/usb-chipidea2 + TITLE:=Host and device support for Chipidea2 controllers + DEPENDS:=+kmod-usb-chipidea + KCONFIG:= \ + CONFIG_EXTCON \ + CONFIG_USB_CHIPIDEA \ + CONFIG_USB_CHIPIDEA_HOST=y \ + CONFIG_USB_CHIPIDEA_UDC=y \ + CONFIG_USB_CHIPIDEA_DEBUG=y + FILES:= \ + $(LINUX_DIR)/drivers/extcon/extcon-core.ko \ + $(LINUX_DIR)/drivers/usb/chipidea/ci_hdrc_usb2.ko + AUTOLOAD:=$(call AutoLoad,39,ci_hdrc_usb2,1) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-chipidea2/description + Kernel support for USB Chipidea controllers +endef + +$(eval $(call KernelPackage,usb-chipidea2)) + + +define KernelPackage/usbmon + TITLE:=USB traffic monitor + KCONFIG:=CONFIG_USB_MON + $(call AddDepends/usb) + FILES:=$(LINUX_DIR)/drivers/usb/mon/usbmon.ko + AUTOLOAD:=$(call AutoProbe,usbmon) +endef + +define KernelPackage/usbmon/description + Kernel support for USB traffic monitoring +endef + +$(eval $(call KernelPackage,usbmon)) + +XHCI_MODULES := xhci-hcd xhci-pci xhci-plat-hcd +ifdef CONFIG_TARGET_ramips_mt7621 + XHCI_MODULES += xhci-mtk +endif +XHCI_FILES := $(wildcard $(patsubst %,$(LINUX_DIR)/drivers/usb/host/%.ko,$(XHCI_MODULES))) +XHCI_AUTOLOAD := $(patsubst $(LINUX_DIR)/drivers/usb/host/%.ko,%,$(XHCI_FILES)) + +define KernelPackage/usb3 + TITLE:=Support for USB3 controllers + DEPENDS:= \ + +TARGET_bcm53xx:kmod-usb-bcma \ + +TARGET_bcm53xx:kmod-phy-bcm-ns-usb3 + KCONFIG:= \ + CONFIG_USB_PCI=y \ + CONFIG_USB_XHCI_HCD \ + CONFIG_USB_XHCI_PCI \ + CONFIG_USB_XHCI_PLATFORM \ + CONFIG_USB_XHCI_MTK \ + CONFIG_USB_XHCI_HCD_DEBUGGING=n + FILES:= \ + $(XHCI_FILES) + AUTOLOAD:=$(call AutoLoad,54,$(XHCI_AUTOLOAD),1) + $(call AddDepends/usb) +endef + +define KernelPackage/usb3/description + Kernel support for USB3 (XHCI) controllers +endef + +$(eval $(call KernelPackage,usb3)) + + +define KernelPackage/usb-net2280 + TITLE:=Support for NetChip 228x PCI USB peripheral controller + KCONFIG:= \ + CONFIG_USB_PCI=y \ + CONFIG_USB_NET2280 + DEPENDS:=@PCI_SUPPORT +kmod-usb-gadget + FILES:=$(LINUX_DIR)/drivers/usb/gadget/udc/net2280.ko + AUTOLOAD:=$(call AutoLoad,46,net2280) + $(call AddDepends/usb) +endef + +define KernelPackage/usb-net2280/description + Kernel support for NetChip 228x / PLX USB338x PCI USB peripheral controller. +endef + +$(eval $(call KernelPackage,usb-net2280)) + +define KernelPackage/chaoskey + SUBMENU:=$(USB_MENU) + TITLE:=Chaoskey hardware RNG support + DEPENDS:=+kmod-random-core + KCONFIG:=CONFIG_USB_CHAOSKEY + FILES:=$(LINUX_DIR)/drivers/usb/misc/chaoskey.ko + AUTOLOAD:=$(call AutoProbe,chaoskey) + $(call AddDepends/usb) +endef + +define KernelPackage/chaoskey/description + Kernel module for chaoskey, USB attached true random number generator +endef + +$(eval $(call KernelPackage,chaoskey)) + diff --git a/feeds/ipq807x/linux/modules/video.mk b/feeds/ipq807x/linux/modules/video.mk new file mode 100644 index 000000000..a50fdad57 --- /dev/null +++ b/feeds/ipq807x/linux/modules/video.mk @@ -0,0 +1,1025 @@ +# +# Copyright (C) 2009 David Cooper +# Copyright (C) 2006-2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +VIDEO_MENU:=Video Support + +V4L2_DIR=v4l2-core +V4L2_USB_DIR=usb + +# +# Video Display +# + +define KernelPackage/backlight + SUBMENU:=$(VIDEO_MENU) + TITLE:=Backlight support + DEPENDS:=@DISPLAY_SUPPORT + HIDDEN:=1 + KCONFIG:=CONFIG_BACKLIGHT_CLASS_DEVICE \ + CONFIG_BACKLIGHT_LCD_SUPPORT=y \ + CONFIG_LCD_CLASS_DEVICE=n \ + CONFIG_BACKLIGHT_GENERIC=n \ + CONFIG_BACKLIGHT_ADP8860=n \ + CONFIG_BACKLIGHT_ADP8870=n \ + CONFIG_BACKLIGHT_OT200=n \ + CONFIG_BACKLIGHT_PM8941_WLED=n + FILES:=$(LINUX_DIR)/drivers/video/backlight/backlight.ko + AUTOLOAD:=$(call AutoProbe,video backlight) +endef + +define KernelPackage/backlight/description + Kernel module for Backlight support. +endef + +$(eval $(call KernelPackage,backlight)) + +define KernelPackage/backlight-pwm + SUBMENU:=$(VIDEO_MENU) + TITLE:=PWM Backlight support + DEPENDS:=+kmod-backlight + KCONFIG:=CONFIG_BACKLIGHT_PWM + FILES:=$(LINUX_DIR)/drivers/video/backlight/pwm_bl.ko + AUTOLOAD:=$(call AutoProbe,video pwm_bl) +endef + +define KernelPackage/backlight-pwm/description + Kernel module for PWM based Backlight support. +endef + +$(eval $(call KernelPackage,backlight-pwm)) + + +define KernelPackage/fb + SUBMENU:=$(VIDEO_MENU) + TITLE:=Framebuffer and framebuffer console support + DEPENDS:=@DISPLAY_SUPPORT + KCONFIG:= \ + CONFIG_FB \ + CONFIG_FB_MXS=n \ + CONFIG_FB_SM750=n \ + CONFIG_FRAMEBUFFER_CONSOLE=y \ + CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y \ + CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y \ + CONFIG_FONTS=y \ + CONFIG_FONT_8x8=y \ + CONFIG_FONT_8x16=y \ + CONFIG_FONT_6x11=n \ + CONFIG_FONT_7x14=n \ + CONFIG_FONT_PEARL_8x8=n \ + CONFIG_FONT_ACORN_8x8=n \ + CONFIG_FONT_MINI_4x6=n \ + CONFIG_FONT_6x10=n \ + CONFIG_FONT_SUN8x16=n \ + CONFIG_FONT_SUN12x22=n \ + CONFIG_FONT_10x18=n \ + CONFIG_VT=y \ + CONFIG_CONSOLE_TRANSLATIONS=y \ + CONFIG_VT_CONSOLE=y \ + CONFIG_VT_HW_CONSOLE_BINDING=y + FILES:=$(LINUX_DIR)/drivers/video/fbdev/core/fb.ko \ + $(LINUX_DIR)/lib/fonts/font.ko + AUTOLOAD:=$(call AutoLoad,06,fb font) +endef + +define KernelPackage/fb/description + Kernel support for framebuffers and framebuffer console. +endef + +define KernelPackage/fb/x86 + FILES+=$(LINUX_DIR)/arch/x86/video/fbdev.ko + AUTOLOAD:=$(call AutoLoad,06,fbdev fb font) +endef + +$(eval $(call KernelPackage,fb)) + + +define KernelPackage/fb-cfb-fillrect + SUBMENU:=$(VIDEO_MENU) + TITLE:=Framebuffer software rectangle filling support + DEPENDS:=+kmod-fb + KCONFIG:=CONFIG_FB_CFB_FILLRECT + FILES:=$(LINUX_DIR)/drivers/video/fbdev/core/cfbfillrect.ko + AUTOLOAD:=$(call AutoLoad,07,cfbfillrect) +endef + +define KernelPackage/fb-cfb-fillrect/description + Kernel support for software rectangle filling +endef + +$(eval $(call KernelPackage,fb-cfb-fillrect)) + + +define KernelPackage/fb-cfb-copyarea + SUBMENU:=$(VIDEO_MENU) + TITLE:=Framebuffer software copy area support + DEPENDS:=+kmod-fb + KCONFIG:=CONFIG_FB_CFB_COPYAREA + FILES:=$(LINUX_DIR)/drivers/video/fbdev/core/cfbcopyarea.ko + AUTOLOAD:=$(call AutoLoad,07,cfbcopyarea) +endef + +define KernelPackage/fb-cfb-copyarea/description + Kernel support for software copy area +endef + +$(eval $(call KernelPackage,fb-cfb-copyarea)) + +define KernelPackage/fb-cfb-imgblt + SUBMENU:=$(VIDEO_MENU) + TITLE:=Framebuffer software image blit support + DEPENDS:=+kmod-fb + KCONFIG:=CONFIG_FB_CFB_IMAGEBLIT + FILES:=$(LINUX_DIR)/drivers/video/fbdev/core/cfbimgblt.ko + AUTOLOAD:=$(call AutoLoad,07,cfbimgblt) +endef + +define KernelPackage/fb-cfb-imgblt/description + Kernel support for software image blitting +endef + +$(eval $(call KernelPackage,fb-cfb-imgblt)) + + +define KernelPackage/fb-sys-fops + SUBMENU:=$(VIDEO_MENU) + TITLE:=Framebuffer software sys ops support + DEPENDS:=+kmod-fb + KCONFIG:=CONFIG_FB_SYS_FOPS + FILES:=$(LINUX_DIR)/drivers/video/fbdev/core/fb_sys_fops.ko + AUTOLOAD:=$(call AutoLoad,07,fb_sys_fops) +endef + +define KernelPackage/fb-sys-fops/description + Kernel support for framebuffer sys ops +endef + +$(eval $(call KernelPackage,fb-sys-fops)) + + +define KernelPackage/fb-sys-ram + SUBMENU:=$(VIDEO_MENU) + TITLE:=Framebuffer in system RAM support + DEPENDS:=+kmod-fb + KCONFIG:= \ + CONFIG_FB_SYS_COPYAREA \ + CONFIG_FB_SYS_FILLRECT \ + CONFIG_FB_SYS_IMAGEBLIT + FILES:= \ + $(LINUX_DIR)/drivers/video/fbdev/core/syscopyarea.ko \ + $(LINUX_DIR)/drivers/video/fbdev/core/sysfillrect.ko \ + $(LINUX_DIR)/drivers/video/fbdev/core/sysimgblt.ko + AUTOLOAD:=$(call AutoLoad,07,syscopyarea sysfillrect sysimgblt) +endef + +define KernelPackage/fb-sys-ram/description + Kernel support for framebuffers in system RAM +endef + +$(eval $(call KernelPackage,fb-sys-ram)) + + +define KernelPackage/fb-tft + SUBMENU:=$(VIDEO_MENU) + TITLE:=Support for small TFT LCD display modules + DEPENDS:= \ + @GPIO_SUPPORT +kmod-backlight \ + +kmod-fb +kmod-fb-sys-fops +kmod-fb-sys-ram +kmod-spi-bitbang + KCONFIG:= \ + CONFIG_FB_BACKLIGHT=y \ + CONFIG_FB_DEFERRED_IO=y \ + CONFIG_FB_TFT + FILES:= \ + $(LINUX_DIR)/drivers/staging/fbtft/fbtft.ko + AUTOLOAD:=$(call AutoLoad,08,fbtft) +endef + +define KernelPackage/fb-tft/description + Support for small TFT LCD display modules +endef + +$(eval $(call KernelPackage,fb-tft)) + + +define KernelPackage/fb-tft-ili9486 + SUBMENU:=$(VIDEO_MENU) + TITLE:=FB driver for the ILI9486 LCD Controller + DEPENDS:=+kmod-fb-tft + KCONFIG:=CONFIG_FB_TFT_ILI9486 + FILES:=$(LINUX_DIR)/drivers/staging/fbtft/fb_ili9486.ko + AUTOLOAD:=$(call AutoLoad,09,fb_ili9486) +endef + +define KernelPackage/fb-tft-ili9486/description + FB driver for the ILI9486 LCD Controller +endef + +$(eval $(call KernelPackage,fb-tft-ili9486)) + + +define KernelPackage/drm + SUBMENU:=$(VIDEO_MENU) + TITLE:=Direct Rendering Manager (DRM) support + HIDDEN:=1 + DEPENDS:=+kmod-dma-buf +kmod-i2c-core + KCONFIG:=CONFIG_DRM + FILES:= \ + $(LINUX_DIR)/drivers/gpu/drm/drm.ko \ + $(LINUX_DIR)/drivers/gpu/drm/drm_panel_orientation_quirks.ko@ge4.15 + AUTOLOAD:=$(call AutoLoad,05,drm) +endef + +define KernelPackage/drm/description + Direct Rendering Manager (DRM) core support +endef + +$(eval $(call KernelPackage,drm)) + +define KernelPackage/drm-ttm + SUBMENU:=$(VIDEO_MENU) + TITLE:=GPU memory management subsystem + DEPENDS:=@DISPLAY_SUPPORT +kmod-drm + KCONFIG:=CONFIG_DRM_TTM + FILES:=$(LINUX_DIR)/drivers/gpu/drm/ttm/ttm.ko + AUTOLOAD:=$(call AutoProbe,ttm) +endef + +define KernelPackage/drm-ttm/description + GPU memory management subsystem for devices with multiple GPU memory types. + Will be enabled automatically if a device driver uses it. +endef + +$(eval $(call KernelPackage,drm-ttm)) + +define KernelPackage/drm-kms-helper + SUBMENU:=$(VIDEO_MENU) + TITLE:=CRTC helpers for KMS drivers + DEPENDS:=@DISPLAY_SUPPORT +kmod-drm +kmod-fb +kmod-fb-sys-fops +kmod-fb-cfb-copyarea \ + +kmod-fb-cfb-fillrect +kmod-fb-cfb-imgblt +kmod-fb-sys-ram + KCONFIG:= \ + CONFIG_DRM_KMS_HELPER \ + CONFIG_DRM_KMS_FB_HELPER=y + FILES:=$(LINUX_DIR)/drivers/gpu/drm/drm_kms_helper.ko + AUTOLOAD:=$(call AutoProbe,drm_kms_helper) +endef + +define KernelPackage/drm-kms-helper/description + CRTC helpers for KMS drivers. +endef + +$(eval $(call KernelPackage,drm-kms-helper)) + +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 + KCONFIG:=CONFIG_DRM_AMDGPU \ + CONFIG_DRM_AMDGPU_SI=y \ + CONFIG_DRM_AMDGPU_CIK=y \ + CONFIG_DRM_AMD_DC=y \ + CONFIG_DEBUG_KERNEL_DC=n + FILES:=$(LINUX_DIR)/drivers/gpu/drm/amd/amdgpu/amdgpu.ko \ + $(LINUX_DIR)/drivers/gpu/drm/scheduler/gpu-sched.ko + AUTOLOAD:=$(call AutoProbe,amdgpu) +endef + +define KernelPackage/drm-amdgpu/description + Direct Rendering Manager (DRM) support for AMDGPU Cards +endef + +$(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 + KCONFIG:=CONFIG_DRM_IMX \ + CONFIG_DRM_FBDEV_EMULATION=y \ + CONFIG_DRM_FBDEV_OVERALLOC=100 \ + CONFIG_IMX_IPUV3_CORE \ + CONFIG_RESET_CONTROLLER=y \ + CONFIG_DRM_IMX_IPUV3 \ + CONFIG_IMX_IPUV3 \ + CONFIG_DRM_GEM_CMA_HELPER=y \ + CONFIG_DRM_KMS_CMA_HELPER=y \ + CONFIG_DRM_IMX_FB_HELPER \ + CONFIG_DRM_IMX_PARALLEL_DISPLAY=n \ + CONFIG_DRM_IMX_TVE=n \ + CONFIG_DRM_IMX_LDB=n \ + CONFIG_DRM_IMX_HDMI=n + FILES:= \ + $(LINUX_DIR)/drivers/gpu/drm/imx/imxdrm.ko \ + $(LINUX_DIR)/drivers/gpu/ipu-v3/imx-ipu-v3.ko + AUTOLOAD:=$(call AutoLoad,08,imxdrm imx-ipu-v3 imx-ipuv3-crtc) +endef + +define KernelPackage/drm-imx/description + Direct Rendering Manager (DRM) support for Freescale i.MX +endef + +$(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 + KCONFIG:=CONFIG_DRM_IMX_HDMI \ + CONFIG_DRM_DW_HDMI_AHB_AUDIO \ + CONFIG_DRM_DW_HDMI_I2S_AUDIO + FILES:= \ + $(LINUX_DIR)/drivers/gpu/drm/bridge/synopsys/dw-hdmi.ko \ + $(LINUX_DIR)/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.ko \ + $(LINUX_DIR)/drivers/gpu/drm/imx/dw_hdmi-imx.ko + AUTOLOAD:=$(call AutoLoad,08,dw-hdmi dw-hdmi-ahb-audio.ko dw_hdmi-imx) +endef + +define KernelPackage/drm-imx-hdmi/description + Direct Rendering Manager (DRM) support for Freescale i.MX HDMI +endef + +$(eval $(call KernelPackage,drm-imx-hdmi)) + +define KernelPackage/drm-imx-ldb + SUBMENU:=$(VIDEO_MENU) + TITLE:=Freescale i.MX LVDS DRM support + DEPENDS:=+kmod-backlight kmod-drm-imx + KCONFIG:=CONFIG_DRM_IMX_LDB \ + CONFIG_DRM_PANEL_SIMPLE \ + CONFIG_DRM_PANEL=y \ + CONFIG_DRM_PANEL_SAMSUNG_LD9040=n \ + CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=n \ + CONFIG_DRM_PANEL_LG_LG4573=n \ + CONFIG_DRM_PANEL_LD9040=n \ + CONFIG_DRM_PANEL_LVDS=n \ + 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 + AUTOLOAD:=$(call AutoLoad,08,imx-ldb) +endef + +define KernelPackage/drm-imx-ldb/description + Direct Rendering Manager (DRM) support for Freescale i.MX LVDS +endef + +$(eval $(call KernelPackage,drm-imx-ldb)) + +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 + KCONFIG:=CONFIG_DRM_RADEON + FILES:=$(LINUX_DIR)/drivers/gpu/drm/radeon/radeon.ko + AUTOLOAD:=$(call AutoProbe,radeon) +endef + +define KernelPackage/drm-radeon/description + Direct Rendering Manager (DRM) support for Radeon Cards +endef + +$(eval $(call KernelPackage,drm-radeon)) + +# +# Video Capture +# + +define KernelPackage/video-core + SUBMENU:=$(VIDEO_MENU) + TITLE=Video4Linux support + DEPENDS:=@PCI_SUPPORT||USB_SUPPORT +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 + FILES:= \ + $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/videodev.ko + AUTOLOAD:=$(call AutoLoad,60, videodev v4l2-common) +endef + +define KernelPackage/video-core/description + Kernel modules for Video4Linux support +endef + +$(eval $(call KernelPackage,video-core)) + + +define AddDepends/video + SUBMENU:=$(VIDEO_MENU) + DEPENDS+=kmod-video-core $(1) +endef + +define AddDepends/camera +$(AddDepends/video) + KCONFIG+=CONFIG_MEDIA_USB_SUPPORT=y \ + CONFIG_MEDIA_CAMERA_SUPPORT=y +endef + + +define KernelPackage/video-videobuf2 + TITLE:=videobuf2 lib + DEPENDS:=+kmod-dma-buf + KCONFIG:= \ + CONFIG_VIDEOBUF2_CORE \ + CONFIG_VIDEOBUF2_MEMOPS \ + CONFIG_VIDEOBUF2_VMALLOC + FILES:= \ + $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/videobuf2-core.ko@lt4.16 \ + $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/videobuf2-v4l2.ko@lt4.16 \ + $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/videobuf2-memops.ko@lt4.16 \ + $(LINUX_DIR)/drivers/media/$(V4L2_DIR)/videobuf2-vmalloc.ko@lt4.16 \ + $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-common.ko@ge4.16 \ + $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-v4l2.ko@ge4.16 \ + $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-memops.ko@ge4.16 \ + $(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-vmalloc.ko@ge4.16 + AUTOLOAD:=$(call AutoLoad,65,videobuf2-core videobuf-v4l2 videobuf2-memops videobuf2-vmalloc) + $(call AddDepends/video) +endef + +define KernelPackage/video-videobuf2/description + Kernel modules that implements three basic types of media buffers. +endef + +$(eval $(call KernelPackage,video-videobuf2)) + + +define KernelPackage/video-cpia2 + TITLE:=CPIA2 video driver + DEPENDS:=@USB_SUPPORT +kmod-usb-core + KCONFIG:=CONFIG_VIDEO_CPIA2 + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/cpia2/cpia2.ko + AUTOLOAD:=$(call AutoProbe,cpia2) + $(call AddDepends/camera) +endef + +define KernelPackage/video-cpia2/description + Kernel modules for supporting CPIA2 USB based cameras +endef + +$(eval $(call KernelPackage,video-cpia2)) + + +define KernelPackage/video-pwc + TITLE:=Philips USB webcam support + DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-video-videobuf2 + KCONFIG:= \ + CONFIG_USB_PWC \ + CONFIG_USB_PWC_DEBUG=n + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/pwc/pwc.ko + AUTOLOAD:=$(call AutoProbe,pwc) + $(call AddDepends/camera) +endef + +define KernelPackage/video-pwc/description + Kernel modules for supporting Philips USB based cameras +endef + +$(eval $(call KernelPackage,video-pwc)) + + +define KernelPackage/video-uvc + TITLE:=USB Video Class (UVC) support + DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-video-videobuf2 +kmod-input-core + KCONFIG:= CONFIG_USB_VIDEO_CLASS + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/uvc/uvcvideo.ko + AUTOLOAD:=$(call AutoProbe,uvcvideo) + $(call AddDepends/camera) +endef + +define KernelPackage/video-uvc/description + Kernel modules for supporting USB Video Class (UVC) devices +endef + +$(eval $(call KernelPackage,video-uvc)) + + +define KernelPackage/video-gspca-core + MENU:=1 + TITLE:=GSPCA webcam core support framework + DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-input-core +!LINUX_4_14:kmod-video-videobuf2 + KCONFIG:=CONFIG_USB_GSPCA + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_main.ko + AUTOLOAD:=$(call AutoProbe,gspca_main) + $(call AddDepends/camera) +endef + +define KernelPackage/video-gspca-core/description + Kernel modules for supporting GSPCA based webcam devices. Note this is just + the core of the driver, please select a submodule that supports your webcam. +endef + +$(eval $(call KernelPackage,video-gspca-core)) + + +define AddDepends/camera-gspca + SUBMENU:=$(VIDEO_MENU) + DEPENDS+=kmod-video-gspca-core $(1) +endef + + +define KernelPackage/video-gspca-conex + TITLE:=conex webcam support + KCONFIG:=CONFIG_USB_GSPCA_CONEX + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_conex.ko + AUTOLOAD:=$(call AutoProbe,gspca_conex) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-conex/description + The Conexant Camera Driver (conex) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-conex)) + + +define KernelPackage/video-gspca-etoms + TITLE:=etoms webcam support + KCONFIG:=CONFIG_USB_GSPCA_ETOMS + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_etoms.ko + AUTOLOAD:=$(call AutoProbe,gspca_etoms) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-etoms/description + The Etoms USB Camera Driver (etoms) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-etoms)) + + +define KernelPackage/video-gspca-finepix + TITLE:=finepix webcam support + KCONFIG:=CONFIG_USB_GSPCA_FINEPIX + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_finepix.ko + AUTOLOAD:=$(call AutoProbe,gspca_finepix) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-finepix/description + The Fujifilm FinePix USB V4L2 driver (finepix) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-finepix)) + + +define KernelPackage/video-gspca-mars + TITLE:=mars webcam support + KCONFIG:=CONFIG_USB_GSPCA_MARS + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_mars.ko + AUTOLOAD:=$(call AutoProbe,gspca_mars) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-mars/description + The Mars USB Camera Driver (mars) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-mars)) + + +define KernelPackage/video-gspca-mr97310a + TITLE:=mr97310a webcam support + KCONFIG:=CONFIG_USB_GSPCA_MR97310A + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_mr97310a.ko + AUTOLOAD:=$(call AutoProbe,gspca_mr97310a) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-mr97310a/description + The Mars-Semi MR97310A USB Camera Driver (mr97310a) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-mr97310a)) + + +define KernelPackage/video-gspca-ov519 + TITLE:=ov519 webcam support + KCONFIG:=CONFIG_USB_GSPCA_OV519 + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_ov519.ko + AUTOLOAD:=$(call AutoProbe,gspca_ov519) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-ov519/description + The OV519 USB Camera Driver (ov519) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-ov519)) + + +define KernelPackage/video-gspca-ov534 + TITLE:=ov534 webcam support + KCONFIG:=CONFIG_USB_GSPCA_OV534 + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_ov534.ko + AUTOLOAD:=$(call AutoProbe,gspca_ov534) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-ov534/description + The OV534 USB Camera Driver (ov534) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-ov534)) + + +define KernelPackage/video-gspca-ov534-9 + TITLE:=ov534-9 webcam support + KCONFIG:=CONFIG_USB_GSPCA_OV534_9 + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_ov534_9.ko + AUTOLOAD:=$(call AutoProbe,gspca_ov534_9) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-ov534-9/description + The OV534-9 USB Camera Driver (ov534_9) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-ov534-9)) + + +define KernelPackage/video-gspca-pac207 + TITLE:=pac207 webcam support + KCONFIG:=CONFIG_USB_GSPCA_PAC207 + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_pac207.ko + AUTOLOAD:=$(call AutoProbe,gspca_pac207) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-pac207/description + The Pixart PAC207 USB Camera Driver (pac207) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-pac207)) + + +define KernelPackage/video-gspca-pac7311 + TITLE:=pac7311 webcam support + KCONFIG:=CONFIG_USB_GSPCA_PAC7311 + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_pac7311.ko + AUTOLOAD:=$(call AutoProbe,gspca_pac7311) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-pac7311/description + The Pixart PAC7311 USB Camera Driver (pac7311) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-pac7311)) + + +define KernelPackage/video-gspca-se401 + TITLE:=se401 webcam support + KCONFIG:=CONFIG_USB_GSPCA_SE401 + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_se401.ko + AUTOLOAD:=$(call AutoProbe,gspca_se401) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-se401/description + The SE401 USB Camera Driver kernel module +endef + +$(eval $(call KernelPackage,video-gspca-se401)) + + +define KernelPackage/video-gspca-sn9c20x + TITLE:=sn9c20x webcam support + KCONFIG:=CONFIG_USB_GSPCA_SN9C20X + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_sn9c20x.ko + AUTOLOAD:=$(call AutoProbe,gspca_sn9c20x) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-sn9c20x/description + The SN9C20X USB Camera Driver (sn9c20x) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-sn9c20x)) + + +define KernelPackage/video-gspca-sonixb + TITLE:=sonixb webcam support + KCONFIG:=CONFIG_USB_GSPCA_SONIXB + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_sonixb.ko + AUTOLOAD:=$(call AutoProbe,gspca_sonixb) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-sonixb/description + The SONIX Bayer USB Camera Driver (sonixb) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-sonixb)) + + +define KernelPackage/video-gspca-sonixj + TITLE:=sonixj webcam support + KCONFIG:=CONFIG_USB_GSPCA_SONIXJ + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_sonixj.ko + AUTOLOAD:=$(call AutoProbe,gspca_sonixj) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-sonixj/description + The SONIX JPEG USB Camera Driver (sonixj) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-sonixj)) + + +define KernelPackage/video-gspca-spca500 + TITLE:=spca500 webcam support + KCONFIG:=CONFIG_USB_GSPCA_SPCA500 + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_spca500.ko + AUTOLOAD:=$(call AutoProbe,gspca_spca500) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-spca500/description + The SPCA500 USB Camera Driver (spca500) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-spca500)) + + +define KernelPackage/video-gspca-spca501 + TITLE:=spca501 webcam support + KCONFIG:=CONFIG_USB_GSPCA_SPCA501 + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_spca501.ko + AUTOLOAD:=$(call AutoProbe,gspca_spca501) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-spca501/description + The SPCA501 USB Camera Driver (spca501) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-spca501)) + + +define KernelPackage/video-gspca-spca505 + TITLE:=spca505 webcam support + KCONFIG:=CONFIG_USB_GSPCA_SPCA505 + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_spca505.ko + AUTOLOAD:=$(call AutoProbe,gspca_spca505) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-spca505/description + The SPCA505 USB Camera Driver (spca505) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-spca505)) + + +define KernelPackage/video-gspca-spca506 + TITLE:=spca506 webcam support + KCONFIG:=CONFIG_USB_GSPCA_SPCA506 + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_spca506.ko + AUTOLOAD:=$(call AutoProbe,gspca_spca506) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-spca506/description + The SPCA506 USB Camera Driver (spca506) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-spca506)) + + +define KernelPackage/video-gspca-spca508 + TITLE:=spca508 webcam support + KCONFIG:=CONFIG_USB_GSPCA_SPCA508 + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_spca508.ko + AUTOLOAD:=$(call AutoProbe,gspca_spca508) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-spca508/description + The SPCA508 USB Camera Driver (spca508) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-spca508)) + + +define KernelPackage/video-gspca-spca561 + TITLE:=spca561 webcam support + KCONFIG:=CONFIG_USB_GSPCA_SPCA561 + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_spca561.ko + AUTOLOAD:=$(call AutoProbe,gspca_spca561) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-spca561/description + The SPCA561 USB Camera Driver (spca561) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-spca561)) + + +define KernelPackage/video-gspca-sq905 + TITLE:=sq905 webcam support + KCONFIG:=CONFIG_USB_GSPCA_SQ905 + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_sq905.ko + AUTOLOAD:=$(call AutoProbe,gspca_sq905) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-sq905/description + The SQ Technologies SQ905 based USB Camera Driver (sq905) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-sq905)) + + +define KernelPackage/video-gspca-sq905c + TITLE:=sq905c webcam support + KCONFIG:=CONFIG_USB_GSPCA_SQ905C + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_sq905c.ko + AUTOLOAD:=$(call AutoProbe,gspca_sq905c) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-sq905c/description + The SQ Technologies SQ905C based USB Camera Driver (sq905c) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-sq905c)) + + +define KernelPackage/video-gspca-stk014 + TITLE:=stk014 webcam support + KCONFIG:=CONFIG_USB_GSPCA_STK014 + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_stk014.ko + AUTOLOAD:=$(call AutoProbe,gspca_stk014) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-stk014/description + The Syntek DV4000 (STK014) USB Camera Driver (stk014) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-stk014)) + + +define KernelPackage/video-gspca-sunplus + TITLE:=sunplus webcam support + KCONFIG:=CONFIG_USB_GSPCA_SUNPLUS + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_sunplus.ko + AUTOLOAD:=$(call AutoProbe,gspca_sunplus) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-sunplus/description + The SUNPLUS USB Camera Driver (sunplus) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-sunplus)) + + +define KernelPackage/video-gspca-t613 + TITLE:=t613 webcam support + KCONFIG:=CONFIG_USB_GSPCA_T613 + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_t613.ko + AUTOLOAD:=$(call AutoProbe,gspca_t613) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-t613/description + The T613 (JPEG Compliance) USB Camera Driver (t613) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-t613)) + + +define KernelPackage/video-gspca-tv8532 + TITLE:=tv8532 webcam support + KCONFIG:=CONFIG_USB_GSPCA_TV8532 + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_tv8532.ko + AUTOLOAD:=$(call AutoProbe,gspca_tv8532) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-tv8532/description + The TV8532 USB Camera Driver (tv8532) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-tv8532)) + + +define KernelPackage/video-gspca-vc032x + TITLE:=vc032x webcam support + KCONFIG:=CONFIG_USB_GSPCA_VC032X + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_vc032x.ko + AUTOLOAD:=$(call AutoProbe,gspca_vc032x) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-vc032x/description + The VC032X USB Camera Driver (vc032x) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-vc032x)) + + +define KernelPackage/video-gspca-zc3xx + TITLE:=zc3xx webcam support + KCONFIG:=CONFIG_USB_GSPCA_ZC3XX + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_zc3xx.ko + AUTOLOAD:=$(call AutoProbe,gspca_zc3xx) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-zc3xx/description + The ZC3XX USB Camera Driver (zc3xx) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-zc3xx)) + + +define KernelPackage/video-gspca-m5602 + TITLE:=m5602 webcam support + KCONFIG:=CONFIG_USB_M5602 + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/m5602/gspca_m5602.ko + AUTOLOAD:=$(call AutoProbe,gspca_m5602) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-m5602/description + The ALi USB m5602 Camera Driver (m5602) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-m5602)) + + +define KernelPackage/video-gspca-stv06xx + TITLE:=stv06xx webcam support + KCONFIG:=CONFIG_USB_STV06XX + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/stv06xx/gspca_stv06xx.ko + AUTOLOAD:=$(call AutoProbe,gspca_stv06xx) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-stv06xx/description + The STV06XX USB Camera Driver (stv06xx) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-stv06xx)) + + +define KernelPackage/video-gspca-gl860 + TITLE:=gl860 webcam support + KCONFIG:=CONFIG_USB_GL860 + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gl860/gspca_gl860.ko + AUTOLOAD:=$(call AutoProbe,gspca_gl860) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-gl860/description + The GL860 USB Camera Driver (gl860) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-gl860)) + + +define KernelPackage/video-gspca-jeilinj + TITLE:=jeilinj webcam support + KCONFIG:=CONFIG_USB_GSPCA_JEILINJ + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_jeilinj.ko + AUTOLOAD:=$(call AutoProbe,gspca_jeilinj) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-jeilinj/description + The JEILINJ USB Camera Driver (jeilinj) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-jeilinj)) + + +define KernelPackage/video-gspca-konica + TITLE:=konica webcam support + KCONFIG:=CONFIG_USB_GSPCA_KONICA + FILES:=$(LINUX_DIR)/drivers/media/$(V4L2_USB_DIR)/gspca/gspca_konica.ko + AUTOLOAD:=$(call AutoProbe,gspca_konica) + $(call AddDepends/camera-gspca) +endef + +define KernelPackage/video-gspca-konica/description + The Konica USB Camera Driver (konica) kernel module +endef + +$(eval $(call KernelPackage,video-gspca-konica)) diff --git a/feeds/ipq807x/linux/modules/virt.mk b/feeds/ipq807x/linux/modules/virt.mk new file mode 100644 index 000000000..a9a0b538f --- /dev/null +++ b/feeds/ipq807x/linux/modules/virt.mk @@ -0,0 +1,73 @@ +# +# Copyright (C) 2016 Yousong Zhou +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +define KernelPackage/irqbypass + SUBMENU:=Virtualization + TITLE:=IRQ offload/bypass manager + KCONFIG:=CONFIG_IRQ_BYPASS_MANAGER + HIDDEN:=1 + FILES:= $(LINUX_DIR)/virt/lib/irqbypass.ko + AUTOLOAD:=$(call AutoProbe,irqbypass.ko) +endef +$(eval $(call KernelPackage,irqbypass)) + + +define KernelPackage/kvm-x86 + SUBMENU:=Virtualization + TITLE:=Kernel-based Virtual Machine (KVM) support + DEPENDS:=@TARGET_x86_generic||TARGET_x86_64 +kmod-irqbypass + KCONFIG:=\ + CONFIG_VIRTUALIZATION=y \ + CONFIG_KVM + FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm.ko + AUTOLOAD:=$(call AutoProbe,kvm.ko) +endef + +define KernelPackage/kvm-x86/description + Support hosting fully virtualized guest machines using hardware + virtualization extensions. You will need a fairly recent + processor equipped with virtualization extensions. You will also + need to select one or more of the processor modules. + + This module provides access to the hardware capabilities through + a character device node named /dev/kvm. +endef + +$(eval $(call KernelPackage,kvm-x86)) + + +define KernelPackage/kvm-intel + SUBMENU:=Virtualization + TITLE:=KVM for Intel processors support + DEPENDS:=+kmod-kvm-x86 + KCONFIG:=CONFIG_KVM_INTEL + FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm-intel.ko + AUTOLOAD:=$(call AutoProbe,kvm-intel.ko) +endef + +define KernelPackage/kvm-intel/description + Provides support for KVM on Intel processors equipped with the VT + extensions. +endef + +$(eval $(call KernelPackage,kvm-intel)) + + +define KernelPackage/kvm-amd + SUBMENU:=Virtualization + TITLE:=KVM for AMD processors support + DEPENDS:=+kmod-kvm-x86 + KCONFIG:=CONFIG_KVM_AMD + FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm-amd.ko + AUTOLOAD:=$(call AutoProbe,kvm-amd.ko) +endef + +define KernelPackage/kvm-amd/description + Provides support for KVM on AMD processors equipped with the AMD-V + (SVM) extensions. +endef + +$(eval $(call KernelPackage,kvm-amd)) diff --git a/feeds/ipq807x/linux/modules/w1.mk b/feeds/ipq807x/linux/modules/w1.mk new file mode 100644 index 000000000..6ac7458e4 --- /dev/null +++ b/feeds/ipq807x/linux/modules/w1.mk @@ -0,0 +1,193 @@ +# +# Copyright (C) 2008-2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +W1_MENU:=W1 support +W1_MASTERS_DIR:=$(LINUX_DIR)/drivers/w1/masters +W1_SLAVES_DIR:=$(LINUX_DIR)/drivers/w1/slaves + +define KernelPackage/w1 + SUBMENU:=$(W1_MENU) + TITLE:=Dallas's 1-wire support + KCONFIG:=CONFIG_W1 + FILES:=$(LINUX_DIR)/drivers/w1/wire.ko + DEPENDS:=+kmod-hwmon-core +endef + +define KernelPackage/w1/description + Kernel module for Dallas's 1-wire support +endef + +$(eval $(call KernelPackage,w1)) + + +define AddDepends/w1 + SUBMENU:=$(W1_MENU) + DEPENDS+=kmod-w1 $(1) +endef + + +# +# 1-wire masters +# +define KernelPackage/w1-master-gpio + TITLE:=GPIO 1-wire bus master driver + DEPENDS:=@GPIO_SUPPORT + KCONFIG:=CONFIG_W1_MASTER_GPIO + FILES:=$(W1_MASTERS_DIR)/w1-gpio.ko + AUTOLOAD:=$(call AutoProbe,w1-gpio) + $(call AddDepends/w1) +endef + +define KernelPackage/w1-master-gpio/description + Kernel module for the GPIO 1-wire bus master driver +endef + +$(eval $(call KernelPackage,w1-master-gpio)) + +define KernelPackage/w1-master-ds2482 + TITLE:=DS2482 1-wire i2c bus master driver + KCONFIG:=CONFIG_W1_MASTER_DS2482 + FILES:=$(W1_MASTERS_DIR)/ds2482.ko + AUTOLOAD:=$(call AutoProbe,ds2482) + $(call AddDepends/w1,+kmod-i2c-core) +endef + +define KernelPackage/w1-master-ds2482/description + Kernel module for the DS2482 i2c 1-wire bus master driver + NOTE: Init with: echo ds2482 0x18 > /sys/bus/i2c/devices/i2c-0/new_device + or use owfs +endef + +$(eval $(call KernelPackage,w1-master-ds2482)) + + +define KernelPackage/w1-master-ds2490 + TITLE:=DS2490 1-wire usb bus master driver + DEPENDS:=@USB_SUPPORT +kmod-usb-core + KCONFIG:=CONFIG_W1_MASTER_DS2490 + FILES:=$(W1_MASTERS_DIR)/ds2490.ko + AUTOLOAD:=$(call AutoProbe,ds2490) + $(call AddDepends/w1) +endef + +define KernelPackage/w1-master-ds2490/description + Kernel module for the DS2490 usb 1-wire bus master driver +endef + +$(eval $(call KernelPackage,w1-master-ds2490)) + + +define KernelPackage/w1-master-mxc + TITLE:=Freescale MXC 1-wire busmaster + DEPENDS:=@TARGET_imx6 + KCONFIG:=CONFIG_W1_MASTER_MXC + FILES:=$(W1_MASTERS_DIR)/mxc_w1.ko + AUTOLOAD:=$(call AutoProbe,mxc_w1) + $(call AddDepends/w1) +endef + +define KernelPackage/w1-master-mxc/description + Kernel module for 1-wire Freescale MXC 1-wire busmaster +endef + +$(eval $(call KernelPackage,w1-master-mxc)) + + +# +# 1-wire slaves +# +define KernelPackage/w1-slave-therm + TITLE:=Thermal family implementation + KCONFIG:=CONFIG_W1_SLAVE_THERM + FILES:=$(W1_SLAVES_DIR)/w1_therm.ko + AUTOLOAD:=$(call AutoProbe,w1_therm) + $(call AddDepends/w1) +endef + +define KernelPackage/w1-slave-therm/description + Kernel module for 1-wire thermal sensors +endef + +$(eval $(call KernelPackage,w1-slave-therm)) + + +define KernelPackage/w1-slave-smem + TITLE:=Simple 64bit memory family implementation + KCONFIG:=CONFIG_W1_SLAVE_SMEM + FILES:=$(W1_SLAVES_DIR)/w1_smem.ko + AUTOLOAD:=$(call AutoProbe,w1_smem) + $(call AddDepends/w1) +endef + +define KernelPackage/w1-slave-smem/description + Kernel module for 1-wire simple 64bit memory rom(ds2401/ds2411/ds1990*) +endef + +$(eval $(call KernelPackage,w1-slave-smem)) + +define KernelPackage/w1-slave-ds2431 + TITLE:=DS2431 1kb EEPROM driver + KCONFIG:= CONFIG_W1_SLAVE_DS2431 + FILES:=$(W1_SLAVES_DIR)/w1_ds2431.ko + AUTOLOAD:=$(call AutoProbe,w1_ds2431) + $(call AddDepends/w1) +endef + +define KernelPackage/w1-slave-ds2431/description + Kernel module for 1-wire 1kb EEPROM (DS2431) +endef + +$(eval $(call KernelPackage,w1-slave-ds2431)) + +define KernelPackage/w1-slave-ds2433 + TITLE:=DS2433 4kb EEPROM driver + KCONFIG:= \ + CONFIG_W1_SLAVE_DS2433 \ + CONFIG_W1_SLAVE_DS2433_CRC=n + FILES:=$(W1_SLAVES_DIR)/w1_ds2433.ko + AUTOLOAD:=$(call AutoProbe,w1_ds2433) + $(call AddDepends/w1) +endef + +define KernelPackage/w1-slave-ds2433/description + Kernel module for 1-wire 4kb EEPROM (DS2433) +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:= \ + CONFIG_W1_SLAVE_DS2413 + FILES:=$(W1_SLAVES_DIR)/w1_ds2413.ko + AUTOLOAD:=$(call AutoProbe,w1_ds2413) + $(call AddDepends/w1) +endef + +define KernelPackage/w1-slave-ds2413/description + Kernel module for 1-wire DS2413 Dual Channel Addressable Switch support +endef + +$(eval $(call KernelPackage,w1-slave-ds2413)) diff --git a/feeds/ipq807x/linux/modules/wireless.mk b/feeds/ipq807x/linux/modules/wireless.mk new file mode 100644 index 000000000..f7a40ba10 --- /dev/null +++ b/feeds/ipq807x/linux/modules/wireless.mk @@ -0,0 +1,42 @@ +# +# 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)) diff --git a/feeds/ipq807x/linux/modules/wpan.mk b/feeds/ipq807x/linux/modules/wpan.mk new file mode 100644 index 000000000..dab8a0cb7 --- /dev/null +++ b/feeds/ipq807x/linux/modules/wpan.mk @@ -0,0 +1,152 @@ +# +# Copyright (C) 2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. + +WPAN_MENU:=WPAN 802.15.4 Support + +define KernelPackage/ieee802154 + SUBMENU:=$(WPAN_MENU) + TITLE:=IEEE-802.15.4 support + KCONFIG:= \ + CONFIG_IEEE802154 \ + CONFIG_IEEE802154_SOCKET=y \ + CONFIG_IEEE802154_NL802154_EXPERIMENTAL=n + FILES:= \ + $(LINUX_DIR)/net/ieee802154/ieee802154.ko \ + $(LINUX_DIR)/net/ieee802154/ieee802154_socket.ko + AUTOLOAD:=$(call AutoLoad,90,ieee802154 ieee802154_socket) +endef + +define KernelPackage/ieee802154/description + IEEE Std 802.15.4 defines a low data rate, low power and low + complexity short range wireless personal area networks. It was + designed to organise networks of sensors, switches, etc automation + devices. Maximum allowed data rate is 250 kb/s and typical personal + operating space around 10m. +endef + +$(eval $(call KernelPackage,ieee802154)) + +define KernelPackage/mac802154 + SUBMENU:=$(WPAN_MENU) + TITLE:=MAC-802.15.4 support + DEPENDS:=+kmod-ieee802154 +kmod-crypto-aead +kmod-lib-crc-ccitt + KCONFIG:= \ + CONFIG_MAC802154 \ + CONFIG_IEEE802154_DRIVERS=y + FILES:=$(LINUX_DIR)/net/mac802154/mac802154.ko + AUTOLOAD:=$(call AutoLoad,91,mac802154) +endef + +define KernelPackage/mac802154/description + This option enables the hardware independent IEEE 802.15.4 + networking stack for SoftMAC devices (the ones implementing + only PHY level of IEEE 802.15.4 standard). + + Note: this implementation is neither certified, nor feature + complete! Compatibility with other implementations hasn't + been tested yet! +endef + +$(eval $(call KernelPackage,mac802154)) + +define KernelPackage/fakelb + SUBMENU:=$(WPAN_MENU) + TITLE:=Fake LR-WPAN driver + DEPENDS:=+kmod-mac802154 + KCONFIG:=CONFIG_IEEE802154_FAKELB + FILES:=$(LINUX_DIR)/drivers/net/ieee802154/fakelb.ko + AUTOLOAD:=$(call AutoLoad,92,fakelb) +endef + +define KernelPackage/fakelb/description + Say Y here to enable the fake driver that can emulate a net + of several interconnected radio devices. +endef + +$(eval $(call KernelPackage,fakelb)) + +define KernelPackage/atusb + SUBMENU:=$(WPAN_MENU) + TITLE:=ATUSB transceiver driver + DEPENDS:=@USB_SUPPORT +kmod-usb-core +kmod-mac802154 + KCONFIG:=CONFIG_IEEE802154_ATUSB + FILES:=$(LINUX_DIR)/drivers/net/ieee802154/atusb.ko + AUTOLOAD:=$(call AutoProbe,atusb) +endef + +$(eval $(call KernelPackage,atusb)) + +define KernelPackage/at86rf230 + SUBMENU:=$(WPAN_MENU) + TITLE:=AT86RF230 transceiver driver + DEPENDS:=+kmod-mac802154 +kmod-regmap-spi + KCONFIG:=CONFIG_IEEE802154_AT86RF230 \ + CONFIG_IEEE802154_AT86RF230_DEBUGFS=n \ + CONFIG_SPI=y \ + CONFIG_SPI_MASTER=y + FILES:=$(LINUX_DIR)/drivers/net/ieee802154/at86rf230.ko + AUTOLOAD:=$(call AutoProbe,at86rf230) +endef + +$(eval $(call KernelPackage,at86rf230)) + +define KernelPackage/mrf24j40 + SUBMENU:=$(WPAN_MENU) + TITLE:=MRF24J40 transceiver driver + DEPENDS:=+kmod-mac802154 +kmod-regmap-spi + KCONFIG:=CONFIG_IEEE802154_MRF24J40 \ + CONFIG_SPI=y \ + CONFIG_SPI_MASTER=y + FILES:=$(LINUX_DIR)/drivers/net/ieee802154/mrf24j40.ko + AUTOLOAD:=$(call AutoProbe,mrf24j40) +endef + +$(eval $(call KernelPackage,mrf24j40)) + +define KernelPackage/cc2520 + SUBMENU:=$(WPAN_MENU) + TITLE:=CC2520 transceiver driver + DEPENDS:=+kmod-mac802154 + KCONFIG:=CONFIG_IEEE802154_CC2520 \ + CONFIG_SPI=y \ + CONFIG_SPI_MASTER=y + FILES:=$(LINUX_DIR)/drivers/net/ieee802154/cc2520.ko + AUTOLOAD:=$(call AutoProbe,cc2520) +endef + +$(eval $(call KernelPackage,cc2520)) + + +define KernelPackage/ca8210 + SUBMENU:=$(WPAN_MENU) + TITLE:=CA8210 transceiver driver + DEPENDS:=+kmod-mac802154 + KCONFIG:=CONFIG_IEEE802154_CA8210 \ + CONFIG_SPI=y \ + CONFIG_SPI_MASTER=y \ + CONFIG_IEEE802154_CA8210_DEBUGFS=n + FILES:=$(LINUX_DIR)/drivers/net/ieee802154/ca8210.ko + AUTOLOAD:=$(call AutoProbe,ca8210) +endef + +$(eval $(call KernelPackage,ca8210)) + + +define KernelPackage/ieee802154-6lowpan + SUBMENU:=$(WPAN_MENU) + TITLE:= 6LoWPAN support over IEEE-802.15.4 + DEPENDS:=+kmod-6lowpan +kmod-ieee802154 + KCONFIG:=CONFIG_IEEE802154_6LOWPAN + FILES:= \ + $(LINUX_DIR)/net/ieee802154/6lowpan/ieee802154_6lowpan.ko + AUTOLOAD:=$(call AutoLoad,91,ieee802154_6lowpan) +endef + +define KernelPackage/ieee802154-6lowpan/description + IPv6 compression over IEEE 802.15.4 +endef + +$(eval $(call KernelPackage,ieee802154-6lowpan))