diff --git a/device/linux-samsung-a5y17lte/APKBUILD b/device/linux-samsung-a5y17lte/APKBUILD index 5587fcf6a..7f61bc279 100644 --- a/device/linux-samsung-a5y17lte/APKBUILD +++ b/device/linux-samsung-a5y17lte/APKBUILD @@ -3,7 +3,7 @@ pkgname="linux-samsung-a5y17lte" pkgver=3.18.14 -pkgrel=2 +pkgrel=3 pkgdesc="Samsung Galaxy A5 (2017) kernel fork" arch="aarch64" _carch="arm64" @@ -20,33 +20,59 @@ HOSTCC="${HOSTCC#${CROSS_COMPILE}}" # Source _repository="android_kernel_samsung_universal7880" _commit="9af43285ff43d74f3f40f910023e57dfad1c8e63" +_qca_commit="48f9ab5d5c161549be098997fa0e3602c1547213" _config="config-${_flavor}.${arch}" source=" $pkgname-$_commit.tar.gz::https://github.com/LineageOS/${_repository}/archive/${_commit}.tar.gz + qcacld-$_qca_commit.tar.gz::https://github.com/codeauroraforum/quic-la-platform-vendor-qcom-opensource-wlan-qcacld-2.0/archive/${_qca_commit}.tar.gz $_config fix_firmware_path.patch gcc7-give-up-on-ilog2-const-optimizations.patch gcc8-fix-put-user.patch 0007-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch + qcacld-2.0.config + disable_wlan_werror.qcapatch + skbuff_increased.patch disable_knox.patch debug_muic.patch " builddir="$srcdir/${_repository}-${_commit}" +qcaclddir="$srcdir/quic-la-platform-vendor-qcom-opensource-wlan-qcacld-2.0-${_qca_commit}" prepare() { default_prepare downstreamkernel_prepare "$srcdir" "$builddir" "$_config" "$_carch" "$HOSTCC" + prepare_modules +} + +prepare_modules() { + cd $qcaclddir + patch -p1 -i "$srcdir"/disable_wlan_werror.qcapatch } build() { unset LDFLAGS make ARCH="$_carch" CC="${CC:-gcc}" \ KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS" + build_modules + dtbTool-exynos --pagesize 2048 --platform 0x50a6 --subtype 0x217584da \ -o "arch/arm64/boot/dtb.img" $(find "arch/arm64/boot/dts/" -name *a5y17lte*.dtb) } +build_modules() { + ( + set -a + source "$srcdir"/qcacld-2.0.config + make M=$qcaclddir WLAN_ROOT=$qcaclddir modules ARCH="$_carch" CC="${CC:-gcc}" + ) +} + package() { + mkdir -p "$pkgdir"/lib/modules/$pkgver + cp -v "$builddir"/modules.builtin "$pkgdir"/lib/modules/$pkgver + make INSTALL_MOD_PATH="$pkgdir" INSTALL_MOD_STRIP=1 M=$qcaclddir modules_install + # kernel.release install -D "$builddir/include/config/kernel.release" \ "$pkgdir/usr/share/kernel/$_flavor/kernel.release" @@ -71,10 +97,14 @@ package() { } sha512sums="96794c6c5c91375a0110906c512644ccfb7c1d1f6e9275a0807e123bd8d02c93047856228298e38c9d24ddb663d58c33dbeaedb8f433cd54a07e4ae4e91ad243 linux-samsung-a5y17lte-9af43285ff43d74f3f40f910023e57dfad1c8e63.tar.gz +1dfcf7d1965d1a4fa86ac05d4408f1ffbedaf864689e0228d09d3d964fca08edf33dcf77bb0ab4dfcf1f8a37d6ee300c9e480457710745f9f5b7df9587e265e8 qcacld-48f9ab5d5c161549be098997fa0e3602c1547213.tar.gz 370d215158707ce674562a9d194c7827b1ba7adc808503ea60ace392a2bb3bf95e39828062947dd425a80041343cb12dd683e379dccbadfc88be94359065984b config-samsung-a5y17lte.aarch64 9e2fb4b559936fdf77634ed7b3b85b2431b79ae9304f58c97172ba933bbfa365291650b20ddce41993526e39ca866049b765f730690f446ef047d86873a5f710 fix_firmware_path.patch 77eba606a71eafb36c32e9c5fe5e77f5e4746caac292440d9fb720763d766074a964db1c12bc76fe583c5d1a5c864219c59941f5e53adad182dbc70bf2bc14a7 gcc7-give-up-on-ilog2-const-optimizations.patch 197d40a214ada87fcb2dfc0ae4911704b9a93354b75179cd6b4aadbb627a37ec262cf516921c84a8b1806809b70a7b440cdc8310a4a55fca5d2c0baa988e3967 gcc8-fix-put-user.patch b5f7aed0d4c78fcd9ea6f65e11606c4d33004b45eed39017baa8b0a78db801396aa04ba7cd3a4a669c23f878f5462ae1b5f753e0e26b65c9962fd1e98855e524 0007-usb_gadget-set-random-rndis-host-MAC-address-to-prev.patch +83a432ab7e3ee3cae47b0c751cf0a268f4291411789a1cf9187ef003a0f09b46316c0669e92bd91d3062b3d020005e67aea6fbf48b8ef87ba9b7f3a86a44612b qcacld-2.0.config +23278ca0660f17723506ca5befea757d736bd2cf4f01bccfaf4c154f94d42828fc2f49fd599f3295623a65f85b3b89bea18389a65c63f82f0496a92e8e6d8d72 disable_wlan_werror.qcapatch +f763033e73f5a00ad42273c11058446ff365d09d5f204c828d111aa48bc816baca74c333cbd2fa61c21ccdebc7329d0a3cfe971f5991026cb5abe7871b51a32b skbuff_increased.patch 0ed3a870c33728b5337261770e8e8ea3d4135235339407d7e4d070d2f6aef5a866ad2012451b75aeeb813bd7d514c959d49d2f31a93ce95c0dbfc03275328a33 disable_knox.patch fefc6dde6c74201e2862b998a1e9a75cc0f71a7921383c99cf058f8fec53e278abb1cc40fc1fc6e532cf60e4a6670123129de60cc59e64057856769e1612edd1 debug_muic.patch" diff --git a/device/linux-samsung-a5y17lte/disable_wlan_werror.qcapatch b/device/linux-samsung-a5y17lte/disable_wlan_werror.qcapatch new file mode 100644 index 000000000..f569f3415 --- /dev/null +++ b/device/linux-samsung-a5y17lte/disable_wlan_werror.qcapatch @@ -0,0 +1,12 @@ +diff --git a/Kbuild b/Kbuild +index 4a528a190..f4b12b8e2 100644 +--- a/Kbuild ++++ b/Kbuild +@@ -977,7 +977,6 @@ CDEFINES := -DANI_LITTLE_BYTE_ENDIAN \ + -DWLAN_PERF \ + -DPTT_SOCK_SVC_ENABLE \ + -Wall\ +- -Werror\ + -D__linux__ \ + -DHAL_SELF_STA_PER_BSS=1 \ + -DWLAN_FEATURE_VOWIFI_11R \ diff --git a/device/linux-samsung-a5y17lte/qcacld-2.0.config b/device/linux-samsung-a5y17lte/qcacld-2.0.config new file mode 100644 index 000000000..9f4f289ad --- /dev/null +++ b/device/linux-samsung-a5y17lte/qcacld-2.0.config @@ -0,0 +1,25 @@ +# +# Qualcomm Atheros CLD WLAN module config +# +CONFIG_QCA_CLD_WLAN=m +CONFIG_QCACLD_WLAN_LFR3=y +CONFIG_PRIMA_WLAN_OKC=y +CONFIG_PRIMA_WLAN_11AC_HIGH_TP=y +CONFIG_WLAN_FEATURE_11W=y +CONFIG_WLAN_FEATURE_LPSS=y +CONFIG_QCOM_VOWIFI_11R=y +CONFIG_WLAN_FEATURE_NAN=y +CONFIG_WLAN_FEATURE_NAN_DATAPATH=y +CONFIG_QCOM_TDLS=y +CONFIG_QCOM_LTE_COEX=y +CONFIG_WLAN_SYNC_TSF=y +CONFIG_WLAN_FEATURE_MEMDUMP=y +CONFIG_WLAN_OFFLOAD_PACKETS=y +CONFIG_QCA_WIFI_AUTOMOTIVE_CONC=y +CONFIG_WLAN_UDP_RESPONSE_OFFLOAD=y +CONFIG_WLAN_FEATURE_RX_WAKELOCK=y +CONFIG_WLAN_WOW_PULSE=y +CONFIG_CLD_HL_SDIO_CORE=y +WLAN_OPEN_SOURCE=1 +MODNAME=wlan +# export CONFIG_DPTRACE_ENABLE=y \ No newline at end of file diff --git a/device/linux-samsung-a5y17lte/skbuff_increased.patch b/device/linux-samsung-a5y17lte/skbuff_increased.patch new file mode 100644 index 000000000..0bbd62cf0 --- /dev/null +++ b/device/linux-samsung-a5y17lte/skbuff_increased.patch @@ -0,0 +1,15 @@ +This patch increases skbuff for qcacld-2.0 module + +diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h +index 2efc361539d..d9c47719ece 100644 +--- a/include/linux/skbuff.h ++++ b/include/linux/skbuff.h +@@ -538,7 +538,7 @@ struct sk_buff { + * want to keep them across layers you have to do a skb_clone() + * first. This is owned by whoever has the skb queued ATM. + */ +- char cb[48] __aligned(8); ++ char cb[96] __aligned(8); + + unsigned long _skb_refdst; + void (*destructor)(struct sk_buff *skb);