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
|
From 958e38a9ade01c0c2d23c1310399147b014177a0 Mon Sep 17 00:00:00 2001
From: Victor Michel <vic.michel.github@gmail.com>
Date: Tue, 10 Mar 2020 22:33:31 -0700
Subject: [PATCH] Use proc_ops instead of file_operations on Linux >= 5.6
The proc_create API is changing in Linux 5.6, update code accordingly
See https://github.com/torvalds/linux/commit/d56c0d45f0e27f814e87a1676b6bdccccbc252e9
---
acpi_call.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/acpi_call.c b/acpi_call.c
index 3025d97..569c2b6 100644
--- a/acpi_call.c
+++ b/acpi_call.c
@@ -5,8 +5,8 @@
#include <linux/version.h>
#include <linux/proc_fs.h>
#include <linux/slab.h>
-#include <asm/uaccess.h>
-#include <acpi/acpi.h>
+#include <linux/acpi.h>
+#include <linux/uaccess.h>
MODULE_LICENSE("GPL");
@@ -317,11 +317,18 @@ static ssize_t acpi_proc_read( struct file *filp, char __user *buff,
return ret;
}
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0)
+static struct proc_ops proc_acpi_operations = {
+ .proc_read = acpi_proc_read,
+ .proc_write = acpi_proc_write,
+};
+#else
static struct file_operations proc_acpi_operations = {
.owner = THIS_MODULE,
.read = acpi_proc_read,
.write = acpi_proc_write,
};
+#endif
#else
static int acpi_proc_read(char *page, char **start, off_t off,
|