lkml.org 
[lkml]   [2015]   [Jan]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v3 2/3] media: au0828 - convert to use videobuf2
    On 01/22/2015 08:00 AM, Devin Heitmueller wrote:
    >>> - fh->type = type;
    >>> - fh->dev = dev;
    >>> - v4l2_fh_init(&fh->fh, vdev);
    >>> - filp->private_data = fh;
    >>> + dprintk(1,
    >>> + "%s called std_set %d dev_state %d stream users %d users %d\n",
    >>> + __func__, dev->std_set_in_tuner_core, dev->dev_state,
    >>> + dev->streaming_users, dev->users);
    >>>
    >>> - if (mutex_lock_interruptible(&dev->lock)) {
    >>> - kfree(fh);
    >>> + if (mutex_lock_interruptible(&dev->lock))
    >>> return -ERESTARTSYS;
    >>> +
    >>> + ret = v4l2_fh_open(filp);
    >>> + if (ret) {
    >>> + au0828_isocdbg("%s: v4l2_fh_open() returned error %d\n",
    >>> + __func__, ret);
    >>> + mutex_unlock(&dev->lock);
    >>> + return ret;
    >>> }
    >>> +
    >>> if (dev->users == 0) {
    >>
    >> you can use v4l2_fh_is_singular_file() and get rid of users member ?
    >
    > That won't work because the underlying resources are shared between
    > /dev/videoX and /dev/vbiX device nodes. Hence if you were to move to
    > v4l2_fh_is_singular_file(), the video device would get opened, the
    > stream would get reset, the VBI device would get opened, and that
    > would cause the analog stream to get enabled/reset *again*.
    >

    Thanks Devin for a detailed explanation. I did see this behavior when I
    was removed users and used v4l2_fh_is_singular_file() instead. I didn't
    understand that this is due to resource sharing between /dev/videoX and
    /dev/vbiX .

    thanks,
    -- Shuah


    --
    Shuah Khan
    Sr. Linux Kernel Developer
    Open Source Innovation Group
    Samsung Research America (Silicon Valley)
    shuahkh@osg.samsung.com | (970) 217-8978


    \
     
     \ /
      Last update: 2015-01-22 16:21    [W:2.859 / U:1.472 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site