From: Andreas S. <sc...@li...> - 2010-10-17 10:38:46
|
--- src/kmod/Linux/dev.c | 10 ++++++++++ src/netdriver/sheep.c | 11 ++++++++++- 2 files changed, 20 insertions(+), 1 deletions(-) diff --git a/src/kmod/Linux/dev.c b/src/kmod/Linux/dev.c index 9c54e8d..5a76d1e 100644 --- a/src/kmod/Linux/dev.c +++ b/src/kmod/Linux/dev.c @@ -22,6 +22,7 @@ #include <linux/interrupt.h> #include <linux/irq.h> #include <linux/bitops.h> +#include <linux/fs.h> #include <asm/prom.h> #include <asm/machdep.h> #include <asm/atomic.h> @@ -294,8 +295,13 @@ mol_release( struct inode *inode, struct file *file ) return 0; } +#ifdef HAVE_UNLOCKED_IOCTL +static long +mol_ioctl(struct file *file, unsigned int cmd, unsigned long arg) +#else static int mol_ioctl( struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg ) +#endif { mol_ioctl_pb_t pb; kernel_vars_t *kv; @@ -354,7 +360,11 @@ static struct file_operations mol_device_fops = { .owner = THIS_MODULE, .open = mol_open, .release = mol_release, +#ifdef HAVE_UNLOCKED_IOCTL + .unlocked_ioctl = mol_ioctl, +#else .ioctl = mol_ioctl, +#endif // .poll = mol_poll, // .mmap: = mol_mmap, }; diff --git a/src/netdriver/sheep.c b/src/netdriver/sheep.c index 48e88c2..68340d7 100644 --- a/src/netdriver/sheep.c +++ b/src/netdriver/sheep.c @@ -535,8 +535,13 @@ sheep_net_poll( struct file *f, struct poll_table_struct *wait ) return 0; } +#ifdef HAVE_UNLOCKED_IOCTL +static long +sheep_net_ioctl(struct file *f, unsigned int code, unsigned long arg) +#else static int sheep_net_ioctl( struct inode *inode, struct file *f, unsigned int code, unsigned long arg ) +#endif { struct SheepVars *v = (struct SheepVars *)f->private_data; D(bug("sheep_net: ioctl %04x\n", code)); @@ -672,7 +677,7 @@ static struct file_operations sheep_net_fops = { .write = do_sync_write, .aio_write = sheep_net_aio_write, .poll = sheep_net_poll, - .ioctl = sheep_net_ioctl, + .unlocked_ioctl = sheep_net_ioctl, .open = sheep_net_open, .release = sheep_net_release, }; @@ -684,7 +689,11 @@ static struct file_operations sheep_net_fops = { .readv = sheep_net_readv, .writev = sheep_net_writev, .poll = sheep_net_poll, +#ifdef HAVE_UNLOCKED_IOCTL + .unlocked_ioctl = sheep_net_ioctl, +#else .ioctl = sheep_net_ioctl, +#endif .open = sheep_net_open, .release = sheep_net_release, }; -- 1.7.3.1 -- Andreas Schwab, sc...@li... GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." |