staging: bcm2835-camera: Allocate context once per buffer
The struct mmal_msg_context was being allocated for every message
being sent to the VPU, and freed when it came back. Whilst that is
required behaviour for some messages (mainly the synchronous ones), it
is wasteful for the video buffers that make up the majority of the
traffic.
Add to the buffer_init/cleanup hooks that it allocates/frees the
msg_context required.
v2: changes by anholt from the downstream tree: clean up indentation,
pass an error value through, forward-declare the struct so we have
less void *
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>