22 Mar, 2018

3 commits

  • Driver writers can benefit in knowing if/when callbacks are called in
    interrupt context. But it is not completely obvious here, so document
    it.

    Signed-off-by: Luca Ceresoli
    Cc: Laurent Pinchart
    Cc: Pawel Osciak
    Cc: Marek Szyprowski
    Cc: Kyungmin Park
    Cc: Mauro Carvalho Chehab
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Luca Ceresoli
     
  • VB2_BUF_STATE_REQUEUEING is accepted by vb2_buffer_done() but not
    documented, so add it along with notes about calls in interrupt
    context.

    Signed-off-by: Luca Ceresoli
    Cc: Laurent Pinchart
    Cc: Pawel Osciak
    Cc: Marek Szyprowski
    Cc: Kyungmin Park
    Cc: Mauro Carvalho Chehab
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Luca Ceresoli
     
  • Documentation about what start_streaming() should do on failure are
    scattered in two places and mostly duplicated, so consolidate them in
    one of the two places.

    Signed-off-by: Luca Ceresoli
    Cc: Laurent Pinchart
    Cc: Pawel Osciak
    Cc: Marek Szyprowski
    Cc: Kyungmin Park
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Luca Ceresoli
     

12 Feb, 2018

1 commit

  • This is the mindless scripted replacement of kernel use of POLL*
    variables as described by Al, done by this script:

    for V in IN OUT PRI ERR RDNORM RDBAND WRNORM WRBAND HUP RDHUP NVAL MSG; do
    L=`git grep -l -w POLL$V | grep -v '^t' | grep -v /um/ | grep -v '^sa' | grep -v '/poll.h$'|grep -v '^D'`
    for f in $L; do sed -i "-es/^\([^\"]*\)\(\\)/\\1E\\2/" $f; done
    done

    with de-mangling cleanups yet to come.

    NOTE! On almost all architectures, the EPOLL* constants have the same
    values as the POLL* constants do. But they keyword here is "almost".
    For various bad reasons they aren't the same, and epoll() doesn't
    actually work quite correctly in some cases due to this on Sparc et al.

    The next patch from Al will sort out the final differences, and we
    should be all done.

    Scripted-by: Al Viro
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

07 Feb, 2018

1 commit

  • Pull media updates from Mauro Carvalho Chehab:

    - videobuf2 was moved to a media/common dir, as it is now used by the
    DVB subsystem too

    - Digital TV core memory mapped support interface

    - new sensor driver: ov7740

    - several improvements at ddbridge driver

    - new V4L2 driver: IPU3 CIO2 CSI-2 receiver unit, found on some Intel
    SoCs

    - new tuner driver: tda18250

    - finally got rid of all LIRC staging drivers

    - as we don't have old lirc drivers anymore, restruct the lirc device
    code

    - add support for UVC metadata

    - add a new staging driver for NVIDIA Tegra Video Decoder Engine

    - DVB kAPI headers moved to include/media

    - synchronize the kAPI and uAPI for the DVB subsystem, removing the gap
    for non-legacy APIs

    - reduce the kAPI gap for V4L2

    - lots of other driver enhancements, cleanups, etc.

    * tag 'media/v4.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (407 commits)
    media: v4l2-compat-ioctl32.c: make ctrl_is_pointer work for subdevs
    media: v4l2-compat-ioctl32.c: refactor compat ioctl32 logic
    media: v4l2-compat-ioctl32.c: don't copy back the result for certain errors
    media: v4l2-compat-ioctl32.c: drop pr_info for unknown buffer type
    media: v4l2-compat-ioctl32.c: copy clip list in put_v4l2_window32
    media: v4l2-compat-ioctl32.c: fix ctrl_is_pointer
    media: v4l2-compat-ioctl32.c: copy m.userptr in put_v4l2_plane32
    media: v4l2-compat-ioctl32.c: avoid sizeof(type)
    media: v4l2-compat-ioctl32.c: move 'helper' functions to __get/put_v4l2_format32
    media: v4l2-compat-ioctl32.c: fix the indentation
    media: v4l2-compat-ioctl32.c: add missing VIDIOC_PREPARE_BUF
    media: v4l2-ioctl.c: don't copy back the result for -ENOTTY
    media: v4l2-ioctl.c: use check_fmt for enum/g/s/try_fmt
    media: vivid: fix module load error when enabling fb and no_error_inj=1
    media: dvb_demux: improve debug messages
    media: dvb_demux: Better handle discontinuity errors
    media: cxusb, dib0700: ignore XC2028_I2C_FLUSH
    media: ts2020: avoid integer overflows on 32 bit machines
    media: i2c: ov7740: use gpio/consumer.h instead of gpio.h
    media: entity: Add a nop variant of media_entity_cleanup
    ...

    Linus Torvalds
     

19 Dec, 2017

4 commits


18 Dec, 2017

1 commit


28 Nov, 2017

1 commit


27 Aug, 2017

1 commit

  • This change is intended to give to the v4l2 drivers a choice to
    change the default behavior of the v4l2-core DMA mapping direction
    from DMA_TO/FROM_DEVICE (depending on the buffer type CAPTURE or
    OUTPUT) to DMA_BIDIRECTIONAL during queue_init time.

    Initially the issue with DMA mapping direction has been found in
    Venus encoder driver where the hardware (firmware side) adds few
    lines padding on bottom of the image buffer, and the consequence
    is triggering of IOMMU protection faults.

    This will help supporting venus encoder (and probably other drivers
    in the future) which wants to map output type of buffers as
    read/write.

    Signed-off-by: Stanimir Varbanov
    Acked-by: Marek Szyprowski
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Stanimir Varbanov
     

06 Apr, 2017

1 commit


22 Sep, 2016

1 commit

  • As warned by linuxdoc[1] tool, using:

    $ for i in $(git grep kernel-doc Documentation/media/kapi/|cut -d: -f4); do kernel-lintdoc --sloppy $i; done

    include/media/v4l2-dev.h:118 :WARN: function name from comment differs: v4l2_prio_close v4l2_prio_check
    include/media/v4l2-mc.h:56 [kernel-doc WARN] : enum name from comment differs: if_vid_dec_index if_vid_dec_pad_index
    include/media/v4l2-mc.h:71 [kernel-doc WARN] : enum name from comment differs: if_aud_dec_index if_aud_dec_pad_index
    include/media/v4l2-mem2mem.h:396 [kernel-doc WARN] : function name from comment differs: v4l2_m2m_num_src_bufs_ready v4l2_m2m_num_dst_bufs_ready
    drivers/media/dvb-core/dvb_math.h:28 [kernel-doc WARN] : function name from comment differs: cintlog2 intlog2
    include/media/v4l2-subdev.h:215 [kernel-doc WARN] : struct name from comment differs: s_radio v4l2_subdev_tuner_ops
    include/media/v4l2-subdev.h:890 [kernel-doc WARN] : function name from comment differs: v4l2_set_subdevdata v4l2_set_subdev_hostdata
    include/media/v4l2-subdev.h:901 [kernel-doc WARN] : function name from comment differs: v4l2_get_subdevdata v4l2_get_subdev_hostdata
    drivers/media/dvb-core/dvb_ringbuffer.h:196 [kernel-doc WARN] : function name from comment differs: dvb_ringbuffer_writeuser dvb_ringbuffer_write_user
    include/media/videobuf2-core.h:399 [kernel-doc WARN] : struct name from comment differs: vb2_ops vb2_buf_ops
    include/media/media-entity.h:132 [kernel-doc ERROR] : duplicate parameter definition 'source'
    include/media/media-entity.h:477 [kernel-doc WARN] : function name from comment differs: media_entity_enum_test media_entity_enum_test_and_set
    include/media/media-entity.h:535 [kernel-doc WARN] : function name from comment differs: gobj_to_entity gobj_to_pad
    include/media/media-entity.h:544 [kernel-doc WARN] : function name from comment differs: gobj_to_entity gobj_to_link
    include/media/media-entity.h:553 [kernel-doc WARN] : function name from comment differs: gobj_to_entity gobj_to_intf
    include/media/media-entity.h:562 [kernel-doc WARN] : function name from comment differs: gobj_to_entity intf_to_devnode
    include/media/rc-core.h:234 [kernel-doc WARN] : function name from comment differs: rc_open rc_close
    include/media/v4l2-ctrls.h:397 [kernel-doc WARN] : missing initial short description of 'v4l2_ctrl_handler_init'
    include/media/v4l2-dev.h:118 [kernel-doc WARN] : function name from comment differs: v4l2_prio_close v4l2_prio_check
    include/media/v4l2-event.h:225 [kernel-doc WARN] : missing initial short description of 'v4l2_src_change_event_subscribe'

    [1] https://return42.github.io/linuxdoc/linux.html

    The above are real issues at the documentation. On several cases,
    caused by cut-and-paste.

    Fix them.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     

09 Sep, 2016

3 commits


24 Aug, 2016

1 commit


04 Aug, 2016

1 commit

  • The dma-mapping core and the implementations do not change the DMA
    attributes passed by pointer. Thus the pointer can point to const data.
    However the attributes do not have to be a bitfield. Instead unsigned
    long will do fine:

    1. This is just simpler. Both in terms of reading the code and setting
    attributes. Instead of initializing local attributes on the stack
    and passing pointer to it to dma_set_attr(), just set the bits.

    2. It brings safeness and checking for const correctness because the
    attributes are passed by value.

    Semantic patches for this change (at least most of them):

    virtual patch
    virtual context

    @r@
    identifier f, attrs;

    @@
    f(...,
    - struct dma_attrs *attrs
    + unsigned long attrs
    , ...)
    {
    ...
    }

    @@
    identifier r.f;
    @@
    f(...,
    - NULL
    + 0
    )

    and

    // Options: --all-includes
    virtual patch
    virtual context

    @r@
    identifier f, attrs;
    type t;

    @@
    t f(..., struct dma_attrs *attrs);

    @@
    identifier r.f;
    @@
    f(...,
    - NULL
    + 0
    )

    Link: http://lkml.kernel.org/r/1468399300-5399-2-git-send-email-k.kozlowski@samsung.com
    Signed-off-by: Krzysztof Kozlowski
    Acked-by: Vineet Gupta
    Acked-by: Robin Murphy
    Acked-by: Hans-Christian Noren Egtvedt
    Acked-by: Mark Salter [c6x]
    Acked-by: Jesper Nilsson [cris]
    Acked-by: Daniel Vetter [drm]
    Reviewed-by: Bart Van Assche
    Acked-by: Joerg Roedel [iommu]
    Acked-by: Fabien Dessenne [bdisp]
    Reviewed-by: Marek Szyprowski [vb2-core]
    Acked-by: David Vrabel [xen]
    Acked-by: Konrad Rzeszutek Wilk [xen swiotlb]
    Acked-by: Joerg Roedel [iommu]
    Acked-by: Richard Kuo [hexagon]
    Acked-by: Geert Uytterhoeven [m68k]
    Acked-by: Gerald Schaefer [s390]
    Acked-by: Bjorn Andersson
    Acked-by: Hans-Christian Noren Egtvedt [avr32]
    Acked-by: Vineet Gupta [arc]
    Acked-by: Robin Murphy [arm64 and dma-iommu]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Kozlowski
     

23 Jul, 2016

2 commits

  • Some extra escape codes are needed to avoid Sphinx to not
    identify the tags.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • * patchwork: (1492 commits)
    [media] cec: always check all_device_types and features
    [media] cec: poll should check if there is room in the tx queue
    [media] vivid: support monitor all mode
    [media] cec: fix test for unconfigured adapter in main message loop
    [media] cec: limit the size of the transmit queue
    [media] cec: zero unused msg part after msg->len
    [media] cec: don't set fh to NULL in CEC_TRANSMIT
    [media] cec: clear all status fields before transmit and always fill in sequence
    [media] cec: CEC_RECEIVE overwrote the timeout field
    [media] cxd2841er: Reading SNR for DVB-C added
    [media] cxd2841er: Reading BER and UCB for DVB-C added
    [media] cxd2841er: fix switch-case for DVB-C
    [media] cxd2841er: fix signal strength scale for ISDB-T
    [media] cxd2841er: adjust the dB scale for DVB-C
    [media] cxd2841er: provide signal strength for DVB-C
    [media] cxd2841er: fix BER report via DVBv5 stats API
    [media] mb86a20s: apply mask to val after checking for read failure
    [media] airspy: fix error logic during device register
    [media] s5p-cec/TODO: add TODO item
    [media] cec/TODO: drop comment about sphinx documentation
    ...

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     

18 Jul, 2016

1 commit

  • The conversion from DocBook lead into some conversion issues,
    basically due to the lack of proper support at kernel-doc.

    So, address them:

    - Now, the C files with the exported symbols also need to be
    added. So, all headers need to be included twice: one to
    get the structs/enums/.. and another one for the functions;

    - Notes should use the ReST tag, as kernel-doc doesn't
    recognizes it anymore;

    - Identation needs to be fixed, as ReST uses it to identify
    when a format "tag" ends.

    - kernel-doc doesn't escape things like *pointer, so we
    need to manually add a escape char before it.

    - On some cases, kernel-doc conversion requires violating
    the 80-cols, as otherwise it won't properly parse the
    source code.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     

09 Jul, 2016

3 commits

  • Make this a proper typed array. Drop the old allocate context code since
    that is no longer used.

    Note that the memops functions now get a struct device pointer instead of
    the struct device ** that was there initially (actually a void pointer to
    a struct containing only a struct device pointer).

    This code is now a lot cleaner.

    Signed-off-by: Hans Verkuil
    Reviewed-by: Laurent Pinchart
    Cc: Sakari Ailus
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     
  • The allocation context is nothing more than a per-plane device pointer
    to use when allocating buffers. So just provide a dev pointer in vb2_queue
    for that purpose and drivers can skip allocating/releasing/filling in
    the allocation context unless they require different per-plane device
    pointers as used by some Samsung SoCs.

    Signed-off-by: Hans Verkuil
    Reviewed-by: Laurent Pinchart
    Cc: Sakari Ailus
    Cc: Florian Echtler
    Cc: Federico Vaga
    Cc: "Lad, Prabhakar"
    Cc: Scott Jiang
    Acked-by: Philipp Zabel
    Cc: Fabien Dessenne
    Acked-by: Benoit Parrot
    Cc: Mikhail Ulyanov
    Cc: Guennadi Liakhovetski
    Cc: Jonathan Corbet
    Cc: Ludovic Desroches
    Cc: Sergei Shtylyov
    Cc: Kyungmin Park
    Cc: Sylwester Nawrocki
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     
  • Make the dma attributes struct part of vb2_queue. This greatly simplifies
    the remainder of the patch series since the dma_contig alloc context is
    now (as before) just a struct device pointer.

    Signed-off-by: Hans Verkuil
    Reviewed-by: Laurent Pinchart
    Cc: Sakari Ailus
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     

25 Apr, 2016

1 commit

  • When using a device is read/write mode, vb2 does not handle properly the
    first select/poll operation.

    The reason for this, is that when this code has been refactored, some of
    the operations have changed their order, and now fileio emulator is not
    started.

    The reintroduced check to the core is enabled by a quirk flag, that
    avoids this check by other subsystems like DVB.

    Fixes: 49d8ab9feaf2 ("media] media: videobuf2: Separate vb2_poll()")

    Reported-by: Dimitrios Katsaros
    Cc: Junghak Sung
    Cc: # for v4.5 and up
    Signed-off-by: Ricardo Ribalda Delgado
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Ricardo Ribalda
     

14 Apr, 2016

1 commit

  • The number of planes in videobuf2 is specific to a buffer. In order to
    verify that the planes array provided by the user is long enough, a new
    vb2_buf_op is required.

    Call __verify_planes_array() when the dequeued buffer is known. Return an
    error to the caller if there was one, otherwise remove the buffer from the
    done list.

    Signed-off-by: Sakari Ailus
    Acked-by: Hans Verkuil
    Cc: stable@vger.kernel.org # for v4.4 and later
    Signed-off-by: Mauro Carvalho Chehab

    Sakari Ailus
     

04 Feb, 2016

1 commit

  • The vb2_thread implementation was made generic and was moved from
    videobuf2-v4l2.c to videobuf2-core.c in commit af3bac1a. Unfortunately
    that clearly was never tested since it broke read() causing NULL address
    references.

    The root cause was confused handling of vb2_buffer vs v4l2_buffer (the pb
    pointer in various core functions).

    The v4l2_buffer no longer exists after moving the code into the core and
    it is no longer needed. However, the vb2_thread code passed a pointer to
    a vb2_buffer to the core functions were a v4l2_buffer pointer was expected
    and vb2_thread expected that the vb2_buffer fields would be filled in
    correctly.

    This is obviously wrong since v4l2_buffer != vb2_buffer. Note that the
    pb pointer is a void pointer, so no type-checking took place.

    This patch fixes this problem:

    1) allow pb to be NULL for vb2_core_(d)qbuf. The vb2_thread code will use
    a NULL pointer here since they don't care about v4l2_buffer anyway.
    2) let vb2_core_dqbuf pass back the index of the received buffer. This is
    all vb2_thread needs: this index is the index into the q->bufs array
    and vb2_thread just gets the vb2_buffer from there.
    3) the fileio->b pointer (that originally contained a v4l2_buffer) is
    removed altogether since it is no longer needed.

    Tested with vivid and the cobalt driver.

    Cc: stable@vger.kernel.org # Kernel >= 4.3
    Signed-off-by: Hans Verkuil
    Reported-by: Matthias Schwarzott
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     

19 Dec, 2015

2 commits

  • The handling of q->plane_sizes was wrong in vb2_core_create_bufs().
    The q->plane_sizes array was global and it was overwritten by create_bufs.
    So if reqbufs was called with e.g. size 100000 then q->plane_sizes[0] would
    be set to 100000. If create_bufs was called afterwards with size 200000,
    then q->plane_sizes[0] would be overwritten with the new value. Calling
    create_bufs again for size 100000 would cause an error since 100000 is now
    less than q->plane_sizes[0].

    This patch fixes this problem by 1) removing q->plane_sizes and using the
    vb->planes[].length field instead, and 2) by introducing a min_length field
    in struct vb2_plane. This field is set to the plane size as returned by
    the queue_setup op and is the minimum required plane size. So user pointers
    or dmabufs should all be at least this size.

    Signed-off-by: Hans Verkuil
    Reported-by: Sakari Ailus
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     
  • This ops can never fail, so make these void functions.

    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     

18 Dec, 2015

4 commits

  • Move things related with vb2 file I/O and vb2_thread without doing any
    functional changes. After that, videobuf2-internal.h is removed because
    it is not necessary any more.

    Signed-off-by: Junghak Sung
    Signed-off-by: Geunyoung Kim
    Acked-by: Seung-Woo Kim
    Acked-by: Inki Dae
    Acked-by: Hans Verkuil
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Junghak Sung
     
  • Add copy_timestamp to struct vb2_queue as a flag set if vb2-core should
    copy timestamps.

    Signed-off-by: Junghak Sung
    Signed-off-by: Geunyoung Kim
    Acked-by: Seung-Woo Kim
    Acked-by: Inki Dae
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Junghak Sung
     
  • Move timestamp from struct vb2_v4l2_buffer to struct vb2_buffer
    for common use, and change its type to u64 in order to handling
    y2038 problem. This patch also includes all device drivers' changes related to
    this restructuring.

    Signed-off-by: Junghak Sung
    Signed-off-by: Geunyoung Kim
    Acked-by: Seung-Woo Kim
    Acked-by: Inki Dae
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Junghak Sung
     
  • The queue_setup callback has a void pointer that is just for V4L2
    and is the pointer to the v4l2_format struct that was passed to
    VIDIOC_CREATE_BUFS. The idea was that drivers would use the information
    from that struct to buffers suitable for the requested format.

    After the vb2 split series this pointer is now a void pointer,
    which is ugly, and the reality is that all existing drivers will
    effectively just look at the sizeimage field of v4l2_format.

    To make this more generic the queue_setup callback is changed:
    the void pointer is dropped, instead if the *num_planes argument
    is 0, then use the current format size, if it is non-zero, then
    it contains the number of requested planes and the sizes array
    contains the requested sizes. If either is unsupported, then return
    -EINVAL, otherwise use the requested size(s).

    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     

21 Oct, 2015

4 commits

  • Move v4l2-specific stuff from videobu2-core to videobuf2-v4l2
    without doing any functional changes.

    Signed-off-by: Junghak Sung
    Signed-off-by: Geunyoung Kim
    Acked-by: Seung-Woo Kim
    Acked-by: Inki Dae
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Junghak Sung
     
  • Prepare to divide videobuf2
    - Separate vb2 trace events from v4l2 trace event.
    - Make wrapper functions that will move to v4l2-side.
    - Make vb2_core_* functions that will remain in core-side.
    - Add a callback function table for buffer operation which makes vb2-core
    to be able to invoke a v4l2-side functions.
    - Rename internal functions as vb2_*.

    Signed-off-by: Junghak Sung
    Signed-off-by: Geunyoung Kim
    Acked-by: Seung-Woo Kim
    Acked-by: Inki Dae
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Junghak Sung
     
  • Simple changes that replace v4l2-specific data with vb2 data
    in videobuf2-core.

    enum v4l2_buf_type --> int
    enum v4l2_memory --> enum vb2_memory
    VIDEO_MAX_FRAME --> VB2_MAX_FRAME
    VIDEO_MAX_PLANES --> VB2_MAX_PLANES
    struct v4l2_fh *owner --> void *owner
    V4L2_TYPE_IS_MULTIPLANAR() --> is_multiplanar
    V4L2_TYPE_IS_OUTPUT() --> is_output

    Signed-off-by: Junghak Sung
    Signed-off-by: Geunyoung Kim
    Acked-by: Seung-Woo Kim
    Acked-by: Inki Dae
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Junghak Sung
     
  • Replace struct v4l2_format * with void * to make queue_setup()
    for common use.
    And then, modify all device drivers related with this change.

    Signed-off-by: Junghak Sung
    Signed-off-by: Geunyoung Kim
    Acked-by: Seung-Woo Kim
    Acked-by: Inki Dae
    Signed-off-by: Hans Verkuil
    [hans.verkuil@cisco.com: fix missing const in fimc-lite.c]

    Signed-off-by: Mauro Carvalho Chehab

    Junghak Sung
     

05 Oct, 2015

1 commit


02 Oct, 2015

1 commit

  • include/media/videobuf2-core.h:112: warning: No description found for parameter 'get_dmabuf'
    include/media/videobuf2-core.h:146: warning: No description found for parameter 'm'
    include/media/videobuf2-core.h:146: warning: Excess struct/union/enum/typedef member 'mem_offset' description in 'vb2_plane'

    There are still several warnings, but those are hard to fix,
    as they're actually a bug at DocBook. Those should be fixed on
    separate patches.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab