summaryrefslogtreecommitdiffstats
path: root/system/vhba-module/vhba-update_to_svn.diff
diff options
context:
space:
mode:
Diffstat (limited to 'system/vhba-module/vhba-update_to_svn.diff')
-rw-r--r--system/vhba-module/vhba-update_to_svn.diff85
1 files changed, 85 insertions, 0 deletions
diff --git a/system/vhba-module/vhba-update_to_svn.diff b/system/vhba-module/vhba-update_to_svn.diff
new file mode 100644
index 0000000000..41591380ea
--- /dev/null
+++ b/system/vhba-module/vhba-update_to_svn.diff
@@ -0,0 +1,85 @@
+diff -Nur vhba-module-1.2.1.orig//kat/have_scsi_macros.c vhba-module-1.2.1/kat/have_scsi_macros.c
+--- vhba-module-1.2.1.orig//kat/have_scsi_macros.c 2009-01-17 17:21:16.000000000 -0600
++++ vhba-module-1.2.1/kat/have_scsi_macros.c 2010-06-30 23:41:37.203194236 -0500
+@@ -1,4 +1,3 @@
+-#include <linux/autoconf.h>
+ #include <scsi/scsi_cmnd.h>
+
+ void testfunc (void);
+diff -Nur vhba-module-1.2.1.orig//kat/scatterlist_has_page_link.c vhba-module-1.2.1/kat/scatterlist_has_page_link.c
+--- vhba-module-1.2.1.orig//kat/scatterlist_has_page_link.c 2009-01-17 17:21:16.000000000 -0600
++++ vhba-module-1.2.1/kat/scatterlist_has_page_link.c 2010-06-30 23:40:49.982069552 -0500
+@@ -1,4 +1,3 @@
+-#include <linux/autoconf.h>
+ #include <linux/scatterlist.h>
+
+ /* Note: scatterlist.page_link is used in kernel (2.6.24 <= version < X) */
+diff -Nur vhba-module-1.2.1.orig//vhba.c vhba-module-1.2.1/vhba.c
+--- vhba-module-1.2.1.orig//vhba.c 2009-01-17 17:21:16.000000000 -0600
++++ vhba-module-1.2.1/vhba.c 2010-06-30 23:40:14.430097774 -0500
+@@ -1,7 +1,7 @@
+ /*
+ * vhba.c
+ *
+- * Copyright (C) 2007 Chia-I Wu <b90201047 AT ntu DOT edu DOT tw>
++ * Copyright (C) 2007-2010 Chia-I Wu <b90201047 AT ntu DOT edu DOT tw>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+@@ -26,6 +26,10 @@
+ #include <linux/platform_device.h>
+ #include <linux/miscdevice.h>
+ #include <linux/poll.h>
++#include <linux/slab.h>
++#ifdef CONFIG_COMPAT
++#include <linux/compat.h>
++#endif
+ #include <asm/uaccess.h>
+ #include <scsi/scsi.h>
+ #include <scsi/scsi_host.h>
+@@ -52,7 +56,7 @@
+ dev_warn(&(scmd)->device->sdev_gendev, fmt, ##a)
+
+
+-#define VHBA_MAX_SECTORS_PER_IO 128
++#define VHBA_MAX_SECTORS_PER_IO 256
+ #define VHBA_MAX_ID 32
+ #define VHBA_CAN_QUEUE 32
+ #define VHBA_INVALID_ID VHBA_MAX_ID
+@@ -671,7 +675,7 @@
+ return ret;
+ }
+
+-static int vhba_ctl_ioctl (struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
++static long vhba_ctl_ioctl (struct file *file, unsigned int cmd, unsigned long arg)
+ {
+ struct vhba_device *vdev = file->private_data;
+ struct vhba_host *vhost;
+@@ -704,6 +708,15 @@
+ return -ENOTTY;
+ }
+
++#ifdef CONFIG_COMPAT
++static long vhba_ctl_compat_ioctl (struct file *file, unsigned int cmd, unsigned long arg)
++{
++ unsigned long compat_arg = (unsigned long)compat_ptr(arg);
++
++ return vhba_ctl_ioctl(file, cmd, compat_arg);
++}
++#endif
++
+ static unsigned int vhba_ctl_poll(struct file *file, poll_table *wait)
+ {
+ struct vhba_device *vdev = file->private_data;
+@@ -781,7 +794,10 @@
+ .read = vhba_ctl_read,
+ .write = vhba_ctl_write,
+ .poll = vhba_ctl_poll,
+- .ioctl = vhba_ctl_ioctl,
++ .unlocked_ioctl = vhba_ctl_ioctl,
++#ifdef CONFIG_COMPAT
++ .compat_ioctl = vhba_ctl_compat_ioctl,
++#endif
+ };
+
+ static struct miscdevice vhba_miscdev = {