summarylogtreecommitdiffstats
path: root/kernel-5.3.patch
blob: a1cecd687cb6fef2c4557c976832f8cfb3c601a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
From df6b6227e19b46cf23abca790570804872cbf87c Mon Sep 17 00:00:00 2001
From: Alberto Milone <alberto.milone@canonical.com>
Date: Tue, 13 Aug 2019 11:20:39 +0200
Subject: [PATCH 1/1] Add support for Linux 5.3
smp_call_function() and on_each_cpu() no longer have return values
as per commit caa759323c73676b3e48c8d9c86093c88b4aba97
---
 nv-linux.h | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
diff --git a/nv-linux.h b/nv-linux.h
index 4043bf1..62f0874 100644
--- a/nv-linux.h
+++ b/nv-linux.h
@@ -877,12 +877,21 @@ extern void *nv_stack_t_cache;
         __ret;                                               \
      })
 #elif (NV_SMP_CALL_FUNCTION_ARGUMENT_COUNT == 3)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 3, 0)
 #define NV_SMP_CALL_FUNCTION(func, info, wait)               \
     ({                                                       \
         int __ret = smp_call_function(func, info, wait);     \
         __ret;                                               \
      })
 #else
+#define NV_SMP_CALL_FUNCTION(func, info, wait)               \
+    ({                                                       \
+        int __ret = 0;                                       \
+        smp_call_function(func, info, wait);                 \
+        __ret;                                               \
+     })
+#endif
+#else
 #error "NV_SMP_CALL_FUNCTION_ARGUMENT_COUNT value unrecognized!"
 #endif
 #elif defined(CONFIG_SMP)
@@ -897,12 +906,21 @@ extern void *nv_stack_t_cache;
         __ret;                                         \
      })
 #elif (NV_ON_EACH_CPU_ARGUMENT_COUNT == 3)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 3, 0)
 #define NV_ON_EACH_CPU(func, info, wait)               \
     ({                                                 \
         int __ret = on_each_cpu(func, info, wait);     \
         __ret;                                         \
      })
 #else
+#define NV_ON_EACH_CPU(func, info, wait)               \
+    ({                                                 \
+        int __ret = 0;                                 \
+        on_each_cpu(func, info, wait);                 \
+        __ret;                                         \
+    })
+#endif
+#else
 #error "NV_ON_EACH_CPU_ARGUMENT_COUNT value unrecognized!"
 #endif
 #elif defined(CONFIG_SMP)
-- 
2.20.1