1. 24 8月, 2016 1 次提交
  2. 23 7月, 2016 1 次提交
  3. 14 4月, 2016 1 次提交
  4. 11 1月, 2016 6 次提交
    • M
      [media] media_entity: remove gfp_flags argument · 0b3b72df
      Mauro Carvalho Chehab 提交于
      We should not be creating device nodes at IRQ contexts. So,
      the only flags we'll be using will be GFP_KERNEL. Let's
      remove the gfp_flags, in order to make the interface simpler.
      
      If we ever need it, it would be easy to revert those changes.
      
      While here, remove an extra blank line.
      Suggested-by: NSakari Ailus <sakari.ailus@iki.fi>
      Acked-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      0b3b72df
    • M
      [media] uapi/media.h: Rename entities types to functions · 4ca72efa
      Mauro Carvalho Chehab 提交于
      Rename the userspace types from MEDIA_ENT_T_ to MEDIA_ENT_F_
      and add the backward compatibility bits.
      
      The changes at the .c files was generated by the following
      coccinelle script:
      
      @@
      @@
      -MEDIA_ENT_T_UNKNOWN
      +MEDIA_ENT_F_UNKNOWN
      @@
      @@
      -MEDIA_ENT_T_DVB_BASE
      +MEDIA_ENT_F_DVB_BASE
      @@
      @@
      -MEDIA_ENT_T_V4L2_BASE
      +MEDIA_ENT_F_V4L2_BASE
      @@
      @@
      -MEDIA_ENT_T_V4L2_SUBDEV_BASE
      +MEDIA_ENT_F_V4L2_SUBDEV_BASE
      @@
      @@
      -MEDIA_ENT_T_CONNECTOR_BASE
      +MEDIA_ENT_F_CONNECTOR_BASE
      @@
      @@
      -MEDIA_ENT_T_V4L2_VIDEO
      +MEDIA_ENT_F_IO_V4L
      @@
      @@
      -MEDIA_ENT_T_V4L2_VBI
      +MEDIA_ENT_F_IO_VBI
      @@
      @@
      -MEDIA_ENT_T_V4L2_SWRADIO
      +MEDIA_ENT_F_IO_SWRADIO
      @@
      @@
      -MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN
      +MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN
      @@
      @@
      -MEDIA_ENT_T_CONN_RF
      +MEDIA_ENT_F_CONN_RF
      @@
      @@
      -MEDIA_ENT_T_CONN_SVIDEO
      +MEDIA_ENT_F_CONN_SVIDEO
      @@
      @@
      -MEDIA_ENT_T_CONN_COMPOSITE
      +MEDIA_ENT_F_CONN_COMPOSITE
      @@
      @@
      -MEDIA_ENT_T_CONN_TEST
      +MEDIA_ENT_F_CONN_TEST
      @@
      @@
      -MEDIA_ENT_T_V4L2_SUBDEV_SENSOR
      +MEDIA_ENT_F_CAM_SENSOR
      @@
      @@
      -MEDIA_ENT_T_V4L2_SUBDEV_FLASH
      +MEDIA_ENT_F_FLASH
      @@
      @@
      -MEDIA_ENT_T_V4L2_SUBDEV_LENS
      +MEDIA_ENT_F_LENS
      @@
      @@
      -MEDIA_ENT_T_V4L2_SUBDEV_DECODER
      +MEDIA_ENT_F_ATV_DECODER
      @@
      @@
      -MEDIA_ENT_T_V4L2_SUBDEV_TUNER
      +MEDIA_ENT_F_TUNER
      @@
      @@
      -MEDIA_ENT_T_DVB_DEMOD
      +MEDIA_ENT_F_DTV_DEMOD
      @@
      @@
      -MEDIA_ENT_T_DVB_DEMUX
      +MEDIA_ENT_F_TS_DEMUX
      @@
      @@
      -MEDIA_ENT_T_DVB_TSOUT
      +MEDIA_ENT_F_IO_DTV
      @@
      @@
      -MEDIA_ENT_T_DVB_CA
      +MEDIA_ENT_F_DTV_CA
      @@
      @@
      -MEDIA_ENT_T_DVB_NET_DECAP
      +MEDIA_ENT_F_DTV_NET_DECAP
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      4ca72efa
    • M
      [media] media-entity.h: rename entity.type to entity.function · 0e576b76
      Mauro Carvalho Chehab 提交于
      Entities should have one or more functions. Calling it as a
      type proofed to not be correct, as an entity could eventually
      have more than one type.
      
      So, rename the field as function.
      
      Please notice that this patch doesn't extend support for
      multiple function entities. Such change will happen when
      we have real case drivers using it.
      
      No functional changes.
      Acked-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      0e576b76
    • M
      [media] v4l2 core: enable all interface links at init · 13f6e888
      Mauro Carvalho Chehab 提交于
      Interface links are normally enabled, meaning that the interfaces are
      bound to the entities. So, any ioctl send to the interface are reflected
      at the entities managed by the interface.
      
      However, when a device is used, other interfaces for the same hardware
      could be decoupled from the entities linked to them, because the
      hardware may have some parts busy.
      
      That's for example, what happens when an hybrid TV device is in use.
      If it is streaming analog TV or capturing signals from S-Video/Composite
      connectors, typically the digital part of the hardware can't be used and
      vice-versa.
      
      This is generally due to some internal hardware or firmware limitation,
      that it is not easily mapped via data pipelines.
      
      What the Kernel drivers do internally is that they decouple the hardware
      from the interface. So, all changes, if allowed, are done only at some
      interface cache, but not physically changed at the hardware.
      
      The usage is similar to the usage of the MEDIA_LNK_FL_ENABLED on data
      links. So, let's use the same flag to indicate if either the interface
      to entity link is bound/enabled or not.
      Acked-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      13f6e888
    • M
      [media] v4l2-core: create MC interfaces for devnodes · d9c21e3e
      Mauro Carvalho Chehab 提交于
      V4L2 device (and subdevice) nodes should create an interface, if the
      Media Controller support is enabled.
      
      Please notice that radio devices should not create an entity, as radio
      input/output is either via wires or via ALSA.
      Acked-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      d9c21e3e
    • M
      [media] replace all occurrences of MEDIA_ENT_T_DEVNODE_V4L · cf490661
      Mauro Carvalho Chehab 提交于
      Now that interfaces and entities are distinct, it makes no sense
      of keeping something named as MEDIA_ENT_T_DEVNODE.
      
      This change was done with this script:
      
      	for i in $(git grep -l MEDIA_ENT_T|grep -v uapi/linux/media.h); do sed s,MEDIA_ENT_T_DEVNODE_V4L,MEDIA_ENT_T_V4L2_VIDEO, <$i >a && mv a $i; done
      Acked-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      cf490661
  5. 21 10月, 2015 1 次提交
  6. 03 4月, 2015 1 次提交
  7. 03 3月, 2015 2 次提交
  8. 14 2月, 2015 1 次提交
    • M
      [media] media: Fix DVB devnode representation at media controller · e31a0ba7
      Mauro Carvalho Chehab 提交于
      The previous provision for DVB media controller support were to
      define an ID (likely meaning the adapter number) for the DVB
      devnodes.
      
      This is just plain wrong. Just like V4L, DVB devices (and any other
      device node)) are uniquely identified via a (major, minor) tuple.
      
      This is enough to uniquely identify a devnode, no matter what
      API it implements.
      
      So, before we go too far, let's mark the old v4l, fb, dvb and alsa
      "devnode" info as deprecated, and just call it as "dev".
      
      We can latter add fields specific to each API if needed.
      
      As we don't want to break compilation on already existing apps,
      let's just keep the old definitions as-is, adding a note that
      those are deprecated at media-entity.h.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      e31a0ba7
  9. 23 12月, 2014 2 次提交
  10. 25 11月, 2014 1 次提交
  11. 18 7月, 2014 2 次提交
  12. 17 7月, 2014 1 次提交
  13. 05 7月, 2014 1 次提交
  14. 11 3月, 2014 1 次提交
  15. 06 3月, 2014 3 次提交
  16. 28 1月, 2014 1 次提交
  17. 07 1月, 2014 1 次提交
  18. 11 12月, 2013 1 次提交
  19. 24 8月, 2013 1 次提交
    • R
      [media] v4l2-dev: Fix race condition on __video_register_device · 1056e438
      Ricardo Ribalda 提交于
      When 2 devices are registered at the same time, in Part 2 both will get
      the same minor number, making Part6 crash, because it cannot create a
      create a device with a duplicated minor:
      [    7.157648] ------------[ cut here ]------------
      [    7.157666] WARNING: at fs/sysfs/dir.c:530 sysfs_add_one+0xbd/0xe0()
      [    7.157669] sysfs: cannot create duplicate filename '/dev/char/81:1'
      [    7.157672] Modules linked in: qtec_xform(+) qt5023_video(+) videobuf2_vmalloc videobuf2_dma_sg videobuf2_memops videobuf2_core gpio_xilinx(+) qtec_white qtec_cmosis(+) qtec_pcie qt5023
      [    7.157694] CPU: 0 PID: 120 Comm: systemd-udevd Not tainted 3.10.0-qtec-standard #8
      [    7.157698] Hardware name: QTechnology QT5022/QT5022, BIOS PM_2.1.0.309 X64 05/23/2013
      [    7.157702]  0000000000000009 ffff8801788358e8 ffffffff8176c487 ffff880178835928
      [    7.157707]  ffffffff8106f6f0 ffff880175759770 00000000ffffffef ffff880175759930
      [    7.157712]  ffff8801788359e8 ffff880178bff000 ffff880175759930 ffff880178835988
      [    7.157718] Call Trace:
      [    7.157728]  [<ffffffff8176c487>] dump_stack+0x19/0x1b
      [    7.157735]  [<ffffffff8106f6f0>] warn_slowpath_common+0x70/0xa0
      [    7.157740]  [<ffffffff8106f7d6>] warn_slowpath_fmt+0x46/0x50
      [    7.157746]  [<ffffffff81324b35>] ? strlcat+0x65/0x90
      [    7.157750]  [<ffffffff811d516d>] sysfs_add_one+0xbd/0xe0
      [    7.157755]  [<ffffffff811d5c6b>] sysfs_do_create_link_sd+0xdb/0x200
      [    7.157760]  [<ffffffff811d5db1>] sysfs_create_link+0x21/0x40
      [    7.157765]  [<ffffffff813e277b>] device_add+0x21b/0x6d0
      [    7.157772]  [<ffffffff813f2985>] ? pm_runtime_init+0xe5/0xf0
      [    7.157776]  [<ffffffff813e2c4e>] device_register+0x1e/0x30
      [    7.157782]  [<ffffffff8153e8c3>] __video_register_device+0x313/0x610
      [    7.157791]  [<ffffffffa00957c5>] qtec_xform_probe+0x465/0x7a4 [qtec_xform]
      [    7.157797]  [<ffffffff813e7b13>] platform_drv_probe+0x43/0x80
      [    7.157802]  [<ffffffff813e531a>] ? driver_sysfs_add+0x7a/0xb0
      [    7.157807]  [<ffffffff813e584b>] driver_probe_device+0x8b/0x3a0
      [    7.157812]  [<ffffffff813e5c0b>] __driver_attach+0xab/0xb0
      [    7.157816]  [<ffffffff813e5b60>] ? driver_probe_device+0x3a0/0x3a0
      [    7.157820]  [<ffffffff813e37fd>] bus_for_each_dev+0x5d/0xa0
      [    7.157825]  [<ffffffff813e529e>] driver_attach+0x1e/0x20
      [    7.157829]  [<ffffffff813e4d3e>] bus_add_driver+0x10e/0x280
      [    7.157833]  [<ffffffffa0099000>] ? 0xffffffffa0098fff
      [    7.157837]  [<ffffffffa0099000>] ? 0xffffffffa0098fff
      [    7.157842]  [<ffffffff813e6317>] driver_register+0x77/0x170
      [    7.157848]  [<ffffffff81151bcc>] ? __vunmap+0x9c/0x110
      [    7.157852]  [<ffffffffa0099000>] ? 0xffffffffa0098fff
      [    7.157857]  [<ffffffff813e7236>] platform_driver_register+0x46/0x50
      [    7.157863]  [<ffffffffa0099010>] qtec_xform_plat_driver_init+0x10/0x12 [qtec_xform]
      [    7.157869]  [<ffffffff810002ea>] do_one_initcall+0xea/0x1a0
      [    7.157875]  [<ffffffff810cf1f1>] load_module+0x1a91/0x2630
      [    7.157880]  [<ffffffff8133bee0>] ? ddebug_proc_show+0xe0/0xe0
      [    7.157887]  [<ffffffff817760f2>] ? page_fault+0x22/0x30
      [    7.157892]  [<ffffffff810cfe7a>] SyS_init_module+0xea/0x140
      [    7.157898]  [<ffffffff8177e5b9>] tracesys+0xd0/0xd5
      [    7.157902] ---[ end trace 660cc3a65a4bf01b ]---
      [    7.157939] __video_register_device: device_register failed
      Signed-off-by: NRicardo Ribalda Delgado <ricardo.ribalda@gmail.com>
      Acked-by: NSakari Ailus <sakari.ailus@iki.fi>
      Acked-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      1056e438
  20. 20 8月, 2013 1 次提交
  21. 21 6月, 2013 2 次提交
  22. 17 6月, 2013 1 次提交
    • H
      [media] v4l2: remove deprecated current_norm support completely · ca371575
      Hans Verkuil 提交于
      The use of current_norm to keep track of the current standard has been
      deprecated for quite some time. Now that all drivers that were using it
      have been converted to use g_std we can drop it from the core.
      It was a bad idea to introduce this at the time: since it is a per-device
      node field it didn't work for drivers that create multiple nodes, all sharing
      the same tuner (e.g. video and vbi nodes, or a raw video node and a compressed
      video node). In addition it was very surprising behavior that g_std was
      implemented in the core. Often drivers implemented both g_std and current_norm,
      because they didn't understand how it should be used.
      Since the benefits were very limited (if they were there at all), it is better
      to just drop it and require that drivers just implement g_std.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      ca371575
  23. 15 4月, 2013 2 次提交
  24. 25 3月, 2013 2 次提交
  25. 23 2月, 2013 1 次提交
  26. 06 2月, 2013 1 次提交
  27. 26 11月, 2012 1 次提交