634bdf14beb3a811084f4ba2ceae9c8eb9def0b9
[openwrt/openwrt.git] / package / kernel / ath10k-ct / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_NAME:=ath10k-ct
4 PKG_RELEASE=3
5
6 PKG_LICENSE:=GPLv2
7 PKG_LICENSE_FILES:=
8
9 PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git
10 PKG_SOURCE_PROTO:=git
11 PKG_SOURCE_DATE:=2018-05-30
12 PKG_SOURCE_VERSION:=127f98189ee57260ed175a60d6654a43c32a8f4b
13 PKG_MIRROR_HASH:=f8856c9d950d3b12ce0d8770e56e861df14878a1b3601592205c5d51edc794ac
14
15 # Build the 4.13 ath10k-ct driver version. Other options are "-4.9", or
16 # leave un-defined for 4.7 kernel. Probably this should match as closely as
17 # possible to whatever mac80211 backports version is being used.
18 CT_KVER="-4.13"
19
20 PKG_MAINTAINER:=Ben Greear <greearb@candelatech.com>
21 PKG_BUILD_PARALLEL:=1
22 PKG_EXTMOD_SUBDIRS:=ath10k$(CT_KVER)
23
24 STAMP_CONFIGURED_DEPENDS := $(STAGING_DIR)/usr/include/mac80211-backport/backport/autoconf.h
25
26 include $(INCLUDE_DIR)/kernel.mk
27 include $(INCLUDE_DIR)/package.mk
28
29 define KernelPackage/ath10k-ct
30 SUBMENU:=Wireless Drivers
31 TITLE:=ath10k-ct driver optimized for CT ath10k firmware
32 DEPENDS:=+kmod-mac80211 +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +@DRIVER_11W_SUPPORT @PCI_SUPPORT +kmod-hwmon-core
33 FILES:=\
34 $(PKG_BUILD_DIR)/ath10k$(CT_KVER)/ath10k_pci.ko \
35 $(PKG_BUILD_DIR)/ath10k$(CT_KVER)/ath10k_core.ko
36 AUTOLOAD:=$(call AutoProbe,ath10k_pci)
37 PROVIDES:=kmod-ath10k
38 endef
39
40 NOSTDINC_FLAGS = \
41 -I$(PKG_BUILD_DIR) \
42 -I$(STAGING_DIR)/usr/include/mac80211-backport/uapi \
43 -I$(STAGING_DIR)/usr/include/mac80211-backport \
44 -I$(STAGING_DIR)/usr/include/mac80211/uapi \
45 -I$(STAGING_DIR)/usr/include/mac80211 \
46 -include backport/autoconf.h \
47 -include backport/backport.h
48
49 ifdef CONFIG_PACKAGE_MAC80211_MESH
50 NOSTDINC_FLAGS += -DCONFIG_MAC80211_MESH
51 endif
52
53 CT_MAKEDEFS += CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m
54
55 # This AHB logic is needed for IPQ4019 radios
56 CT_MAKEDEFS += CONFIG_ATH10K_AHB=m
57 NOSTDINC_FLAGS += -DCONFIG_ATH10K_AHB
58
59 NOSTDINC_FLAGS += -DSTANDALONE_CT
60
61 ifdef CONFIG_PACKAGE_MAC80211_DEBUGFS
62 CT_MAKEDEFS += CONFIG_ATH10K_DEBUGFS=y CONFIG_MAC80211_DEBUGFS=y
63 NOSTDINC_FLAGS += -DCONFIG_MAC80211_DEBUGFS
64 NOSTDINC_FLAGS += -DCONFIG_ATH10K_DEBUGFS
65 endif
66
67 ifdef CONFIG_PACKAGE_ATH_DEBUG
68 NOSTDINC_FLAGS += -DCONFIG_ATH10K_DEBUG
69 endif
70
71 ifdef CONFIG_PACKAGE_ATH_DFS
72 NOSTDINC_FLAGS += -DCONFIG_ATH10K_DFS_CERTIFIED
73 endif
74
75 ifdef CONFIG_PACKAGE_ATH_SPECTRAL
76 CT_MAKEDEFS += CONFIG_ATH10K_SPECTRAL=y
77 NOSTDINC_FLAGS += -DCONFIG_ATH10K_SPECTRAL
78 endif
79
80 define Build/Configure
81 cp $(STAGING_DIR)/usr/include/mac80211/ath/*.h $(PKG_BUILD_DIR)
82 endef
83
84 ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
85 CT_MAKEDEFS += V=1
86 endif
87
88 define Build/Compile
89 +$(MAKE) $(CT_MAKEDEFS) $(PKG_JOBS) -C "$(LINUX_DIR)" \
90 $(KERNEL_MAKE_FLAGS) \
91 SUBDIRS="$(PKG_BUILD_DIR)/ath10k$(CT_KVER)" \
92 NOSTDINC_FLAGS="$(NOSTDINC_FLAGS)" \
93 modules
94 endef
95
96 $(eval $(call KernelPackage,ath10k-ct))