Sophie

Sophie

distrib > Mageia > 7 > x86_64 > by-pkgid > 5e4dee1bb767614ac7a93e8454dde6f0 > files > 9

kernel-5.6.8-1.mga7.src.rpm

diff -Nurp linux-5.5/3rdparty/ndiswrapper.old/ntoskernel.c linux-5.5/3rdparty/ndiswrapper/ntoskernel.c
--- linux-5.5/3rdparty/ndiswrapper.old/ntoskernel.c	2020-04-04 02:01:55.554963846 +0300
+++ linux-5.5/3rdparty/ndiswrapper/ntoskernel.c	2020-04-04 02:05:37.273393948 +0300
@@ -1763,9 +1763,9 @@ wstdcall void __iomem *WIN_FUNC(MmMapIoS
 	void __iomem *virt;
 	ENTER1("cache type: %d", cache);
 	if (cache == MmCached)
-		virt = ioremap(phys_addr, size);
+		virt = ioremap_cache(phys_addr, size);
 	else
-		virt = ioremap_nocache(phys_addr, size);
+		virt = ioremap(phys_addr, size);
 	TRACE1("%llx, %zu, %p", phys_addr, size, virt);
 	return virt;
 }
diff -Nurp linux-5.5/3rdparty/ndiswrapper.old/proc.c linux-5.5/3rdparty/ndiswrapper/proc.c
--- linux-5.5/3rdparty/ndiswrapper.old/proc.c	2020-04-04 01:59:47.629938696 +0300
+++ linux-5.5/3rdparty/ndiswrapper/proc.c	2020-04-04 02:05:37.273393948 +0300
@@ -70,7 +70,11 @@ static inline void *PDE_DATA(const struc
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26)
 static inline struct proc_dir_entry *proc_create_data(const char *name,
 	umode_t mode, struct proc_dir_entry *parent,
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0)
+	struct proc_ops *fops, void *data)
+#else
 	struct file_operations *fops, void *data)
+#endif
 {
 	struct proc_dir_entry *de;
 
@@ -86,7 +90,11 @@ static inline struct proc_dir_entry *pro
 
 static int do_proc_make_entry(const char *name, umode_t mode,
 			      struct proc_dir_entry *parent,
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0)
+			      struct proc_ops *fops, kuid_t uid,
+#else
 			      struct file_operations *fops, kuid_t uid,
+#endif
 			      kgid_t gid, struct ndis_device *wnd)
 {
 	struct proc_dir_entry *de;
@@ -100,6 +108,32 @@ static int do_proc_make_entry(const char
 	return 0;
 }
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0)
+#define PROC_DECLARE_RO(name) \
+	static int proc_##name##_open(struct inode *inode, struct file *file) \
+	{ \
+		return single_open(file, proc_##name##_read, PDE_DATA(inode)); \
+	} \
+	static struct proc_ops name##_fops = { \
+		.proc_open = proc_##name##_open, \
+		.proc_read = seq_read, \
+		.proc_lseek = seq_lseek, \
+		.proc_release = single_release, \
+	};
+
+#define PROC_DECLARE_RW(name) \
+	static int proc_##name##_open(struct inode *inode, struct file *file) \
+	{ \
+		return single_open(file, proc_##name##_read, PDE_DATA(inode)); \
+	} \
+	static struct proc_ops name##_fops = { \
+		.proc_open = proc_##name##_open, \
+		.proc_read = seq_read, \
+		.proc_lseek = seq_lseek, \
+		.proc_release = single_release, \
+		.proc_write = proc_##name##_write, \
+	};
+#else
 #define PROC_DECLARE_RO(name) \
 	static int proc_##name##_open(struct inode *inode, struct file *file) \
 	{ \
@@ -126,6 +160,7 @@ static int do_proc_make_entry(const char
 		.release = single_release, \
 		.write = proc_##name##_write, \
 	};
+#endif
 
 #define proc_make_entry_ro(name, parent, wnd) \
 	do_proc_make_entry(#name, S_IFREG | S_IRUSR | S_IRGRP, parent, \