diff options
author | Philippe Langlais <philippe.langlais@linaro.org> | 2011-04-06 09:39:29 +0200 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@stericsson.com> | 2011-12-06 11:00:55 +0100 |
commit | 364232feb31251df894e5251162cffabd7adefdc (patch) | |
tree | a412c1b81825e7da732ff1df79adf518fd55455f | |
parent | fee546f1770592409bec116e0d6eee2bc081e1fa (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.h | 51 | ||||
-rw-r--r-- | drivers/char/shrm_char.c | 9 |
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, |