1include $(TOPDIR)/rules.mk
2include $(INCLUDE_DIR)/kernel.mk
3
4PKG_NAME:=qca-nss-drv
5#PKG_SOURCE_PROTO:=git
6#PKG_BRANCH:=master
7#PKG_RELEASE:=1
8
9#include $(INCLUDE_DIR)/local-development.mk
10ifeq ($(DUMP)$(PKG_VERSION),)
11#  PKG_VERSION:=$(shell git ls-remote $(PKG_SOURCE_URL) $(PKG_BRANCH) | cut -b -7)
12endif
13#PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
14#PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
15#PKG_SOURCE_VERSION:=$(PKG_VERSION)
16
17include $(INCLUDE_DIR)/package.mk
18
19HDR_INSTALL:=$(LINUX_SRC_DIR)/scripts/headers_install.pl
20
21define KernelPackage/qca-nss-drv
22  SECTION:=kernel
23  CATEGORY:=Kernel modules
24  SUBMENU:=Network Devices
25  DEPENDS:=@TARGET_ipq806x +kmod-qca-nss-gmac
26  TITLE:=Kernel driver for NSS (core driver)
27  FILES:=$(PKG_BUILD_DIR)/qca-nss-drv.ko
28  AUTOLOAD:=$(call AutoLoad,32,qca-nss-drv)
29endef
30
31define KernelPackage/qca-nss-drv/Description
32This package contains a NSS driver for QCA chipset
33endef
34
35define qca_header_install
36	cd $(LINUX_DIR) && \
37	perl $(HDR_INSTALL) $(1)/qca-nss-drv $(1)/qca-nss-userspace $(ARCH) $(strip $2);
38endef
39
40define KernelPackage/qca-nss-drv/install
41	$(INSTALL_DIR) $(1)/lib/debug
42	$(INSTALL_DIR) $(1)/etc/init.d
43	$(INSTALL_DIR) $(1)/etc/sysctl.d
44	$(INSTALL_DIR) $(1)/etc/hotplug.d/firmware
45	$(INSTALL_DIR) $(1)/etc/config
46
47	$(INSTALL_BIN) ./files/qca-nss-drv.debug $(1)/lib/debug/qca-nss-drv
48	$(INSTALL_BIN) ./files/qca-nss-drv.init $(1)/etc/init.d/qca-nss-drv
49	$(INSTALL_BIN) ./files/qca-nss-drv.sysctl $(1)/etc/sysctl.d/qca-nss-drv.conf
50	$(INSTALL_BIN) ./files/qca-nss-drv.hotplug $(1)/etc/hotplug.d/firmware/10-qca-nss-fw
51	$(INSTALL_BIN) ./files/qca-nss-drv.conf $(1)/etc/config/nss
52endef
53
54define Build/InstallDev
55	mkdir -p $(1)/usr/include/qca-nss-drv
56	mkdir -p $(1)/usr/include/qca-nss-userspace
57	$(CP) $(PKG_BUILD_DIR)/exports/* $(1)/usr/include/qca-nss-drv/
58	$(call qca_header_install, $(1)/usr/include, $(HDR_EXPORTS))
59endef
60
61EXTRA_CFLAGS+= -I$(STAGING_DIR)/usr/include/qca-nss-gmac
62
63HDR_EXPORTS  =  nss_cmn.h
64HDR_EXPORTS +=  nss_crypto.h
65HDR_EXPORTS +=  nss_ipsecmgr.h
66HDR_EXPORTS +=  nss_ipv4.h
67
68define Build/Prepare
69	mkdir -p $(PKG_BUILD_DIR)
70	$(CP) ./src/* $(PKG_BUILD_DIR)/
71endef
72
73define Build/Compile
74	$(MAKE) -C "$(LINUX_DIR)" \
75		CROSS_COMPILE="$(TARGET_CROSS)" \
76		ARCH="$(LINUX_KARCH)" \
77		SUBDIRS="$(PKG_BUILD_DIR)" \
78		EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
79		modules;
80endef
81
82$(eval $(call KernelPackage,qca-nss-drv))
83