<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/media/usb/uvc, branch linux-4.5.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-01-11T14:19:15Z</updated>
<entry>
<title>[media] media-device: split media initialization and registration</title>
<updated>2016-01-11T14:19:15Z</updated>
<author>
<name>Javier Martinez Canillas</name>
</author>
<published>2015-12-11T22:57:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9832e155f1ed3030fdfaa19e72c06472dc2ecb1d'/>
<id>urn:sha1:9832e155f1ed3030fdfaa19e72c06472dc2ecb1d</id>
<content type='text'>
The media device node is registered and so made visible to user-space
before entities are registered and links created which means that the
media graph obtained by user-space could be only partially enumerated
if that happens too early before all the graph has been created.

To avoid this race condition, split the media init and registration
in separate functions and only register the media device node when
all the pending subdevices have been registered, either explicitly
by the driver or asynchronously using v4l2_async_register_subdev().

The media_device_register() had a check for drivers not filling dev
and model fields but all drivers in mainline set them and not doing
it will be a driver bug so change the function return to void and
add a BUG_ON() for dev being NULL instead.

Also, add a media_device_cleanup() function that will destroy the
graph_mutex that is initialized in media_device_init().

[mchehab@osg.samsung.com: Fix compilation if !CONFIG_MEDIA_CONTROLLER
 and remove two warnings added by this changeset]
Suggested-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Signed-off-by: Javier Martinez Canillas &lt;javier@osg.samsung.com&gt;
Acked-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] uvcvideo: register entity subdev on init</title>
<updated>2016-01-11T14:19:09Z</updated>
<author>
<name>Javier Martinez Canillas</name>
</author>
<published>2015-12-11T17:16:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1cb2f6f4b1652ad4e19894a4b4b82b0c2ea8a4b6'/>
<id>urn:sha1:1cb2f6f4b1652ad4e19894a4b4b82b0c2ea8a4b6</id>
<content type='text'>
The uvc_mc_register_entities() function iterated over the entities three
times to initialize the entities, register the subdev for the ones whose
type was UVC_TT_STREAMING and to create the entities links.

But this can be simplied by merging the init and registration logic in a
single loop.

Suggested-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Javier Martinez Canillas &lt;javier@osg.samsung.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] uvcvideo: remove pads prefix from uvc_mc_create_pads_links()</title>
<updated>2016-01-11T14:19:09Z</updated>
<author>
<name>Javier Martinez Canillas</name>
</author>
<published>2015-12-11T17:16:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=552faf4c083d8e86c6d86160ae3da0412280f690'/>
<id>urn:sha1:552faf4c083d8e86c6d86160ae3da0412280f690</id>
<content type='text'>
The function uvc_mc_create_pads_links() creates entities links but the
"pads" prefix is redundant since the driver doesn't handle any other
kind of link, so it can be removed.

Suggested-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Javier Martinez Canillas &lt;javier@osg.samsung.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] media framework: rename pads init function to media_entity_pads_init()</title>
<updated>2016-01-11T14:19:03Z</updated>
<author>
<name>Mauro Carvalho Chehab</name>
</author>
<published>2015-12-11T09:44:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ab22e77cd3d3073c8cac51b59713ef635678dfbe'/>
<id>urn:sha1:ab22e77cd3d3073c8cac51b59713ef635678dfbe</id>
<content type='text'>
With the MC next gen rework, what's left for media_entity_init()
is to just initialize the PADs. However, certain devices, like
a FLASH led/light doesn't have any input or output PAD.

So, there's no reason why calling media_entity_init() would be
mandatory. Also, despite its name, what this function actually
does is to initialize the PADs data. So, rename it to
media_entity_pads_init() in order to reflect that.

The media entity actual init happens during entity register,
at media_device_register_entity(). We should move init of
num_links and num_backlinks to it.

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] uvcvideo: create pad links after subdev registration</title>
<updated>2016-01-11T14:18:46Z</updated>
<author>
<name>Javier Martinez Canillas</name>
</author>
<published>2015-09-03T11:46:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c5a98cac6ecd78ca647c41cb25e3ea1835579d70'/>
<id>urn:sha1:c5a98cac6ecd78ca647c41cb25e3ea1835579d70</id>
<content type='text'>
The uvc driver creates the pads links before the media entity is
registered with the media device. This doesn't work now that obj
IDs are used to create links so the media_device has to be set.

Move entities registration logic before pads links creation.

Signed-off-by: Javier Martinez Canillas &lt;javier@osg.samsung.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] media: rename the function that create pad links</title>
<updated>2016-01-11T14:18:43Z</updated>
<author>
<name>Mauro Carvalho Chehab</name>
</author>
<published>2015-08-07T11:14:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8df00a15817e3a252510ac914870214859325189'/>
<id>urn:sha1:8df00a15817e3a252510ac914870214859325189</id>
<content type='text'>
With the new API, a link can be either between two PADs or between an interface
and an entity. So, we need to use a better name for the function that create
links between two pads.

So, rename the such function to media_create_pad_link().

No functional changes.

This patch was created via this shell script:
	for i in $(find drivers/media -name '*.[ch]' -type f) $(find drivers/staging/media -name '*.[ch]' -type f) $(find include/ -name '*.h' -type f) ; do sed s,media_entity_create_link,media_create_pad_link,g &lt;$i &gt;a &amp;&amp; mv a $i; done

Acked-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Tested-by: Javier Martinez Canillas &lt;javier@osg.samsung.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] media: get rid of unused "extra_links" param on media_entity_init()</title>
<updated>2016-01-11T14:18:39Z</updated>
<author>
<name>Mauro Carvalho Chehab</name>
</author>
<published>2015-08-06T12:25:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1809510715c4187fa7338204cac53e30326d5d04'/>
<id>urn:sha1:1809510715c4187fa7338204cac53e30326d5d04</id>
<content type='text'>
Currently, media_entity_init() creates an array with the links,
allocated at init time. It provides a parameter (extra_links)
that would allocate more links than the current needs, but this
is not used by any driver.

As we want to be able to do dynamic link allocation/removal,
we'll need to change the implementation of the links. So,
before doing that, let's first remove that extra unused
parameter, in order to cleanup the interface first.

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
Acked-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] uvcvideo: small cleanup in uvc_video_clock_update()</title>
<updated>2015-12-18T17:21:35Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2015-10-22T09:09:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0aff8a894a2be4c22e6414db33061153a4b35bc9'/>
<id>urn:sha1:0aff8a894a2be4c22e6414db33061153a4b35bc9</id>
<content type='text'>
Smatch is not smart enough to see that "&amp;stream-&gt;clock.lock" and
"&amp;clock-&gt;lock" are the same thing so it complains about the locking
here.  Let's make it more consistent.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] uvcvideo: Fix reading the current exposure value of UVC</title>
<updated>2015-12-18T17:21:34Z</updated>
<author>
<name>Anton V. Shokurov</name>
</author>
<published>2015-10-18T21:01:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1ab8c3fc750321726313b222230343de897744b1'/>
<id>urn:sha1:1ab8c3fc750321726313b222230343de897744b1</id>
<content type='text'>
V4L2_CID_EXPOSURE_ABSOLUTE property does not return an updated value when
autoexposure (V4L2_CID_EXPOSURE_AUTO) is turned on. This patch fixes this
issue by adding the UVC_CTRL_FLAG_AUTO_UPDATE flag.

Tested on a C920 camera.

Signed-off-by: Anton V. Shokurov &lt;shokurov.anton.v@yandex.ru&gt;
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] media: videobuf2: Move timestamp to vb2_buffer</title>
<updated>2015-12-18T15:53:31Z</updated>
<author>
<name>Junghak Sung</name>
</author>
<published>2015-11-03T10:16:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d6dd645eae76eeb42cb47d9da69cd3f56b3f2cb6'/>
<id>urn:sha1:d6dd645eae76eeb42cb47d9da69cd3f56b3f2cb6</id>
<content type='text'>
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 &lt;jh1009.sung@samsung.com&gt;
Signed-off-by: Geunyoung Kim &lt;nenggun.kim@samsung.com&gt;
Acked-by: Seung-Woo Kim &lt;sw0312.kim@samsung.com&gt;
Acked-by: Inki Dae &lt;inki.dae@samsung.com&gt;
Signed-off-by: Hans Verkuil &lt;hansverk@cisco.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
</feed>
