Hi Andy,

Any news on this? I'd like to make a pull request this week
if possible.

Regards,

        Hans

On Monday, November 07, 2011 12:55:24 Andy Walls wrote:
> Hi Hans,
> 
> Just have it pulled. Thanks for asking.
> 
> Regards,
> Andy
> > Hi Andy,
> > 
> > Can you take a look at this git branch:
> > 
> > http://git.linuxtv.org/hverkuil/media_tree.git/shortlog/refs/heads/ivtvcx18
> > 
> > I've removed the exlusive open for radio devices for ivtv and cx18, and made
> > some other improvements to ivtv as well.
> > 
> > If you are OK with this, then I can post a pull request for this.
> > 
> > Regards,
> > 
> >     Hans
> > 
> > On Thursday, September 29, 2011 14:16:38 Andy Walls wrote:
> > > All,
> > > 
> > > I generally don't have a problem with this patch. However since ivtv and 
> > > cx18 are currently structured for exclusive open, this will impact folks 
> > > who use apps that open the radio nodes but change freq with a video node.
> > > 
> > > The right fix for ivtv and cx18 is to fix the radio node to allow 
> > > multiple open. I won't have time to do that soon.
> > > 
> > > Regards,
> > > Andy
> > > 
> > > Hans Verkuil <[email protected]> wrote:
> > > 
> > > >As per feature-removal-schedule.
> > > >
> > > >If there are no comments, then I'll make a pull request in a few days.
> > > >
> > > >Regards,
> > > >
> > > > Hans
> > > >
> > > >
> > > >For tuners the tuner type as passed by VIDIOC_S_FREQUENCY must match
> > > >the
> > > >type of the device node. So setting the radio frequency through a video
> > > >node instead of the radio node is no longer allowed.
> > > >
> > > >This is now implemented as per the feature removal schedule.
> > > >
> > > >Signed-off-by: Hans Verkuil <[email protected]>
> > > >---
> > > > .../DocBook/media/v4l/vidioc-g-frequency.xml | 5 ++++-
> > > > Documentation/feature-removal-schedule.txt | 11 -----------
> > > > drivers/media/video/v4l2-ioctl.c | 9 ++++++++-
> > > > 3 files changed, 12 insertions(+), 13 deletions(-)
> > > >
> > > >diff --git a/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml
> > > >b/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml
> > > >index 062d720..d18645c 100644
> > > >--- a/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml
> > > >+++ b/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml
> > > >@@ -99,7 +99,10 @@ the &v4l2-output;
> > > ><structfield>modulator</structfield> field and the
> > > >          <entry><structfield>type</structfield></entry>
> > > >          <entry>The tuner type. This is the same value as in the
> > > > &v4l2-tuner; <structfield>type</structfield> field. The field is not
> > > >-applicable to modulators, &ie; ignored by drivers.</entry>
> > > >+applicable to modulators, &ie; ignored by drivers. The tuner type must
> > > >+match the type of the device node, &ie; you cannot specify
> > > >V4L2_TUNER_RADIO
> > > >+for a video/vbi device node or V4L2_TUNER_ANALOG_TV for a radio device
> > > >node.
> > > >+<errorcode>EINVAL</errorcode> will be returned in case of a
> > > >mismatch.</entry>
> > > >          </row>
> > > >          <row>
> > > >          <entry>__u32</entry>
> > > >diff --git a/Documentation/feature-removal-schedule.txt
> > > >b/Documentation/feature-removal-schedule.txt
> > > >index ead08f1..b0ed38c 100644
> > > >--- a/Documentation/feature-removal-schedule.txt
> > > >+++ b/Documentation/feature-removal-schedule.txt
> > > >@@ -530,17 +530,6 @@ Who:        Hans de Goede <[email protected]>
> > > > 
> > > > ----------------------------
> > > > 
> > > >-What:   For VIDIOC_S_FREQUENCY the type field must match the device
> > > >node's type.
> > > >-        If not, return -EINVAL.
> > > >-When:   3.2
> > > >-Why:    It makes no sense to switch the tuner to radio mode by calling
> > > >-        VIDIOC_S_FREQUENCY on a video node, or to switch the tuner to 
> > > >tv mode
> > > >by
> > > >-        calling VIDIOC_S_FREQUENCY on a radio node. This is the first 
> > > >step of
> > > >a
> > > >-        move to more consistent handling of tv and radio tuners.
> > > >-Who:    Hans Verkuil <[email protected]>
> > > >-
> > > >-----------------------------
> > > >-
> > > >What:    Opening a radio device node will no longer automatically switch
> > > >the
> > > >         tuner mode from tv to radio.
> > > > When:   3.3
> > > >diff --git a/drivers/media/video/v4l2-ioctl.c
> > > >b/drivers/media/video/v4l2-ioctl.c
> > > >index 21c49dc..4004b77 100644
> > > >--- a/drivers/media/video/v4l2-ioctl.c
> > > >+++ b/drivers/media/video/v4l2-ioctl.c
> > > >@@ -1757,6 +1757,8 @@ static long __video_do_ioctl(struct file *file,
> > > >         case VIDIOC_S_FREQUENCY:
> > > >         {
> > > >                 struct v4l2_frequency *p = arg;
> > > >+                enum v4l2_tuner_type type = (vfd->vfl_type == 
> > > >VFL_TYPE_RADIO) ?
> > > >+                        V4L2_TUNER_RADIO : V4L2_TUNER_ANALOG_TV;
> > > > 
> > > >                 if (!ops->vidioc_s_frequency)
> > > >                         break;
> > > >@@ -1766,7 +1768,12 @@ static long __video_do_ioctl(struct file *file,
> > > >                 }
> > > >                 dbgarg(cmd, "tuner=%d, type=%d, frequency=%d\n",
> > > >                                 p->tuner, p->type, p->frequency);
> > > >-                ret = ops->vidioc_s_frequency(file, fh, p);
> > > >+                /* type is ignored for modulators, so only do this check
> > > >+                 if there is no modulator support. */
> > > >+                if (ops->vidioc_s_modulator == NULL && type != p->type)
> > > >+                        ret = -EINVAL;
> > > >+                else
> > > >+                        ret = ops->vidioc_s_frequency(file, fh, p);
> > > >                 break;
> > > >         }
> > > >         case VIDIOC_G_SLICED_VBI_CAP:
> > > 
> > 
> >_____________________________________________
> 
> > ivtv-devel mailing list
> > [email protected]
> > http://ivtvdriver.org/mailman/listinfo/ivtv-devel
> > 
> 
> 

_______________________________________________
ivtv-users mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-users

Reply via email to