On Jan 8, 2008 9:21 PM, Matthew Wilcox <[EMAIL PROTECTED]> wrote: > On Tue, Jan 08, 2008 at 01:16:06PM -0700, Matthew Wilcox wrote: > > On Tue, Jan 08, 2008 at 09:03:13PM +0100, Paolo Ciarrocchi wrote: > > > Yes of course, I've been silly in didn't verify whether the file compile > > > but I would appreciate to know whether I'm on the right track or not. > > > > Well ... you're not. > > Here's what a correct conversion might look like. I haven't tried to > compile it, so I'm copying and pasting it in order to damage whitespace > and make sure nobody tries to compile it. > > index bf1075e..0c543a8 100644 > --- a/arch/arm/common/rtctime.c > +++ b/arch/arm/common/rtctime.c > @@ -174,8 +174,7 @@ static unsigned int rtc_poll(struct file *file, > poll_table * > return data != 0 ? POLLIN | POLLRDNORM : 0; > } > > -static int rtc_ioctl(struct inode *inode, struct file *file, unsigned int > cmd, > - unsigned long arg) > +static long rtc_ioctl(struct file *file, unsigned int cmd, unsigned long arg) > { > struct rtc_ops *ops = file->private_data; > struct rtc_time tm; > @@ -183,6 +182,8 @@ static int rtc_ioctl(struct inode *inode, struct file > *file, > void __user *uarg = (void __user *)arg; > int ret = -EINVAL; > > + lock_kernel(); > + > switch (cmd) { > case RTC_ALM_READ: > ret = rtc_arm_read_alarm(ops, &alrm); > @@ -277,6 +278,9 @@ static int rtc_ioctl(struct inode *inode, struct file > *file, > ret = ops->ioctl(cmd, arg); > break; > } > + > + unlock_kernel(); > + > return ret; > } > > @@ -334,7 +338,7 @@ static const struct file_operations rtc_fops = { > .llseek = no_llseek, > .read = rtc_read, > .poll = rtc_poll, > - .ioctl = rtc_ioctl, > + .unlocked_ioctl = rtc_ioctl, > .open = rtc_open, > .release = rtc_release, > .fasync = rtc_fasync, >
Thank you Matthew, I definitely need to back studying before submitting another patch. Ciao, -- Paolo http://paolo.ciarrocchi.googlepages.com/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/