OSDN Git Service

android: fix gralloc_handle_create() problems
authorRob Herring <robh@kernel.org>
Wed, 14 Feb 2018 23:03:56 +0000 (17:03 -0600)
committerRob Herring <robh@kernel.org>
Tue, 20 Feb 2018 20:16:16 +0000 (14:16 -0600)
commit009634e493097afae95d190fc26cb04a1664648a
tree8e5468b77042927212373bcd45abcb458fc5e90a
parent86c62e49c81eb56200ec72936462a9a8629d7d1d
android: fix gralloc_handle_create() problems

There's a number of problems with gralloc_handle_create starting with it
doesn't even compile. More importantly, it doesn't really create (i.e.
allocate) a handle. It allocates a native_handle_t, copies it to a
struct gralloc_handle_t on the stack and returns the struct (not a ptr).
So the caller still has to allocate a struct gralloc_handle_t to hold
the returned struct.

Rework gralloc_handle_create() to allocate a new handle and return the
pointer to the allocated handle. Callers should free the handle with
native_handle_close() and native_handle_delete(). In the interest of
making gralloc_handle_t opaque, return a native_handle_t ptr instead.

Reviewed-by: Robert Foss <robert.foss@collabora.com>
Signed-off-by: Rob Herring <robh@kernel.org>
android/gralloc_handle.h