hc
2023-12-06 08f87f769b595151be1afeff53e144f543faa614
kernel/drivers/gpu/arm/midgard/mali_kbase_smc.c
....@@ -22,6 +22,18 @@
2222
2323 #include <linux/compiler.h>
2424
25
+/* __asmeq is not available on Kernel versions >= 4.20 */
26
+#ifndef __asmeq
27
+/*
28
+ * This is used to ensure the compiler did actually allocate the register we
29
+ * asked it for some inline assembly sequences. Apparently we can't trust the
30
+ * compiler from one version to another so a bit of paranoia won't hurt. This
31
+ * string is meant to be concatenated with the inline asm string and will
32
+ * cause compilation to stop on mismatch. (for details, see gcc PR 15089)
33
+ */
34
+#define __asmeq(x, y) ".ifnc " x "," y " ; .err ; .endif\n\t"
35
+#endif
36
+
2537 static noinline u64 invoke_smc_fid(u64 function_id,
2638 u64 arg0, u64 arg1, u64 arg2)
2739 {