On Tue 15 January 2013 18:06:57 Frank Schäfer wrote: > Am 14.01.2013 10:20, schrieb Hans Verkuil: > > On Sun January 13 2013 13:50:50 Frank Schäfer wrote: > >> Signed-off-by: Frank Schäfer <fschaefer.oss@xxxxxxxxxxxxxx> > >> --- > >> drivers/media/usb/em28xx/em28xx-video.c | 8 ++++++++ > >> 1 Datei geändert, 8 Zeilen hinzugefügt(+) > >> > >> diff --git a/drivers/media/usb/em28xx/em28xx-video.c b/drivers/media/usb/em28xx/em28xx-video.c > >> index 2eabf2a..4a7f73c 100644 > >> --- a/drivers/media/usb/em28xx/em28xx-video.c > >> +++ b/drivers/media/usb/em28xx/em28xx-video.c > >> @@ -1204,6 +1204,8 @@ static int vidioc_g_tuner(struct file *file, void *priv, > >> struct em28xx *dev = fh->dev; > >> int rc; > >> > >> + if (dev->tuner_type == TUNER_ABSENT) > >> + return -ENOTTY; > >> rc = check_dev(dev); > >> if (rc < 0) > >> return rc; > >> @@ -1224,6 +1226,8 @@ static int vidioc_s_tuner(struct file *file, void *priv, > >> struct em28xx *dev = fh->dev; > >> int rc; > >> > >> + if (dev->tuner_type == TUNER_ABSENT) > >> + return -ENOTTY; > >> rc = check_dev(dev); > >> if (rc < 0) > >> return rc; > >> @@ -1241,6 +1245,8 @@ static int vidioc_g_frequency(struct file *file, void *priv, > >> struct em28xx_fh *fh = priv; > >> struct em28xx *dev = fh->dev; > >> > >> + if (dev->tuner_type == TUNER_ABSENT) > >> + return -ENOTTY; > >> if (0 != f->tuner) > >> return -EINVAL; > >> > >> @@ -1255,6 +1261,8 @@ static int vidioc_s_frequency(struct file *file, void *priv, > >> struct em28xx *dev = fh->dev; > >> int rc; > >> > >> + if (dev->tuner_type == TUNER_ABSENT) > >> + return -ENOTTY; > >> rc = check_dev(dev); > >> if (rc < 0) > >> return rc; > >> > > Rather than doing this in each ioctl, I recommend using v4l2_disable_ioctl > > instead. See for example drivers/media/pci/ivtv/ivtv-streams.c. > > Hmm, thanks. > I just did the same we currently do for the VIDIOC_G/S/QUERY_STD and > VIDIOC_G/S_AUDIO ioctls, but yeah, disabling seems to be better. > Btw, what about VIDIOC_G/S_PARAM ? Do they make sense for cameras ? Absolutely. Actually, s_parm should be disabled in the non-camera case since s_parm only makes sense for webcams. Regards, Hans > > Regards, > Frank > > -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html