aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilippe Langlais <philippe.langlais@linaro.org>2011-04-06 09:39:29 +0200
committerPhilippe Langlais <philippe.langlais@stericsson.com>2011-12-06 11:00:55 +0100
commit364232feb31251df894e5251162cffabd7adefdc (patch)
treea412c1b81825e7da732ff1df79adf518fd55455f
parentfee546f1770592409bec116e0d6eee2bc081e1fa (diff)
shrm: Fix compilation pb after 2.6.38 merge, change ioctl to unlocked_ioctl
Signed-off-by: Philippe Langlais <philippe.langlais@linaro.org>
-rw-r--r--arch/arm/mach-ux500/include/mach/isa_ioctl.h51
-rw-r--r--drivers/char/shrm_char.c9
2 files changed, 55 insertions, 5 deletions
diff --git a/arch/arm/mach-ux500/include/mach/isa_ioctl.h b/arch/arm/mach-ux500/include/mach/isa_ioctl.h
new file mode 100644
index 00000000000..b05726f8c3c
--- /dev/null
+++ b/arch/arm/mach-ux500/include/mach/isa_ioctl.h
@@ -0,0 +1,51 @@
+/*---------------------------------------------------------------------------*/
+/* Copyright ST Ericsson, 2009. */
+/* This program is free software; you can redistribute it and/or modify it */
+/* under the terms of the GNU General Public License as published by the */
+/* Free Software Foundation; either version 2.1 of the License, or */
+/* (at your option) any later version. */
+/* */
+/* This program is distributed in the hope that it will be useful, but */
+/* WITHOUT ANY WARRANTY; without even the implied warranty of */
+/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */
+/* See the GNU General Public License for more details. */
+/* */
+/* You should have received a copy of the GNU General Public License */
+/* along with this program. If not, see <http://www.gnu.org/licenses/>. */
+/*---------------------------------------------------------------------------*/
+#ifndef __MODEM_IPC_INCLUDED
+#define __MODEM_IPC_INCLUDED
+
+#define DLP_IOCTL_MAGIC_NUMBER 'M'
+#define COMMON_BUFFER_SIZE (1024*1024)
+
+/**
+DLP Message Structure for Userland
+*/
+struct t_dlp_message{
+ unsigned int offset;
+ unsigned int size;
+};
+
+/**
+mmap constants.
+*/
+enum t_dlp_mmap_params {
+ MMAP_DLQUEUE,
+ MMAP_ULQUEUE
+};
+
+/**
+DLP IOCTLs for Userland
+*/
+#define DLP_IOC_ALLOCATE_BUFFER \
+ _IOWR(DLP_IOCTL_MAGIC_NUMBER, 0, struct t_dlp_message *)
+#define DLP_IOC_DEALLOCATE_BUFFER \
+ _IOWR(DLP_IOCTL_MAGIC_NUMBER, 1, struct t_dlp_message *)
+#define DLP_IOC_GET_MESSAGE \
+ _IOWR(DLP_IOCTL_MAGIC_NUMBER, 2, struct t_dlp_message *)
+#define DLP_IOC_PUT_MESSAGE \
+ _IOWR(DLP_IOCTL_MAGIC_NUMBER, 3, struct t_dlp_message *)
+
+#endif /*__MODEM_IPC_INCLUDED*/
+
diff --git a/drivers/char/shrm_char.c b/drivers/char/shrm_char.c
index 256add7cdb8..2890f152d2d 100644
--- a/drivers/char/shrm_char.c
+++ b/drivers/char/shrm_char.c
@@ -527,13 +527,12 @@ ssize_t isa_write(struct file *filp, const char __user *buf,
* downlink message once the message is copied. Message is copied from offset
* location returned by previous ioctl before calling this ioctl.
*/
-static int isa_ioctl(struct inode *inode, struct file *filp,
- unsigned cmd, unsigned long arg)
+static long isa_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
{
- int err = 0;
+ long err = 0;
struct isadev_context *isadev = filp->private_data;
struct shrm_dev *shrm = isadev->dl_queue.shrm;
- u32 m = iminor(inode);
+ u32 m = iminor(filp->f_path.dentry->d_inode);
isadev = (struct isadev_context *)filp->private_data;
@@ -734,7 +733,7 @@ const struct file_operations isa_fops = {
.owner = THIS_MODULE,
.open = isa_open,
.release = isa_close,
- .ioctl = isa_ioctl,
+ .unlocked_ioctl = isa_ioctl,
.mmap = isa_mmap,
.read = isa_read,
.write = isa_write,