From: John Kacur <jkacur@redhat.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: John Kacur <jkacur@redhat.com>,
lkml <linux-kernel@vger.kernel.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
Jan Blunck <jblunck@gmail.com>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH 10/10] bkl: Fix-up compile problems as a result of the bkl-pushdown.
Date: Tue, 27 Apr 2010 13:54:36 +0200 (CEST) [thread overview]
Message-ID: <alpine.LFD.2.00.1004271352510.3318@localhost> (raw)
In-Reply-To: <201004271317.45503.arnd@arndb.de>
[-- Attachment #1: Type: TEXT/PLAIN, Size: 2859 bytes --]
On Tue, 27 Apr 2010, Arnd Bergmann wrote:
> On Tuesday 27 April 2010, John Kacur wrote:
> > Fix-up compile problems as a result of the bkl-pushdown.
> > In particular, the v4l2_ioctl should call an unlocked_ioctl
> >
> > Signed-off-by: John Kacur <jkacur@redhat.com>
> > ---
> > drivers/media/video/v4l2-dev.c | 4 ++--
> > 1 files changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/media/video/v4l2-dev.c b/drivers/media/video/v4l2-dev.c
> > index 3606694..8fbfa61 100644
> > --- a/drivers/media/video/v4l2-dev.c
> > +++ b/drivers/media/video/v4l2-dev.c
> > @@ -222,12 +222,12 @@ static long v4l2_ioctl(struct file *filp,
> > struct video_device *vdev = video_devdata(filp);
> > int ret;
> >
> > - if (!vdev->fops->ioctl)
> > + if (!vdev->fops->unlocked_ioctl)
> > return -ENOTTY;
> > /* Allow ioctl to continue even if the device was unregistered.
> > Things like dequeueing buffers might still be useful. */
> > lock_kernel();
> > - ret = vdev->fops->ioctl(filp->f_path.dentry->d_inode, filp, cmd, arg);
> > + ret = vdev->fops->unlocked_ioctl(filp, cmd, arg);
> > unlock_kernel();
> >
> > return ret;
>
> No, this is what I thought as well, at first, but the version I posted is
> actually correct.
>
> vdev->fops is not struct file_operations but struct v4l2_file_operations,
> and the v4l2_ioctl function is used only when fops->ioctl is set, see
> __video_register_device.
>
> The v4l2 ioctl stuff probably can use a lot of cleanup itself, but so
> far I think we're not making it worse with my patch.
>
Hi Arnd
Well it is certainly possible that my fixup is not correct too - your
patch cannot be correct, because it doesn't compile! Here is what I get
when I apply your patch to a recent linus/master
make O=/bld/arnd/ drivers/media/video/v4l2-dev.o
-----CUT A BUNCH OF STUFF OUT ---
CC drivers/media/video/v4l2-dev.o
/home/jkacur/jk-2.6/drivers/media/video/v4l2-dev.c: In function
‘v4l2_ioctl’:
/home/jkacur/jk-2.6/drivers/media/video/v4l2-dev.c:230: warning: passing
argument 1 of ‘vdev->fops->ioctl’ from incompatible pointer type
/home/jkacur/jk-2.6/drivers/media/video/v4l2-dev.c:230: note: expected
‘struct file *’ but argument is of type ‘struct inode *’
/home/jkacur/jk-2.6/drivers/media/video/v4l2-dev.c:230: warning: passing
argument 2 of ‘vdev->fops->ioctl’ makes integer from pointer without a
cast
/home/jkacur/jk-2.6/drivers/media/video/v4l2-dev.c:230: note: expected
‘unsigned int’ but argument is of type ‘struct file *’
/home/jkacur/jk-2.6/drivers/media/video/v4l2-dev.c:230: error: too many
arguments to function ‘vdev->fops->ioctl’
make[2]: *** [drivers/media/video/v4l2-dev.o] Error 1
make[1]: *** [drivers/media/video/v4l2-dev.o] Error 2
make: *** [sub-make] Error 2
Thanks
next prev parent reply other threads:[~2010-04-27 11:54 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-27 9:18 [PATCH 00/10] bkl: pushdowns from Arnd, and compile fixes John Kacur
2010-04-27 9:18 ` [PATCH 01/10] dvb: push down BKL into ioctl functions John Kacur
2010-04-27 9:18 ` [PATCH 02/10] scsi: " John Kacur
2010-04-27 9:18 ` [PATCH 03/10] bkl: Fix up compile problems in megaraid from bkl push-down John Kacur
2010-04-27 9:18 ` [PATCH 04/10] bkl: Fix missing inode tw_chrdev_ioctl due to bkl pushdown John Kacur
2010-04-27 9:18 ` [PATCH 05/10] bkl: Fix missing inode in twl_chrdev_ioctl resulting from " John Kacur
2010-04-27 9:18 ` [PATCH 06/10] isdn: push down BKL into ioctl functions John Kacur
2010-04-27 9:18 ` [PATCH 07/10] staging: " John Kacur
2010-04-27 9:18 ` [PATCH 08/10] v4l: always use unlocked_ioctl John Kacur
2010-04-27 9:18 ` [PATCH 09/10] drivers: push down BKL into various drivers John Kacur
2010-04-27 9:18 ` [PATCH 10/10] bkl: Fix-up compile problems as a result of the bkl-pushdown John Kacur
2010-04-27 11:17 ` Arnd Bergmann
2010-04-27 11:54 ` John Kacur [this message]
2010-04-27 13:03 ` Arnd Bergmann
2010-04-28 12:24 ` Mauro Carvalho Chehab
2010-04-28 12:37 ` Hans Verkuil
2010-04-28 12:37 ` Hans Verkuil
2010-04-28 13:02 ` Laurent Pinchart
2010-04-28 14:46 ` Mauro Carvalho Chehab
2010-04-28 14:55 ` Linus Torvalds
2010-04-28 21:52 ` Frederic Weisbecker
2010-04-29 3:42 ` [PATCH 0/5] Pushdown bkl from v4l ioctls Frederic Weisbecker
2010-04-29 6:44 ` Hans Verkuil
2010-04-29 7:10 ` Laurent Pinchart
2010-04-29 7:38 ` Arnd Bergmann
2010-05-01 9:55 ` Hans Verkuil
2010-05-01 10:47 ` Arnd Bergmann
2010-05-01 14:58 ` Frederic Weisbecker
2010-05-01 11:11 ` Alan Cox
2010-04-29 3:42 ` [PATCH 1/5] v4l: Pushdown bkl into video_ioctl2 Frederic Weisbecker
2010-04-29 3:42 ` [PATCH 2/5] v4l: Use video_ioctl2_unlocked from drivers that don't want the bkl Frederic Weisbecker
2010-04-29 3:42 ` [PATCH 3/5] v4l: Change users of video_ioctl2 to use unlocked_ioctl Frederic Weisbecker
2010-04-29 3:42 ` [PATCH 4/5] v4l: Pushdown bkl to drivers that implement their own ioctl Frederic Weisbecker
2010-04-29 3:42 ` [PATCH 5/5] v4l: Remove struct v4l2_file_operations::ioctl Frederic Weisbecker
2010-04-27 11:31 ` [PATCH 00/10] bkl: pushdowns from Arnd, and compile fixes Arnd Bergmann
2010-04-27 12:19 ` John Kacur
2010-04-27 12:41 ` Frederic Weisbecker
2010-04-27 14:24 ` [PATCH 0/6] BKL pushdown into ioctl, continued Arnd Bergmann
2010-04-27 14:24 ` [PATCH 1/7] logfs: push down BKL into ioctl function Arnd Bergmann
2010-04-27 14:32 ` Arnd Bergmann
2010-04-27 14:58 ` Jörn Engel
2010-04-27 15:05 ` Arnd Bergmann
2010-04-27 15:09 ` Jörn Engel
2010-04-27 15:27 ` John Kacur
2010-04-27 15:32 ` Jörn Engel
2010-04-27 15:38 ` Arnd Bergmann
2010-04-27 20:12 ` Frederic Weisbecker
2010-04-27 20:30 ` [PATCH] logfs: kill BKL Arnd Bergmann
2010-05-19 12:51 ` Frederic Weisbecker
2010-04-27 15:36 ` [PATCH 1/7] logfs: push down BKL into ioctl function Linus Torvalds
2010-04-27 16:29 ` John Kacur
2010-04-27 19:59 ` Frederic Weisbecker
2010-04-27 14:24 ` [PATCH 2/7] hfsplus: " Arnd Bergmann
2010-04-27 14:24 ` [PATCH 3/7] cris: push down BKL into some device drivers Arnd Bergmann
2010-04-27 17:22 ` Frederic Weisbecker
2010-04-30 7:53 ` Jesper Nilsson
2010-05-17 2:51 ` Frederic Weisbecker
2010-04-27 14:24 ` [PATCH 4/7] sn_hwperf: kill BKL usage Arnd Bergmann
2010-04-27 14:24 ` [PATCH 5/7] um/mmapper: remove " Arnd Bergmann
2010-04-27 14:24 ` [PATCH 6/7] coda/psdev: remove BKL from ioctl function Arnd Bergmann
2010-04-27 14:24 ` [PATCH 7/7] smbfs: push down BKL into " Arnd Bergmann
2010-04-27 12:40 ` [PATCH 00/10] bkl: pushdowns from Arnd, and compile fixes Frederic Weisbecker
2010-04-27 12:51 ` Geert Uytterhoeven
2010-04-28 21:18 ` Frederic Weisbecker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.LFD.2.00.1004271352510.3318@localhost \
--to=jkacur@redhat.com \
--cc=arnd@arndb.de \
--cc=fweisbec@gmail.com \
--cc=jblunck@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.