mwprocapture: 1.2.3773 -> 1.2.3950

This commit is contained in:
Cray Elliott 2018-10-06 10:04:09 -07:00
parent 04d2af6b1a
commit d4f5f3a504
2 changed files with 2 additions and 75 deletions

View File

@ -15,17 +15,15 @@ let
in
stdenv.mkDerivation rec {
name = "mwprocapture-1.2.${version}-${kernel.version}";
version = "3773";
version = "3950";
src = fetchurl {
url = "http://www.magewell.com/files/drivers/ProCaptureForLinux_${version}.tar.gz";
sha256 = "1ri7c4l4xgkhpz0f15jra1p7mpzi8ir6lpwjm7q7hc9m4cvxcs1g";
sha256 = "1im3k533r6c0dx08h9wjfbhadzk7zawrxxaz7v94c92m3q133ys6";
};
nativeBuildInputs = [ kernel.moduleBuildDependencies ];
patches = [ ./linux_4_14_fix.patch ];
preConfigure =
''
cd ./src

View File

@ -1,71 +0,0 @@
diff -Naur ProCaptureForLinux_3773/src/sources/ospi/linux-file.c ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.c
--- ProCaptureForLinux_3773/src/sources/ospi/linux-file.c 2017-12-15 01:59:57.000000000 -0800
+++ ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.c 2017-12-23 22:47:33.666823299 -0800
@@ -7,8 +7,9 @@
#include "linux-file.h"
-#include <asm/uaccess.h>
#include <linux/sched.h>
+#include <asm/uaccess.h>
+#include <linux/version.h>
struct file *linux_file_open(const char *path, int flags, int mode)
{
@@ -28,29 +29,36 @@
filp_close(file, NULL);
}
-ssize_t linux_file_read(struct file *file, loff_t offset, unsigned char *data, size_t size)
+ssize_t linux_file_read(struct file *file, loff_t offset, void *data, size_t size)
{
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)
+ return(kernel_read(file, data, size, &offset));
+#else
mm_segment_t oldfs;
ssize_t ret;
oldfs = get_fs();
set_fs(get_ds());
- ret = vfs_read(file, data, size, &offset);
+ ret = vfs_read(file, (unsigned char *)data, size, &offset);
set_fs(oldfs);
return ret;
+#endif
}
-ssize_t linux_file_write(struct file *file, loff_t offset, unsigned char *data, size_t size)
+ssize_t linux_file_write(struct file *file, loff_t offset, const void *data, size_t size)
{
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)
+ return(kernel_write(file, data, size, &offset));
+#else
mm_segment_t oldfs;
ssize_t ret;
oldfs = get_fs();
set_fs(get_ds());
- ret = vfs_write(file, data, size, &offset);
+ ret = vfs_write(file, (const unsigned char *)data, size, &offset);
set_fs(oldfs);
return ret;
+#endif
}
-
diff -Naur ProCaptureForLinux_3773/src/sources/ospi/linux-file.h ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.h
--- ProCaptureForLinux_3773/src/sources/ospi/linux-file.h 2017-12-15 01:59:57.000000000 -0800
+++ ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.h 2017-12-23 22:46:22.028545189 -0800
@@ -13,9 +13,9 @@
void linux_file_close(struct file *file);
-ssize_t linux_file_read(struct file *file, loff_t offset, unsigned char *data, size_t size);
+ssize_t linux_file_read(struct file *file, loff_t offset, void *data, size_t size);
-ssize_t linux_file_write(struct file *file, loff_t offset, unsigned char *data, size_t size);
+ssize_t linux_file_write(struct file *file, loff_t offset, const void *data, size_t size);
#endif /* __LINUX_FILE_H__ */