Upgrade linux to v5.4.148

Update prebuilts and third_party/linux project hashes.

This change improves the project build scalability by removing the
dependency to the GNU toolchain. It was only required for building
the kernel module within the test framework.
Switched to fully building with LLVM.

Change-Id: I40a72556ab8edfb384316f62156a70fa6ea0114e
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
diff --git a/build/linux/linux.gni b/build/linux/linux.gni
index 65cc9df..45860fa 100644
--- a/build/linux/linux.gni
+++ b/build/linux/linux.gni
@@ -56,24 +56,16 @@
     rebase_path(kernel_dir),
 
     # TODO: Build with toolchain cc instead of a hardcoded one.
-    "CC=" + rebase_path("//prebuilts/linux-x64/clang/bin/clang"),
-    "LD=" +
-        rebase_path("//prebuilts/linux-x64/gcc/bin/aarch64-linux-android-ld"),
-    "AR=" +
-        rebase_path("//prebuilts/linux-x64/gcc/bin/aarch64-linux-android-ar"),
-    "NM=" + rebase_path("//prebuilts/linux-x64/clang/bin/llvm-nm"),
-    "OBJCOPY=" + rebase_path(
-            "//prebuilts/linux-x64/gcc/bin/aarch64-linux-android-objcopy"),
-    "OBJDUMP=" + rebase_path("//prebuilts/linux-x64/clang/bin/llvm-objdump"),
-    "STRIP=" + rebase_path("//prebuilts/linux-x64/clang/bin/llvm-strip"),
-    "GCC_TOOLCHAIN_DIR=" + rebase_path("//prebuilts/linux-x64/gcc/bin"),
     "ARCH=arm64",
+    "LLVM=1",
+    "LLVM_IAS=1",
     "CROSS_COMPILE=aarch64-linux-gnu-",
 
     # Build out-of-tree in `target_out_dir`.
     "O=" + rebase_path(target_out_dir),
 
-    # TODO: Remove/replace.
+    # TODO: assess if this setting is really required because the ninja
+    # top level invocation already cares about parallel build.
     "-j24",
   ]
 
@@ -155,18 +147,9 @@
       "KERNEL_PATH=" + rebase_path(invoker.kernel_dir),
       "O=" +
           rebase_path(get_label_info(invoker.kernel_target, "target_out_dir")),
-      "CC=" + rebase_path("//prebuilts/linux-x64/clang/bin/clang"),
-      "LD=" +
-          rebase_path("//prebuilts/linux-x64/gcc/bin/aarch64-linux-android-ld"),
-      "AR=" +
-          rebase_path("//prebuilts/linux-x64/gcc/bin/aarch64-linux-android-ar"),
-      "NM=" + rebase_path("//prebuilts/linux-x64/clang/bin/llvm-nm"),
-      "OBJCOPY=" + rebase_path(
-              "//prebuilts/linux-x64/gcc/bin/aarch64-linux-android-objcopy"),
-      "OBJDUMP=" + rebase_path("//prebuilts/linux-x64/clang/bin/llvm-objdump"),
-      "STRIP=" + rebase_path("//prebuilts/linux-x64/clang/bin/llvm-strip"),
-      "GCC_TOOLCHAIN_DIR=" + rebase_path("//prebuilts/linux-x64/gcc/bin"),
       "ARCH=arm64",
+      "LLVM=1",
+      "LLVM_IAS=1",
       "CROSS_COMPILE=aarch64-linux-gnu-",
     ]
     outputs = [
diff --git a/prebuilts b/prebuilts
index f4ef2d0..9b5438c 160000
--- a/prebuilts
+++ b/prebuilts
@@ -1 +1 @@
-Subproject commit f4ef2d0d9dbf6f696386b786eb60884a933685b0
+Subproject commit 9b5438cd86a95de67461db9f53d6d1506dcfb0a7
diff --git a/third_party/linux b/third_party/linux
index 98854e9..0e64123 160000
--- a/third_party/linux
+++ b/third_party/linux
@@ -1 +1 @@
-Subproject commit 98854e9675dc7d951fa9c4e10d9c9d230c54bde6
+Subproject commit 0e64123141f3854e695eb4924d82b52856691466