1. 27 9月, 2015 1 次提交
  2. 29 7月, 2015 1 次提交
  3. 03 4月, 2015 1 次提交
  4. 03 3月, 2015 1 次提交
    • H
      [media] uvc gadget: switch to v4l2 core locking · d8e96c4b
      Hans Verkuil 提交于
      Switch this driver over to the V4L2 core locking mechanism in preparation
      for switching to unlocked_ioctl. Suggested by Laurent Pinchart.
      
      This patch introduces a new mutex at the struct uvc_video level and
      drops the old mutex at the queue level. The new lock is now used for all
      ioctl locking and in the release file operation (the driver always has
      to take care of locking in file operations, the core only serializes
      ioctls).
      
      Note that the mmap and get_unmapped_area file operations no longer take
      a lock. Commit f035eb4e fixed a AB-BA
      deadlock by moving all the locking down into vb2, so the mmap and
      get_unmapped_area file operations should no longer do any locking before
      calling into vb2.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      d8e96c4b
  5. 13 1月, 2015 3 次提交
  6. 21 10月, 2014 4 次提交
  7. 16 9月, 2014 2 次提交
  8. 09 9月, 2014 5 次提交
  9. 08 9月, 2014 3 次提交
  10. 21 8月, 2014 1 次提交
  11. 17 7月, 2014 1 次提交
  12. 21 6月, 2013 1 次提交
  13. 29 5月, 2013 1 次提交
  14. 18 3月, 2013 9 次提交
  15. 07 2月, 2013 1 次提交
  16. 31 10月, 2012 3 次提交
    • S
      usb: gadget: let f_* use usb_string_ids_tab() where it makes sense · 1616e99d
      Sebastian Andrzej Siewior 提交于
      Instead of calling usb_string_id() multiple times I replace it with one
      usb_string_ids_tab(). The NULL pointer in struct usb_string with "" and
      are not overwritten in fail or unbind case.
      
      The conditional assignment remains because some gadgets recycle the string
      ID because the same descriptor (and string ID) is used if we have more
      than one config descriptor.
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      1616e99d
    • S
      usb: gadget: always update HS/SS descriptors and create a copy of them · 10287bae
      Sebastian Andrzej Siewior 提交于
      HS and SS descriptors are staticaly created. They are updated during the
      bind process with the endpoint address, string id or interface numbers.
      
      After that, the descriptor chain is linked to struct usb_function which
      is used by composite in order to serve the GET_DESCRIPTOR requests,
      number of available configs and so on.
      
      There is no need to assign the HS descriptor only if the UDC supports
      HS speed because composite won't report those to the host if HS support
      has not been reached. The same reasoning is valid for SS.
      
      This patch makes sure each function updates HS/SS descriptors
      unconditionally and uses the newly introduced helper function to create a
      copy the descriptors for the speed which is supported by the UDC.
      
      While at that, also rename f->descriptors to f->fs_descriptors in order
      to make it more explicit what that means.
      
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      10287bae
    • S
      usb: gadget: uvc: fix error path in uvc_function_bind() · 0f9df939
      Sebastian Andrzej Siewior 提交于
      The "video->minor = -1" assigment is done in V4L2 by
      video_register_device() so it is removed here.
      Now. uvc_function_bind() calls in error case uvc_function_unbind() for
      cleanup. The problem is that uvc_function_unbind() frees the uvc struct
      and uvc_bind_config() does as well in error case of usb_add_function().
      Removing kfree() in usb_add_function() would make the patch smaller but
      it would look odd because the new allocated memory is not cleaned up.
      However it is not guaranteed that if we call usb_add_function() we also
      get to the bind function.
      Therefore the patch extracts the conditional cleanup from
      uvc_function_unbind() applies to uvc_function_bind().
      uvc_function_unbind() now contains only the complete cleanup which is
      required once everything has been registrated.
      
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Bhupesh Sharma <bhupesh.sharma@st.com>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      0f9df939
  17. 04 6月, 2012 2 次提交