Re: [GIT PULL] V4L2 file handles and event interface

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Sakari,

Sakari Ailus wrote:
> Hi Mauro,
> 
> The latest event patchset is available in my Gitorious tree now. The
> file handles documentation patch changed due to unrelated changes in
> Documentation/video4linux/v4l2-framework.txt. There are no other changes
> compared to the patches sent to the list earlier.
> 
> Please pull.
> 
> The following changes since commit 9178a7c062ff0c43e95d826419f9e9454c52ef15:
>   Mauro Carvalho Chehab (1):
>         V4L/DVB: Fix bad whitespacing
> 
> are available in the git repository at:
> 
>   git://gitorious.org/omap3camera/mainline.git v4l-dvb-event
> 
> Sakari Ailus (6):
>       V4L: File handles

The idea of having a common file handle at the V4L2 core is interesting, but
I see some troubles on it. As you said on this changeset's comment:

    V4L/DVB: V4L: File handles
    
    This patch adds a list of v4l2_fh structures to every video_device.
    It allows using file handle related information in V4L2. The event interface
    is one example of such use.
    
    Video device drivers should use the v4l2_fh pointer as their
    file->private_data.

You're saying that the drivers should use struct v4l2_fh, but there
aren't any patches on your series enforcing this change.

Also, you're defining it as just:

+struct v4l2_fh {
+ struct list_head    list;
+ struct video_device *vdev;
+};

while other drivers need something much more complex. For example, saa7134
defines the file handler struct used on file-private_data as:

struct saa7134_fh {
        struct saa7134_dev         *dev;
        unsigned int               radio;
        enum v4l2_buf_type         type;
        unsigned int               resources;
        enum v4l2_priority         prio;

        /* video overlay */
        struct v4l2_window         win;
        struct v4l2_clip           clips[8];
        unsigned int               nclips;

        /* video capture */
        struct saa7134_format      *fmt;
        unsigned int               width,height;
        struct videobuf_queue      cap;
        struct saa7134_pgtable     pt_cap;

        /* vbi capture */
        struct videobuf_queue      vbi;
        struct saa7134_pgtable     pt_vbi;
};

Even the simplest driver we have (vivi) require more than just
the video device:

struct vivi_fh {
        struct vivi_dev            *dev;

        /* video capture */
        struct vivi_fmt            *fmt;
        unsigned int               width, height;
        struct videobuf_queue      vb_vidq;

        enum v4l2_buf_type         type;
        unsigned char              bars[8][3];
        int                        input;       /* Input Number on bars */
};


So, it is not clear for me how to convert any of the existing
drivers to fit on your proposal.

Also, the better is if you could provide us a patchset with the needed
conversion. It is interesting if you could add some notes there about why
this change is needed.

Cheers,
Mauro
--
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

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux