From 5eea6a0cc42a1e8eb31f47c3e7e77c33a4a7c79c Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Thu, 8 Feb 2018 04:02:29 +0000 Subject: [PATCH] functions: add helper to locate linux config --- config/functions | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/config/functions b/config/functions index f567676305..7b6a2b1e72 100644 --- a/config/functions +++ b/config/functions @@ -182,6 +182,35 @@ kernel_version() { get_pkg_version linux } +kernel_config_path() { + local cfg pkg_linux_dir pkg_linux_version config_name + + # avoid infinite recursion if this is called by linux + if [ "$PKG_NAME" = "linux" ]; then + pkg_linux_version="$PKG_VERSION" + pkg_linux_dir="$PKG_DIR" + else + pkg_linux_version="$(get_pkg_version linux)" + pkg_linux_dir="$(get_pkg_directory linux)" + fi + + config_name="linux.${TARGET_PATCH_ARCH:-$TARGET_ARCH}.conf" + + for cfg in $PROJECT_DIR/$PROJECT/devices/$DEVICE/linux/$pkg_linux_version/$config_name \ + $PROJECT_DIR/$PROJECT/devices/$DEVICE/linux/$LINUX/$config_name \ + $PROJECT_DIR/$PROJECT/devices/$DEVICE/linux/$config_name \ + $PROJECT_DIR/$PROJECT/linux/$pkg_linux_version/$config_name \ + $PROJECT_DIR/$PROJECT/linux/$LINUX/$config_name \ + $PROJECT_DIR/$PROJECT/linux/$config_name \ + $pkg_linux_dir/config/$pkg_linux_version/$config_name \ + $pkg_linux_dir/config/$LINUX/$config_name \ + $pkg_linux_dir/config/$config_name \ + ; do + [[ $cfg =~ /devices//linux/ ]] && continue + [ -f "$cfg" ] && echo "$cfg" && break + done +} + # get kernel module dir get_module_dir() { if [ -n "${_CACHED_KERNEL_MODULE_DIR}" ]; then