Compare commits
10 commits
c5517117ef
...
5681c7c08d
Author | SHA1 | Date | |
---|---|---|---|
|
5681c7c08d | ||
|
c809eaebb8 | ||
|
1b2610e01a | ||
|
efaff8ad3f | ||
|
d8b5868b62 | ||
|
032c56014f | ||
|
c32d81e08c | ||
|
5da0667ce0 | ||
|
16bf62e099 | ||
|
1f675ae3f3 |
27 changed files with 358 additions and 90 deletions
15
Makefile
15
Makefile
|
@ -721,6 +721,21 @@ KBUILD_CFLAGS += $(call cc-option,-fno-reorder-blocks,) \
|
||||||
$(call cc-option,-fno-partial-inlining)
|
$(call cc-option,-fno-partial-inlining)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifdef CONFIG_LLVM_POLLY
|
||||||
|
KBUILD_CFLAGS += -mllvm -polly \
|
||||||
|
-mllvm -polly-ast-use-context \
|
||||||
|
-mllvm -polly-invariant-load-hoisting \
|
||||||
|
-mllvm -polly-run-inliner \
|
||||||
|
-mllvm -polly-vectorizer=stripmine
|
||||||
|
# Polly may optimise loops with dead paths beyound what the linker
|
||||||
|
# # can understand. This may negate the effect of the linker's DCE
|
||||||
|
# # so we tell Polly to perfom proven DCE on the loops it optimises
|
||||||
|
# # in order to preserve the overall effect of the linker's DCE.
|
||||||
|
ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
|
||||||
|
KBUILD_CFLAGS += -mllvm -polly-run-dce
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
ifneq ($(CONFIG_FRAME_WARN),0)
|
ifneq ($(CONFIG_FRAME_WARN),0)
|
||||||
KBUILD_CFLAGS += $(call cc-option,-Wframe-larger-than=${CONFIG_FRAME_WARN})
|
KBUILD_CFLAGS += $(call cc-option,-Wframe-larger-than=${CONFIG_FRAME_WARN})
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -594,6 +594,15 @@ config SHADOW_CALL_STACK_VMAP
|
||||||
provides better stack exhaustion protection, but increases per-thread
|
provides better stack exhaustion protection, but increases per-thread
|
||||||
memory consumption as a full page is allocated for each shadow stack.
|
memory consumption as a full page is allocated for each shadow stack.
|
||||||
|
|
||||||
|
config LLVM_POLLY
|
||||||
|
bool "Enable LLVM's polyhedral loop optimizer (Polly)"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
This option enables LLVM's polyhedral loop optimizer known as Polly.
|
||||||
|
Polly is able to optimize various loops throughout the kernel for
|
||||||
|
maximum cache locality. This requires an LLVM toolchain explicitly
|
||||||
|
compiled with Polly support.
|
||||||
|
|
||||||
config HAVE_ARCH_WITHIN_STACK_FRAMES
|
config HAVE_ARCH_WITHIN_STACK_FRAMES
|
||||||
bool
|
bool
|
||||||
help
|
help
|
||||||
|
|
|
@ -635,8 +635,10 @@ CONFIG_STACKPROTECTOR_STRONG=y
|
||||||
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
|
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
|
||||||
CONFIG_ARCH_SUPPORTS_THINLTO=y
|
CONFIG_ARCH_SUPPORTS_THINLTO=y
|
||||||
CONFIG_LTO_NONE=y
|
CONFIG_LTO_NONE=y
|
||||||
|
# CONFIG_LTO_CLANG is not set
|
||||||
CONFIG_ARCH_SUPPORTS_SHADOW_CALL_STACK=y
|
CONFIG_ARCH_SUPPORTS_SHADOW_CALL_STACK=y
|
||||||
# CONFIG_SHADOW_CALL_STACK is not set
|
# CONFIG_SHADOW_CALL_STACK is not set
|
||||||
|
# CONFIG_LLVM_POLLY is not set
|
||||||
CONFIG_HAVE_CONTEXT_TRACKING=y
|
CONFIG_HAVE_CONTEXT_TRACKING=y
|
||||||
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
|
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
|
||||||
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
|
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
|
||||||
|
|
307
build.sh
Normal file
307
build.sh
Normal file
|
@ -0,0 +1,307 @@
|
||||||
|
#! /usr/bin/env bash
|
||||||
|
|
||||||
|
#
|
||||||
|
# Rissu Kernel Project
|
||||||
|
# A special build script for Rissu's kernel
|
||||||
|
#
|
||||||
|
|
||||||
|
# << If unset, you can override if u want
|
||||||
|
[ -z $IS_CI ] && IS_CI=false
|
||||||
|
[ -z $DO_CLEAN ] && DO_CLEAN=false
|
||||||
|
[ -z $LTO ] && LTO=none
|
||||||
|
[ -z $DEFAULT_KSU_REPO ] && DEFAULT_KSU_REPO="https://raw.githubusercontent.com/rsuntk/KernelSU/main/kernel/setup.sh"
|
||||||
|
[ -z $DEFAULT_KSU_BRANCH ] && DEFAULT_KSU_BRANCH="main"
|
||||||
|
[ -z $DEFAULT_AK3_REPO ] && DEFAULT_AK3_REPO="https://github.com/rsuntk/AnyKernel3.git"
|
||||||
|
[ -z $DEVICE ] && DEVICE="A235F"
|
||||||
|
[ -z $IMAGE ] && IMAGE="$(pwd)/out/arch/arm64/boot/Image"
|
||||||
|
|
||||||
|
# special rissu's path. linked to his toolchains
|
||||||
|
if [ -d /rsuntk ]; then
|
||||||
|
export CROSS_COMPILE=/rsuntk/toolchains/google/bin/aarch64-linux-android-
|
||||||
|
export PATH=/rsuntk/toolchains/clang-12/bin:$PATH
|
||||||
|
fi
|
||||||
|
# color variable
|
||||||
|
N='\033[0m'
|
||||||
|
R='\033[1;31m'
|
||||||
|
G='\033[1;32m'
|
||||||
|
|
||||||
|
# start of default args
|
||||||
|
DEFAULT_ARGS="
|
||||||
|
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
|
||||||
|
CONFIG_BUILD_ARM64_DT_OVERLAY=y
|
||||||
|
ARCH=arm64
|
||||||
|
KCFLAGS=-w
|
||||||
|
"
|
||||||
|
export ARCH=arm64
|
||||||
|
export CLANG_TRIPLE=aarch64-linux-gnu-
|
||||||
|
export DTC_EXT=$(pwd)/tools/dtc
|
||||||
|
# end of default args
|
||||||
|
|
||||||
|
pr_invalid() {
|
||||||
|
echo -e "[-] Invalid args: $@"
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
pr_err() {
|
||||||
|
echo -e "[-] $@"
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
pr_info() {
|
||||||
|
echo -e "[+] $@"
|
||||||
|
}
|
||||||
|
pr_step() {
|
||||||
|
echo "[$1 / $2] $3"
|
||||||
|
sleep 2
|
||||||
|
}
|
||||||
|
strip() { # fmt: strip <module>
|
||||||
|
llvm-strip $@ --strip-unneeded
|
||||||
|
}
|
||||||
|
setconfig() { # fmt: setconfig enable/disable <NAME>
|
||||||
|
[ -e $(pwd)/.config ] && config_file="$(pwd)/.config" || config_file="$(pwd)/out/.config"
|
||||||
|
if [ -d $(pwd)/scripts ]; then
|
||||||
|
[ "$1" = "enable" ] && pr_info "Enabling CONFIG_`echo $2` .." || pr_info "Disabling CONFIG_`echo $2`"
|
||||||
|
chmod +x ./scripts/config && ./scripts/config --file `echo $config_file` --`echo $1` CONFIG_`echo $2`
|
||||||
|
else
|
||||||
|
echo "! Folder scripts not found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
clone_ak3() {
|
||||||
|
[ ! -d $(pwd)/AnyKernel3 ] && git clone $DEFAULT_AK3_REPO --depth=1 -b general
|
||||||
|
rm -rf AnyKernel3/.git
|
||||||
|
}
|
||||||
|
gen_getutsrelease() {
|
||||||
|
# generate simple c file
|
||||||
|
if [ ! -e utsrelease.c ]; then
|
||||||
|
echo "/* Generated file by `basename $0` */
|
||||||
|
#include <stdio.h>
|
||||||
|
#ifdef __OUT__
|
||||||
|
#include \"out/include/generated/utsrelease.h\"
|
||||||
|
#else
|
||||||
|
#include \"include/generated/utsrelease.h\"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
char utsrelease[] = UTS_RELEASE;
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
printf(\"%s\n\", utsrelease);
|
||||||
|
return 0;
|
||||||
|
}" > utsrelease.c
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
usage() {
|
||||||
|
echo -e "Usage: bash `basename $0` <build_target> <-j | --jobs> <(job_count)> <defconfig>"
|
||||||
|
printf "\tbuild_target: dirty, kernel, defconfig, clean\n"
|
||||||
|
printf "\t-j or --jobs: <int>\n"
|
||||||
|
echo ""
|
||||||
|
printf "NOTE: Run: \texport CROSS_COMPILE=\"<PATH_TO_ANDROID_CC>\"\n"
|
||||||
|
printf "\t\texport PATH=\"<PATH_TO_LLVM>\"\n"
|
||||||
|
printf "before running this script!\n"
|
||||||
|
printf "\n"
|
||||||
|
printf "Misc:\n"
|
||||||
|
printf "\tPOST_BUILD_CLEAN: Clean post build: (opt:boolean)\n"
|
||||||
|
printf "\tLTO: Use Link-time Optimization; options: (opt: none, thin, full)\n"
|
||||||
|
printf "\tLLVM: Use all llvm toolchains to build: (opt: 1)\n"
|
||||||
|
printf "\tLLVM_IAS: Use llvm integrated assembler: (opt: 1)\n"
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
pr_post_build() {
|
||||||
|
echo ""
|
||||||
|
[ "$@" = "failed" ] && echo -e "${R}#### Failed to build some targets ($1) ####${N}" || echo -e "${G}#### Build completed at `date` ####${N}"
|
||||||
|
echo ""
|
||||||
|
echo "======================================================="
|
||||||
|
[ -e $IMAGE ] && strings $IMAGE | grep "Linux version" || exit
|
||||||
|
echo "======================================================="
|
||||||
|
}
|
||||||
|
|
||||||
|
# if first arg starts with "clean"
|
||||||
|
if [[ "$1" = "clean" ]]; then
|
||||||
|
[ $# -gt 1 ] && pr_err "Excess argument, only need one argument."
|
||||||
|
pr_info "Cleaning dirs"
|
||||||
|
if [ -d $(pwd)/out ]; then
|
||||||
|
rm -rf out
|
||||||
|
elif [ -f $(pwd)/.config ]; then
|
||||||
|
make clean
|
||||||
|
make mrproper
|
||||||
|
else
|
||||||
|
pr_err "No need clean."
|
||||||
|
fi
|
||||||
|
pr_err "All clean."
|
||||||
|
elif [[ "$1" = "dirty" ]]; then
|
||||||
|
if [ $# -gt 3 ]; then
|
||||||
|
pr_err "Excess argument, only need three argument."
|
||||||
|
fi
|
||||||
|
pr_info "Starting dirty build"
|
||||||
|
FIRST_JOB="$2"
|
||||||
|
JOB_COUNT="$3"
|
||||||
|
if [ "$FIRST_JOB" = "-j" ] || [ "$FIRST_JOB" = "--jobs" ]; then
|
||||||
|
if [ ! -z $JOB_COUNT ]; then
|
||||||
|
ALLOC_JOB=$JOB_COUNT
|
||||||
|
else
|
||||||
|
pr_invalid $3
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
pr_invalid $2
|
||||||
|
fi
|
||||||
|
make -j`echo $ALLOC_JOB` -C $(pwd) O=$(pwd)/out `echo $DEFAULT_ARGS`
|
||||||
|
[ ! -e $IMAGE ] && pr_post_build "failed" || pr_post_build "completed"
|
||||||
|
elif [[ "$1" = "ak3" ]]; then
|
||||||
|
if [ $# -gt 1 ]; then
|
||||||
|
pr_err "Excess argument, only need one argument."
|
||||||
|
fi
|
||||||
|
clone_ak3;
|
||||||
|
else
|
||||||
|
[ $# != 4 ] && usage;
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ "$KERNELSU" = "true" ] && curl -LSs $DEFAULT_KSU_REPO | bash -s `echo $DEFAULT_KSU_BRANCH` || pr_info "KernelSU is disabled. Add 'KERNELSU=true' or 'export KERNELSU=true' to enable"
|
||||||
|
|
||||||
|
BUILD_TARGET="$1"
|
||||||
|
FIRST_JOB="$2"
|
||||||
|
JOB_COUNT="$3"
|
||||||
|
DEFCONFIG="$4"
|
||||||
|
|
||||||
|
if [ "$BUILD_TARGET" = "kernel" ]; then
|
||||||
|
BUILD="kernel"
|
||||||
|
elif [ "$BUILD_TARGET" = "defconfig" ]; then
|
||||||
|
BUILD="defconfig"
|
||||||
|
else
|
||||||
|
pr_invalid $1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$FIRST_JOB" = "-j" ] || [ "$FIRST_JOB" = "--jobs" ]; then
|
||||||
|
if [ ! -z $JOB_COUNT ]; then
|
||||||
|
ALLOC_JOB=$JOB_COUNT
|
||||||
|
else
|
||||||
|
pr_invalid $3
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
pr_invalid $2
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -z "$DEFCONFIG" ]; then
|
||||||
|
BUILD_DEFCONFIG="$DEFCONFIG"
|
||||||
|
else
|
||||||
|
pr_invalid $4
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$LLVM" = "1" ]; then
|
||||||
|
LLVM_="true"
|
||||||
|
DEFAULT_ARGS+=" LLVM=1"
|
||||||
|
export LLVM=1
|
||||||
|
if [ "$LLVM_IAS" = "1" ]; then
|
||||||
|
LLVM_IAS_="true"
|
||||||
|
DEFAULT_ARGS+=" LLVM_IAS=1"
|
||||||
|
export LLVM_IAS=1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
LLVM_="false"
|
||||||
|
if [ "$LLVM_IAS" != "1" ]; then
|
||||||
|
LLVM_IAS_="false"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
pr_sum() {
|
||||||
|
[ -z $KBUILD_BUILD_USER ] && KBUILD_BUILD_USER="`whoami`"
|
||||||
|
[ -z $KBUILD_BUILD_HOST ] && KBUILD_BUILD_HOST="`uname -n`"
|
||||||
|
pr_step "1" "3" "Starting build with Rissu's build script ..."
|
||||||
|
echo "======================================================="
|
||||||
|
echo -e "Host Arch: `uname -m`"
|
||||||
|
echo -e "Host Kernel: `uname -r`"
|
||||||
|
echo -e "Host GNUMake: `make -v | grep -e "GNU Make"`"
|
||||||
|
echo -e "Kernel builder user: $KBUILD_BUILD_USER"
|
||||||
|
echo -e "Kernel builder host: $KBUILD_BUILD_HOST"
|
||||||
|
echo -e "Linux version: `make kernelversion`"
|
||||||
|
echo -e "Build date: `date`"
|
||||||
|
echo -e "Build target: `echo $BUILD`"
|
||||||
|
echo -e "Build arch: $ARCH"
|
||||||
|
echo -e "Target Defconfig: $BUILD_DEFCONFIG"
|
||||||
|
echo -e "Allocated core(s): $ALLOC_JOB"
|
||||||
|
echo -e "LTO: $LTO"
|
||||||
|
echo "======================================================="
|
||||||
|
}
|
||||||
|
|
||||||
|
post_build_clean() {
|
||||||
|
if [ -e $AK3 ]; then
|
||||||
|
rm -rf $AK3/Image
|
||||||
|
rm -rf $AK3/modules/vendor/lib/modules/*.ko
|
||||||
|
#sed -i "s/do\.modules=.*/do.modules=0/" "$(pwd)/AnyKernel3/anykernel.sh"
|
||||||
|
echo "stub" > $AK3/modules/vendor/lib/modules/stub
|
||||||
|
fi
|
||||||
|
rm getutsrel
|
||||||
|
rm utsrelease.c
|
||||||
|
# clean out folder
|
||||||
|
rm -rf out
|
||||||
|
make clean
|
||||||
|
make mrproper
|
||||||
|
}
|
||||||
|
|
||||||
|
post_build() {
|
||||||
|
if [ -d $(pwd)/.git ]; then
|
||||||
|
GITSHA=$(git rev-parse --short HEAD)
|
||||||
|
else
|
||||||
|
GITSHA="localbuild"
|
||||||
|
fi
|
||||||
|
|
||||||
|
AK3="$(pwd)/AnyKernel3"
|
||||||
|
DATE=$(date +'%Y%m%d%H%M%S')
|
||||||
|
ZIP_FMT="AnyKernel3-`echo $DEVICE`_$GITSHA-$DATE"
|
||||||
|
|
||||||
|
clone_ak3;
|
||||||
|
if [ -d $AK3 ]; then
|
||||||
|
echo "- Creating AnyKernel3"
|
||||||
|
gen_getutsrelease;
|
||||||
|
[ -d $(pwd)/out ] && gcc -D__OUT__ -CC utsrelease.c -o getutsrel || gcc -CC utsrelease.c -o getutsrel
|
||||||
|
UTSRELEASE=$(./getutsrel)
|
||||||
|
sed -i "s/kernel\.string=.*/kernel.string=$UTSRELEASE/" "$AK3/anykernel.sh"
|
||||||
|
#sed -i "s/BLOCK=.*/BLOCK=\/dev\/block\/platform\/12100000.dwmmc0\/by-name\/boot;/" "$AK3/anykernel.sh"
|
||||||
|
cp $IMAGE $AK3
|
||||||
|
cd $AK3
|
||||||
|
zip -r9 ../`echo $ZIP_FMT`.zip *
|
||||||
|
# CI will clean itself post-build, so we don't need to clean
|
||||||
|
# Also avoiding small AnyKernel3 zip issue!
|
||||||
|
if [ "$IS_CI" != "true" ] && [ "$DO_CLEAN" = "true" ]; then
|
||||||
|
pr_info "Host is not Automated CI, cleaning dirs"
|
||||||
|
post_build_clean;
|
||||||
|
fi
|
||||||
|
cd ..
|
||||||
|
pr_step "3" "3" "Build script ended."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
handle_lto() {
|
||||||
|
if [[ "$LTO" = "thin" ]]; then
|
||||||
|
pr_info "LTO: Thin"
|
||||||
|
setconfig disable LTO_NONE
|
||||||
|
setconfig enable LTO
|
||||||
|
setconfig enable THINLTO
|
||||||
|
setconfig enable LTO_CLANG
|
||||||
|
setconfig enable ARCH_SUPPORTS_LTO_CLANG
|
||||||
|
setconfig enable ARCH_SUPPORTS_THINLTO
|
||||||
|
elif [[ "$LTO" = "full" ]]; then
|
||||||
|
pr_info "LTO: Full"
|
||||||
|
setconfig disable LTO_NONE
|
||||||
|
setconfig enable LTO
|
||||||
|
setconfig disable THINLTO
|
||||||
|
setconfig enable LTO_CLANG
|
||||||
|
setconfig enable ARCH_SUPPORTS_LTO_CLANG
|
||||||
|
setconfig enable ARCH_SUPPORTS_THINLTO
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
# call summary
|
||||||
|
pr_sum
|
||||||
|
if [ "$BUILD" = "kernel" ]; then
|
||||||
|
pr_step "2" "3" "Building targets ($BUILD) with lto=$LTO @ $ALLOC_JOB job(s)"
|
||||||
|
make -j`echo $ALLOC_JOB` -C $(pwd) O=$(pwd)/out `echo $DEFAULT_ARGS` `echo $BUILD_DEFCONFIG`
|
||||||
|
[ "$KERNELSU" = "true" ] && setconfig enable KSU
|
||||||
|
[ "$LTO" != "none" ] && handle_lto || pr_info "LTO not set";
|
||||||
|
make -j`echo $ALLOC_JOB` -C $(pwd) O=$(pwd)/out `echo $DEFAULT_ARGS`
|
||||||
|
if [ -e $IMAGE ]; then
|
||||||
|
pr_post_build "completed"
|
||||||
|
post_build
|
||||||
|
else
|
||||||
|
pr_post_build "failed"
|
||||||
|
fi
|
||||||
|
elif [ "$BUILD" = "defconfig" ]; then
|
||||||
|
make -j`echo $ALLOC_JOB` -C $(pwd) O=$(pwd)/out `echo $DEFAULT_ARGS` `echo $BUILD_DEFCONFIG`
|
||||||
|
fi
|
|
@ -124,4 +124,6 @@ source "drivers/staging/gasket/Kconfig"
|
||||||
|
|
||||||
source "drivers/staging/axis-fifo/Kconfig"
|
source "drivers/staging/axis-fifo/Kconfig"
|
||||||
|
|
||||||
|
source "drivers/staging/qcacld-3.0/Kconfig"
|
||||||
|
|
||||||
endif # STAGING
|
endif # STAGING
|
||||||
|
|
|
@ -9,13 +9,16 @@ ifeq ($(KERNEL_BUILD), y)
|
||||||
# These are provided in external module based builds
|
# These are provided in external module based builds
|
||||||
# Need to explicitly define for Kernel-based builds
|
# Need to explicitly define for Kernel-based builds
|
||||||
MODNAME := wlan
|
MODNAME := wlan
|
||||||
WLAN_ROOT := drivers/staging/qcacld-3.0
|
WLAN_ROOT := $(srctree)/$(src)
|
||||||
WLAN_COMMON_ROOT := ../qca-wifi-host-cmn
|
WLAN_COMMON_ROOT := ../qca-wifi-host-cmn
|
||||||
WLAN_COMMON_INC := $(WLAN_ROOT)/$(WLAN_COMMON_ROOT)
|
WLAN_COMMON_INC := $(WLAN_ROOT)/$(WLAN_COMMON_ROOT)
|
||||||
WLAN_FW_API := $(WLAN_ROOT)/../fw-api/
|
WLAN_FW_API := $(WLAN_ROOT)/../fw-api/
|
||||||
WLAN_PROFILE := default
|
WLAN_PROFILE := default
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Force user build
|
||||||
|
export TARGET_BUILD_VARIANT := user
|
||||||
|
|
||||||
WLAN_COMMON_ROOT ?= ../qca-wifi-host-cmn
|
WLAN_COMMON_ROOT ?= ../qca-wifi-host-cmn
|
||||||
WLAN_COMMON_INC ?= $(WLAN_ROOT)/$(WLAN_COMMON_ROOT)
|
WLAN_COMMON_INC ?= $(WLAN_ROOT)/$(WLAN_COMMON_ROOT)
|
||||||
WLAN_FW_API ?= $(WLAN_ROOT)/../fw-api/
|
WLAN_FW_API ?= $(WLAN_ROOT)/../fw-api/
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
comment "Qualcomm Atheros CLD WLAN module"
|
comment "Qualcomm Atheros CLD WLAN module"
|
||||||
|
|
||||||
config QCA_CLD_WLAN
|
config QCA_CLD_WLAN
|
||||||
tristate "Qualcomm Atheros CLD WLAN module"
|
bool "Qualcomm Atheros CLD WLAN module"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Add support for the Qualcomm Atheros CLD WLAN module
|
Add support for the Qualcomm Atheros CLD WLAN module
|
||||||
|
|
|
@ -47,11 +47,8 @@
|
||||||
#include <qdf_notifier.h>
|
#include <qdf_notifier.h>
|
||||||
#include <qdf_hang_event_notifier.h>
|
#include <qdf_hang_event_notifier.h>
|
||||||
|
|
||||||
#ifdef MODULE
|
// Rissu: force init wlan without sysfs!
|
||||||
#define WLAN_MODULE_NAME module_name(THIS_MODULE)
|
|
||||||
#else
|
|
||||||
#define WLAN_MODULE_NAME "wlan"
|
#define WLAN_MODULE_NAME "wlan"
|
||||||
#endif
|
|
||||||
|
|
||||||
#define DISABLE_KRAIT_IDLE_PS_VAL 1
|
#define DISABLE_KRAIT_IDLE_PS_VAL 1
|
||||||
|
|
||||||
|
@ -463,19 +460,10 @@ static int hdd_init_qdf_ctx(struct device *dev, void *bdev,
|
||||||
* Return: return -EPROBE_DEFER to platform driver if return value
|
* Return: return -EPROBE_DEFER to platform driver if return value
|
||||||
* is -ENOMEM. Platform driver will try to re-probe.
|
* is -ENOMEM. Platform driver will try to re-probe.
|
||||||
*/
|
*/
|
||||||
#ifdef MODULE
|
|
||||||
static int check_for_probe_defer(int ret)
|
static int check_for_probe_defer(int ret)
|
||||||
{
|
{
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
static int check_for_probe_defer(int ret)
|
|
||||||
{
|
|
||||||
if (ret == -ENOMEM)
|
|
||||||
return -EPROBE_DEFER;
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0))
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0))
|
||||||
static void hdd_abort_system_suspend(struct device *dev)
|
static void hdd_abort_system_suspend(struct device *dev)
|
||||||
|
|
|
@ -196,11 +196,8 @@
|
||||||
#include <cdp_txrx_ctrl.h>
|
#include <cdp_txrx_ctrl.h>
|
||||||
#include "wlan_global_lmac_if_api.h"
|
#include "wlan_global_lmac_if_api.h"
|
||||||
|
|
||||||
#ifdef MODULE
|
// Rissu: force init wlan without sysfs!
|
||||||
#define WLAN_MODULE_NAME module_name(THIS_MODULE)
|
|
||||||
#else
|
|
||||||
#define WLAN_MODULE_NAME "wlan"
|
#define WLAN_MODULE_NAME "wlan"
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef TIMER_MANAGER
|
#ifdef TIMER_MANAGER
|
||||||
#define TIMER_MANAGER_STR " +TIMER_MANAGER"
|
#define TIMER_MANAGER_STR " +TIMER_MANAGER"
|
||||||
|
@ -16644,7 +16641,6 @@ static void hdd_driver_unload(void)
|
||||||
osif_sync_deinit();
|
osif_sync_deinit();
|
||||||
|
|
||||||
hdd_qdf_deinit();
|
hdd_qdf_deinit();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined (SEC_CONFIG_PSM_SYSFS)
|
#if defined (SEC_CONFIG_PSM_SYSFS)
|
||||||
|
|
|
@ -327,7 +327,4 @@ obj-$(CONFIG_SND_SOC_INT_CODEC) += machine_dlkm.o
|
||||||
machine_dlkm-y := $(MACHINE_OBJS)
|
machine_dlkm-y := $(MACHINE_OBJS)
|
||||||
|
|
||||||
obj-$(CONFIG_SND_SOC_CPE) += cpe_lsm_dlkm.o
|
obj-$(CONFIG_SND_SOC_CPE) += cpe_lsm_dlkm.o
|
||||||
cpe_lsm_dlkm-y := $(CPE_LSM_OBJS)
|
cpe_lsm_dlkm-y := $(CPE_LSM_OBJS)
|
||||||
|
|
||||||
# inject some build related information
|
|
||||||
DEFINES += -DBUILD_TIMESTAMP=\"$(shell date -u +'%Y-%m-%dT%H:%M:%SZ')\"
|
|
|
@ -288,7 +288,4 @@ obj-$(CONFIG_SND_SOC_WCD_MBHC) += mbhc_dlkm.o
|
||||||
mbhc_dlkm-y := $(MBHC_OBJS)
|
mbhc_dlkm-y := $(MBHC_OBJS)
|
||||||
|
|
||||||
obj-$(CONFIG_SND_SOC_MSM_HDMI_CODEC_RX) += hdmi_dlkm.o
|
obj-$(CONFIG_SND_SOC_MSM_HDMI_CODEC_RX) += hdmi_dlkm.o
|
||||||
hdmi_dlkm-y := $(HDMICODEC_OBJS)
|
hdmi_dlkm-y := $(HDMICODEC_OBJS)
|
||||||
|
|
||||||
# inject some build related information
|
|
||||||
DEFINES += -DBUILD_TIMESTAMP=\"$(shell date -u +'%Y-%m-%dT%H:%M:%SZ')\"
|
|
|
@ -114,7 +114,4 @@ endif
|
||||||
|
|
||||||
# Module information used by KBuild framework
|
# Module information used by KBuild framework
|
||||||
obj-$(CONFIG_SND_SOC_AQT1000) += aqt1000_cdc_dlkm.o
|
obj-$(CONFIG_SND_SOC_AQT1000) += aqt1000_cdc_dlkm.o
|
||||||
aqt1000_cdc_dlkm-y := $(AQT1000_CDC_OBJS)
|
aqt1000_cdc_dlkm-y := $(AQT1000_CDC_OBJS)
|
||||||
|
|
||||||
# inject some build related information
|
|
||||||
DEFINES += -DBUILD_TIMESTAMP=\"$(shell date -u +'%Y-%m-%dT%H:%M:%SZ')\"
|
|
|
@ -151,7 +151,4 @@ obj-$(CONFIG_TX_MACRO) += tx_macro_dlkm.o
|
||||||
tx_macro_dlkm-y := $(TX_OBJS)
|
tx_macro_dlkm-y := $(TX_OBJS)
|
||||||
|
|
||||||
obj-$(CONFIG_RX_MACRO) += rx_macro_dlkm.o
|
obj-$(CONFIG_RX_MACRO) += rx_macro_dlkm.o
|
||||||
rx_macro_dlkm-y := $(RX_OBJS)
|
rx_macro_dlkm-y := $(RX_OBJS)
|
||||||
|
|
||||||
# inject some build related information
|
|
||||||
DEFINES += -DBUILD_TIMESTAMP=\"$(shell date -u +'%Y-%m-%dT%H:%M:%SZ')\"
|
|
|
@ -99,7 +99,4 @@ endif
|
||||||
|
|
||||||
# Module information used by KBuild framework
|
# Module information used by KBuild framework
|
||||||
obj-$(CONFIG_SND_SOC_CSRA66X0) += csra66x0_dlkm.o
|
obj-$(CONFIG_SND_SOC_CSRA66X0) += csra66x0_dlkm.o
|
||||||
csra66x0_dlkm-y := $(CSRA66X0_OBJS)
|
csra66x0_dlkm-y := $(CSRA66X0_OBJS)
|
||||||
|
|
||||||
# inject some build related information
|
|
||||||
DEFINES += -DBUILD_TIMESTAMP=\"$(shell date -u +'%Y-%m-%dT%H:%M:%SZ')\"
|
|
|
@ -100,7 +100,4 @@ endif
|
||||||
|
|
||||||
# Module information used by KBuild framework
|
# Module information used by KBuild framework
|
||||||
obj-$(CONFIG_SND_SOC_EP92) += ep92_dlkm.o
|
obj-$(CONFIG_SND_SOC_EP92) += ep92_dlkm.o
|
||||||
ep92_dlkm-y := $(EP92_OBJS)
|
ep92_dlkm-y := $(EP92_OBJS)
|
||||||
|
|
||||||
# inject some build related information
|
|
||||||
DEFINES += -DBUILD_TIMESTAMP=\"$(shell date -u +'%Y-%m-%dT%H:%M:%SZ')\"
|
|
|
@ -118,7 +118,4 @@ endif
|
||||||
|
|
||||||
# Module information used by KBuild framework
|
# Module information used by KBuild framework
|
||||||
obj-$(CONFIG_SND_SOC_MSM_SDW) += msm_sdw_dlkm.o
|
obj-$(CONFIG_SND_SOC_MSM_SDW) += msm_sdw_dlkm.o
|
||||||
msm_sdw_dlkm-y := $(MSM_SDW_OBJS)
|
msm_sdw_dlkm-y := $(MSM_SDW_OBJS)
|
||||||
|
|
||||||
# inject some build related information
|
|
||||||
DEFINES += -DBUILD_TIMESTAMP=\"$(shell date -u +'%Y-%m-%dT%H:%M:%SZ')\"
|
|
|
@ -114,7 +114,4 @@ obj-$(CONFIG_SND_SOC_ROULEUR_SLAVE) += rouleur_slave_dlkm.o
|
||||||
rouleur_slave_dlkm-y := $(ROULEUR_SLAVE_OBJS)
|
rouleur_slave_dlkm-y := $(ROULEUR_SLAVE_OBJS)
|
||||||
|
|
||||||
obj-$(CONFIG_PM2250_SPMI) += pm2250_spmi_dlkm.o
|
obj-$(CONFIG_PM2250_SPMI) += pm2250_spmi_dlkm.o
|
||||||
pm2250_spmi_dlkm-y := $(PM2250_SPMI_OBJS)
|
pm2250_spmi_dlkm-y := $(PM2250_SPMI_OBJS)
|
||||||
|
|
||||||
# inject some build related information
|
|
||||||
DEFINES += -DBUILD_TIMESTAMP=\"$(shell date -u +'%Y-%m-%dT%H:%M:%SZ')\"
|
|
|
@ -131,7 +131,4 @@ obj-$(CONFIG_SND_SOC_DIGITAL_CDC) += digital_cdc_dlkm.o
|
||||||
digital_cdc_dlkm-y := $(DIGITAL_CDC_OBJS)
|
digital_cdc_dlkm-y := $(DIGITAL_CDC_OBJS)
|
||||||
|
|
||||||
obj-$(CONFIG_SND_SOC_DIGITAL_CDC_LEGACY) += digital_cdc_dlkm.o
|
obj-$(CONFIG_SND_SOC_DIGITAL_CDC_LEGACY) += digital_cdc_dlkm.o
|
||||||
digital_cdc_dlkm-y := $(DIGITAL_CDC_OBJS)
|
digital_cdc_dlkm-y := $(DIGITAL_CDC_OBJS)
|
||||||
|
|
||||||
# inject some build related information
|
|
||||||
DEFINES += -DBUILD_TIMESTAMP=\"$(shell date -u +'%Y-%m-%dT%H:%M:%SZ')\"
|
|
|
@ -148,7 +148,4 @@ endif
|
||||||
|
|
||||||
# Module information used by KBuild framework
|
# Module information used by KBuild framework
|
||||||
obj-$(CONFIG_SND_SOC_TAS256x) += tas256x_dlkm.o
|
obj-$(CONFIG_SND_SOC_TAS256x) += tas256x_dlkm.o
|
||||||
tas256x_dlkm-y := $(TAS256x_OBJS)
|
tas256x_dlkm-y := $(TAS256x_OBJS)
|
||||||
|
|
||||||
# inject some build related information
|
|
||||||
DEFINES += -DBUILD_TIMESTAMP=\"$(shell date -u +'%Y-%m-%dT%H:%M:%SZ')\"
|
|
|
@ -120,7 +120,4 @@ endif
|
||||||
|
|
||||||
# Module information used by KBuild framework
|
# Module information used by KBuild framework
|
||||||
obj-$(CONFIG_SND_SOC_WCD934X) += wcd934x_dlkm.o
|
obj-$(CONFIG_SND_SOC_WCD934X) += wcd934x_dlkm.o
|
||||||
wcd934x_dlkm-y := $(WCD934X_OBJS)
|
wcd934x_dlkm-y := $(WCD934X_OBJS)
|
||||||
|
|
||||||
# inject some build related information
|
|
||||||
DEFINES += -DBUILD_TIMESTAMP=\"$(shell date -u +'%Y-%m-%dT%H:%M:%SZ')\"
|
|
|
@ -122,7 +122,4 @@ obj-$(CONFIG_SND_SOC_WCD937X) += wcd937x_dlkm.o
|
||||||
wcd937x_dlkm-y := $(WCD937X_OBJS)
|
wcd937x_dlkm-y := $(WCD937X_OBJS)
|
||||||
|
|
||||||
obj-$(CONFIG_SND_SOC_WCD937X_SLAVE) += wcd937x_slave_dlkm.o
|
obj-$(CONFIG_SND_SOC_WCD937X_SLAVE) += wcd937x_slave_dlkm.o
|
||||||
wcd937x_slave_dlkm-y := $(WCD937X_SLAVE_OBJS)
|
wcd937x_slave_dlkm-y := $(WCD937X_SLAVE_OBJS)
|
||||||
|
|
||||||
# inject some build related information
|
|
||||||
DEFINES += -DBUILD_TIMESTAMP=\"$(shell date -u +'%Y-%m-%dT%H:%M:%SZ')\"
|
|
|
@ -110,7 +110,4 @@ obj-$(CONFIG_SND_SOC_WCD938X) += wcd938x_dlkm.o
|
||||||
wcd938x_dlkm-y := $(WCD938X_OBJS)
|
wcd938x_dlkm-y := $(WCD938X_OBJS)
|
||||||
|
|
||||||
obj-$(CONFIG_SND_SOC_WCD938X_SLAVE) += wcd938x_slave_dlkm.o
|
obj-$(CONFIG_SND_SOC_WCD938X_SLAVE) += wcd938x_slave_dlkm.o
|
||||||
wcd938x_slave_dlkm-y := $(WCD938X_SLAVE_OBJS)
|
wcd938x_slave_dlkm-y := $(WCD938X_SLAVE_OBJS)
|
||||||
|
|
||||||
# inject some build related information
|
|
||||||
DEFINES += -DBUILD_TIMESTAMP=\"$(shell date -u +'%Y-%m-%dT%H:%M:%SZ')\"
|
|
|
@ -106,6 +106,3 @@ endif
|
||||||
# Module information used by KBuild framework
|
# Module information used by KBuild framework
|
||||||
obj-$(CONFIG_SND_SOC_WSA883X) += wsa883x_dlkm.o
|
obj-$(CONFIG_SND_SOC_WSA883X) += wsa883x_dlkm.o
|
||||||
wsa883x_dlkm-y := $(WSA883X_OBJS)
|
wsa883x_dlkm-y := $(WSA883X_OBJS)
|
||||||
|
|
||||||
# inject some build related information
|
|
||||||
DEFINES += -DBUILD_TIMESTAMP=\"$(shell date -u +'%Y-%m-%dT%H:%M:%SZ')\"
|
|
||||||
|
|
|
@ -280,7 +280,4 @@ obj-$(CONFIG_MSM_QDSP6_PDR) += q6_pdr_dlkm.o
|
||||||
q6_pdr_dlkm-y := $(QDSP6_PDR_OBJS)
|
q6_pdr_dlkm-y := $(QDSP6_PDR_OBJS)
|
||||||
|
|
||||||
obj-$(CONFIG_MSM_QDSP6_NOTIFIER) += q6_notifier_dlkm.o
|
obj-$(CONFIG_MSM_QDSP6_NOTIFIER) += q6_notifier_dlkm.o
|
||||||
q6_notifier_dlkm-y := $(QDSP6_NOTIFIER_OBJS)
|
q6_notifier_dlkm-y := $(QDSP6_NOTIFIER_OBJS)
|
||||||
|
|
||||||
# inject some build related information
|
|
||||||
DEFINES += -DBUILD_TIMESTAMP=\"$(shell date -u +'%Y-%m-%dT%H:%M:%SZ')\"
|
|
|
@ -176,6 +176,3 @@ endif
|
||||||
# Module information used by KBuild framework
|
# Module information used by KBuild framework
|
||||||
obj-$(CONFIG_MSM_QDSP6V2_CODECS) += native_dlkm.o
|
obj-$(CONFIG_MSM_QDSP6V2_CODECS) += native_dlkm.o
|
||||||
native_dlkm-y := $(NATIVE_OBJS)
|
native_dlkm-y := $(NATIVE_OBJS)
|
||||||
|
|
||||||
# inject some build related information
|
|
||||||
DEFINES += -DBUILD_TIMESTAMP=\"$(shell date -u +'%Y-%m-%dT%H:%M:%SZ')\"
|
|
||||||
|
|
|
@ -204,7 +204,4 @@ obj-$(CONFIG_MSM_QDSP6_APRV2_VM) += apr_dlkm.o
|
||||||
apr_dlkm-y := $(APRV_GLINK)
|
apr_dlkm-y := $(APRV_GLINK)
|
||||||
|
|
||||||
obj-$(CONFIG_WCD_DSP_GLINK) += wglink_dlkm.o
|
obj-$(CONFIG_WCD_DSP_GLINK) += wglink_dlkm.o
|
||||||
wglink_dlkm-y := $(WDSP_GLINK)
|
wglink_dlkm-y := $(WDSP_GLINK)
|
||||||
|
|
||||||
# inject some build related information
|
|
||||||
CDEFINES += -DBUILD_TIMESTAMP=\"$(shell date -u +'%Y-%m-%dT%H:%M:%SZ')\"
|
|
|
@ -225,7 +225,4 @@ obj-$(CONFIG_SOUNDWIRE_MSTR_CTRL) += swr_ctrl_dlkm.o
|
||||||
swr_ctrl_dlkm-y := $(SWR_CTRL_OBJS)
|
swr_ctrl_dlkm-y := $(SWR_CTRL_OBJS)
|
||||||
|
|
||||||
obj-$(CONFIG_WCD_SPI_AC) += wcd_spi_acc_ctl_dlkm.o
|
obj-$(CONFIG_WCD_SPI_AC) += wcd_spi_acc_ctl_dlkm.o
|
||||||
wcd_spi_acc_ctl_dlkm-y := $(WCD_SPI_ACC_CTL_OBJS)
|
wcd_spi_acc_ctl_dlkm-y := $(WCD_SPI_ACC_CTL_OBJS)
|
||||||
|
|
||||||
# inject some build related information
|
|
||||||
DEFINES += -DBUILD_TIMESTAMP=\"$(shell date -u +'%Y-%m-%dT%H:%M:%SZ')\"
|
|
Loading…
Add table
Add a link
Reference in a new issue