@@ -47,6 +47,7 @@ struct ion_heap *ion_heap_create(struct ion_platform_heap *heap_data)
heap->name = heap_data->name;
heap->id = heap_data->id;
+ heap->priv = heap_data->priv;
return heap;
}
@@ -99,6 +99,7 @@ struct ion_heap_ops {
* allocating. These are specified by platform data and
* MUST be unique
* @name: used for debugging
+ * @priv: heap private data
*
* Represents a pool of memory from which buffers can be made. In some
* systems the only heap is regular system memory allocated via vmalloc.
@@ -112,6 +113,7 @@ struct ion_heap {
struct ion_heap_ops *ops;
int id;
const char *name;
+ void *priv;
};
/**
@@ -65,6 +65,7 @@ struct ion_buffer;
* @name: used for debug purposes
* @base: base address of heap in physical memory if applicable
* @size: size of the heap in bytes if applicable
+ * @priv: heap private data
*
* Provided by the board file.
*/
@@ -74,6 +75,7 @@ struct ion_platform_heap {
const char *name;
ion_phys_addr_t base;
size_t size;
+ void *priv;
};
/**
copy private field from platform configuration to internal heap structure. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org> --- drivers/gpu/ion/ion_heap.c | 1 + drivers/gpu/ion/ion_priv.h | 2 ++ include/linux/ion.h | 2 ++ 3 files changed, 5 insertions(+)