diff --git a/qca/qca-nss-macsec/Makefile b/qca/qca-nss-macsec/Makefile new file mode 100644 index 0000000..6919ef9 --- /dev/null +++ b/qca/qca-nss-macsec/Makefile @@ -0,0 +1,73 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=qca-nss-macsec +PKG_RELEASE:=1 +PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/nss-macsec +PKG_SOURCE_PROTO:=git +PKG_SOURCE_DATE:=2023-10-16 +PKG_SOURCE_VERSION:=b94e22d8b05dc7b78bdafade1e313ca0bb44c596 +PKG_MIRROR_HASH:=ed9f31d771e5a8d4e11331ec1afff0aa1c23839bdbf9f3c2da4721bf773b6b6f + +PKG_BUILD_PARALLEL:=1 +PKG_FLAGS:=nonshared + +include $(INCLUDE_DIR)/kernel.mk +include $(INCLUDE_DIR)/package.mk + +define KernelPackage/qca-nss-macsec + SECTION:=kernel + CATEGORY:=Kernel modules + SUBMENU:=Network Devices + DEPENDS:=@(TARGET_qualcommax||TARGET_ipq60xx) \ + +libc + TITLE:=Kernel driver for NSS macsec + FILES:=$(PKG_BUILD_DIR)/qca-nss-macsec.ko + AUTOLOAD:=$(call AutoLoad,52,qca-nss-macsec) +endef + +define KernelPackage/qca-nss-macsec/Description +This package contains a MACSEC driver for QCA chipset +endef + +QCA_NSS_MACSEC_CONFIG_OPTS+= TOOL_PATH=$(TOOLCHAIN_DIR)/bin/ \ + SYS_PATH=$(LINUX_DIR) \ + TOOLPREFIX=$(TARGET_CROSS) \ + KVER=$(LINUX_VERSION) \ + CFLAGS="$(TARGET_CFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS)" \ + ARCH=$(LINUX_KARCH) + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include/qca-nss-macsec + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_BUILD_DIR)/include/nss_macsec_types.h $(1)/usr/include/qca-nss-macsec + $(CP) $(PKG_BUILD_DIR)/include/nss_macsec_secy.h $(1)/usr/include/qca-nss-macsec + $(CP) $(PKG_BUILD_DIR)/include/nss_macsec_secy_rx.h $(1)/usr/include/qca-nss-macsec + $(CP) $(PKG_BUILD_DIR)/include/nss_macsec_secy_tx.h $(1)/usr/include/qca-nss-macsec + $(CP) $(PKG_BUILD_DIR)/libfal.so $(1)/usr/lib +endef + +ifeq ($(CONFIG_TARGET_SUBTARGET), "ipq807x") + SOC=ipq807x_64 + subtarget:=$(CONFIG_TARGET_SUBTARGET) +else ifeq ($(CONFIG_TARGET_BOARD), "ipq60xx") + SOC=ipq60xx_64 + subtarget:=$(SUBTARGET) +endif + +define Build/Compile + +$(KERNEL_MAKE) \ + M="$(PKG_BUILD_DIR)" \ + SoC="$(subtarget)" \ + modules + +$(MAKE) -C $(PKG_BUILD_DIR) $(strip $(QCA_NSS_MACSEC_CONFIG_OPTS)) -f Makefile.shell +endef + +define KernelPackage/qca-nss-macsec/install + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_DIR) $(1)/usr/lib + $(INSTALL_BIN) $(PKG_BUILD_DIR)/*.so $(1)/usr/lib/ + $(INSTALL_BIN) $(PKG_BUILD_DIR)/macsec_shell $(1)/usr/sbin/ +endef + +$(eval $(call KernelPackage,qca-nss-macsec)) diff --git a/qca/qca-nss-macsec/patches/0001-change-warning-to-debug.patch b/qca/qca-nss-macsec/patches/0001-change-warning-to-debug.patch new file mode 100644 index 0000000..25f8f9c --- /dev/null +++ b/qca/qca-nss-macsec/patches/0001-change-warning-to-debug.patch @@ -0,0 +1,19 @@ +--- a/nss_macsec_init.c ++++ b/nss_macsec_init.c +@@ -15,6 +15,7 @@ + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + ++#include "linux/kern_levels.h" + #include + #include + #include +@@ -296,7 +297,7 @@ static int nss_macsec_dt_init(uint32_t d + + nss_macsec_node = of_find_node_by_name(NULL, dev_name); + if (!nss_macsec_node) { +- printk(KERN_ERR "cannot find nss-macsec%d node\n", dev_id); ++ printk(KERN_DEBUG "cannot find nss-macsec%d node\n", dev_id); + return -ENODEV; + } + printk(KERN_INFO "%s DT exist!\n", dev_name);