1. 23 12月, 2014 1 次提交
  2. 17 7月, 2014 1 次提交
    • L
      [media] v4l: Support extending the v4l2_pix_format structure · d52e2381
      Laurent Pinchart 提交于
      The v4l2_pix_format structure has no reserved field. It is embedded in
      the v4l2_framebuffer structure which has no reserved fields either, and
      in the v4l2_format structure which has reserved fields that were not
      previously required to be zeroed out by applications.
      
      To allow extending v4l2_pix_format, inline it in the v4l2_framebuffer
      structure, and use the priv field as a magic value to indicate that the
      application has set all v4l2_pix_format extended fields and zeroed all
      reserved fields following the v4l2_pix_format field in the v4l2_format
      structure.
      
      The availability of this API extension is reported to userspace through
      the new V4L2_CAP_EXT_PIX_FORMAT capability flag. Just checking that the
      priv field is still set to the magic value at [GS]_FMT return wouldn't
      be enough, as older kernels don't zero the priv field on return.
      
      To simplify the internal API towards drivers zero the extended fields
      and set the priv field to the magic value for applications not aware of
      the extensions.
      Signed-off-by: NLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      d52e2381
  3. 05 7月, 2014 1 次提交
  4. 25 5月, 2014 1 次提交
  5. 17 6月, 2013 1 次提交
  6. 24 3月, 2013 3 次提交
  7. 09 2月, 2013 1 次提交
  8. 06 2月, 2013 6 次提交
  9. 21 12月, 2012 2 次提交
  10. 05 12月, 2012 1 次提交
  11. 23 11月, 2012 1 次提交
  12. 26 9月, 2012 1 次提交
  13. 16 8月, 2012 1 次提交
  14. 10 8月, 2012 1 次提交
  15. 15 5月, 2012 1 次提交
    • H
      [media] v4l: fix compiler warnings · 8173090a
      Hans Verkuil 提交于
      media_build/v4l/adv7343.c: In function 'adv7343_setstd':
      media_build/v4l/adv7343.c:133:6: warning: variable 'output_idx' set but not used [-Wunused-but-set-variable]
      media_build/v4l/tvp5150.c: In function 'tvp5150_mbus_fmt':
      media_build/v4l/tvp5150.c:833:14: warning: variable 'std' set but not used [-Wunused-but-set-variable]
      media_build/v4l/tvp7002.c: In function 'tvp7002_query_dv_preset':
      media_build/v4l/tvp7002.c:673:18: warning: variable 'device' set but not used [-Wunused-but-set-variable]
      media_build/v4l/c-qcam.c: In function 'qc_capture':
      media_build/v4l/c-qcam.c:381:33: warning: variable 'bitsperxfer' set but not used [-Wunused-but-set-variable]
      media_build/v4l/pms.c: In function 'pms_s_std':
      media_build/v4l/pms.c:738:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
      media_build/v4l/pms.c: In function 'init_mediavision':
      media_build/v4l/pms.c:959:6: warning: variable 'id' set but not used [-Wunused-but-set-variable]
      media_build/v4l/cx25821-alsa.c: In function 'cx25821_irq':
      media_build/v4l/cx25821-alsa.c:294:6: warning: variable 'audint_count' set but not used [-Wunused-but-set-variable]
      media_build/v4l/zr364xx.c: In function 'zr364xx_fillbuff':
      media_build/v4l/zr364xx.c:510:25: warning: variable 'frm' set but not used [-Wunused-but-set-variable]
      media_build/v4l/s2255drv.c: In function 's2255_fillbuff':
      media_build/v4l/s2255drv.c:637:23: warning: variable 'frm' set but not used [-Wunused-but-set-variable]
      media_build/v4l/s2255drv.c: In function 'vidioc_s_fmt_vid_cap':
      media_build/v4l/s2255drv.c:990:6: warning: variable 'norm' set but not used [-Wunused-but-set-variable]
      media_build/v4l/tm6000-stds.c: In function 'tm6000_set_audio_std':
      media_build/v4l/tm6000-stds.c:341:10: warning: variable 'nicam_flag' set but not used [-Wunused-but-set-variable]
      media_build/v4l/tm6000-video.c: In function 'get_next_buf':
      media_build/v4l/tm6000-video.c:172:8: warning: variable 'outp' set but not used [-Wunused-but-set-variable]
      media_build/v4l/tm6000-video.c: In function 'copy_streams':
      media_build/v4l/tm6000-video.c:214:36: warning: variable 'c' set but not used [-Wunused-but-set-variable]
      media_build/v4l/tm6000-input.c: In function 'tm6000_ir_urb_received':
      media_build/v4l/tm6000-input.c:171:6: warning: variable 'rc' set but not used [-Wunused-but-set-variable]
      media_build/v4l/usbvision-core.c: In function 'usbvision_decompress':
      media_build/v4l/usbvision-core.c:604:23: warning: variable 'max_pos' set but not used [-Wunused-but-set-variable]
      media_build/v4l/usbvision-core.c: In function 'usbvision_parse_compress':
      media_build/v4l/usbvision-core.c:705:39: warning: variable 'rc' set but not used [-Wunused-but-set-variable]
      media_build/v4l/usbvision-core.c:705:22: warning: variable 'bytes_per_pixel' set but not used [-Wunused-but-set-variable]
      media_build/v4l/zoran_device.c: In function 'write_overlay_mask':
      media_build/v4l/zoran_device.c:545:6: warning: variable 'reg' set but not used [-Wunused-but-set-variable]
      media_build/v4l/go7007-v4l2.c: In function 'go7007_streamoff':
      media_build/v4l/go7007-v4l2.c:79:6: warning: variable 'retval' set but not used [-Wunused-but-set-variable]
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      8173090a
  16. 14 5月, 2012 1 次提交
    • H
      [media] v4l2-dev: add flag to have the core lock all file operations · 5126f259
      Hans Verkuil 提交于
      This used to be the default if the lock pointer was set, but now that lock is by
      default only used for ioctl serialization. Those drivers that already used
      core locking have this flag set explicitly, except for some drivers where
      it was obvious that there was no need to serialize any file operations other
      than ioctl.
      
      The drivers that didn't need this flag were:
      
      drivers/media/radio/dsbr100.c
      drivers/media/radio/radio-isa.c
      drivers/media/radio/radio-keene.c
      drivers/media/radio/radio-miropcm20.c
      drivers/media/radio/radio-mr800.c
      drivers/media/radio/radio-tea5764.c
      drivers/media/radio/radio-timb.c
      drivers/media/video/vivi.c
      sound/i2c/other/tea575x-tuner.c
      
      The other drivers that use core locking and where it was not immediately
      obvious that this flag wasn't needed were changed so that the flag is set
      together with a comment that that driver needs work to avoid having to
      set that flag. This will often involve taking the core lock in the fops
      themselves.
      
      Eventually this flag should go and it should not be used in new drivers.
      
      There are a few reasons why we want to avoid core locking of non-ioctl
      fops: in the case of mmap this can lead to a deadlock in rare situations
      since when mmap is called the mmap_sem is held and it is possible for
      other parts of the code to take that lock as well (copy_from_user()/copy_to_user()
      perform a down_read(&mm->mmap_sem) when a page fault occurs).
      
      It is very unlikely that that happens since the core lock serializes all
      fops, but the kernel warns about it if lock validation is turned on.
      
      For poll it is also undesirable to take the core lock as that can introduce
      increased latency. The same is true for read/write.
      
      While it was possible to make flags or something to turn on/off taking the
      core lock for each file operation, in practice it is much simpler to just
      not take it at all except for ioctl and leave it to the driver to take the
      lock. There are only a handful fops compared to the zillion ioctls we have.
      
      I also wanted to make it obvious which drivers still take the lock for all
      fops, so that's why I chose to have drivers set it explicitly.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Acked-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      5126f259
  17. 20 4月, 2012 1 次提交
  18. 11 12月, 2011 2 次提交
  19. 29 11月, 2011 2 次提交
  20. 23 9月, 2011 1 次提交
  21. 01 9月, 2011 5 次提交
  22. 09 7月, 2011 1 次提交
  23. 06 7月, 2011 1 次提交
  24. 29 6月, 2011 1 次提交
  25. 21 5月, 2011 2 次提交