]> git.karo-electronics.de Git - karo-tx-linux.git/commit
[media] pwc: Replace private buffer management code with videobuf2
authorHans de Goede <hdegoede@redhat.com>
Mon, 6 Jun 2011 18:33:44 +0000 (15:33 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 7 Jul 2011 21:39:27 +0000 (18:39 -0300)
commiteb5eeb0500dc3ffd51e0fecef71150f9c3c4c97c
tree5211935b0ab6251b60748c65be7a59f4bb081907
parent17bbd82db8fba183e4d233460a0e0af1e9fc2672
[media] pwc: Replace private buffer management code with videobuf2

Looking at the pwc buffer management code has made it clear to me it needed
some serious fixing. Not only was there a ton of code duplication even
internally to pwc (read and mmap wait for frame code was duplicated), the
code also was outright buggy. With the worst offender being dqbuf, which
just round robin returned all the mmap buffers, without paying any attention
to them being queued by the app with qbuf or not. And qbuf itself was a noop.

So I set out to fix this and already had some cleanups in place when
I read Jonathan Corbet's lwn article on videobuf2, this inspired me to just
rip out the buffer management code and replace it with videobuf2, greatly
reducing the amount of code, and fixing all bugs in one go:

Many thanks to Jonathan for the timely article on this !

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/pwc/Kconfig
drivers/media/video/pwc/pwc-ctrl.c
drivers/media/video/pwc/pwc-if.c
drivers/media/video/pwc/pwc-misc.c
drivers/media/video/pwc/pwc-uncompress.c
drivers/media/video/pwc/pwc-v4l.c
drivers/media/video/pwc/pwc.h