On 08/24/2015 02:31 AM, Zhao Qiang wrote:
Bytes alignment is required to manage some special RAM,
so add gen_pool_first_fit_align to genalloc,
meanwhile add gen_pool_alloc_data to pass data to
gen_pool_first_fit_align(modify gen_pool_alloc as a wrapper)

Signed-off-by: Zhao Qiang <qiang.z...@freescale.com>
---
Changes for v6:
        - patches set v6 include a new patch because of using
        - genalloc to manage QE MURAM, patch 0001 is the new
        - patch, adding bytes alignment for allocation for use.

  include/linux/genalloc.h | 23 +++++++++++++++----
  lib/genalloc.c           | 58 +++++++++++++++++++++++++++++++++++++++++++-----
  2 files changed, 72 insertions(+), 9 deletions(-)

diff --git a/include/linux/genalloc.h b/include/linux/genalloc.h
index 1ccaab4..55da07e 100644
--- a/include/linux/genalloc.h
+++ b/include/linux/genalloc.h
@@ -34,6 +34,7 @@

  struct device;
  struct device_node;
+struct gen_pool;

  /**
   * Allocation callback function type definition
@@ -47,7 +48,7 @@ typedef unsigned long (*genpool_algo_t)(unsigned long *map,
                        unsigned long size,
                        unsigned long start,
                        unsigned int nr,
-                       void *data);
+                       void *data, struct gen_pool *pool);

  /*
   *  General purpose special memory pool descriptor.
@@ -73,6 +74,13 @@ struct gen_pool_chunk {
        unsigned long bits[0];          /* bitmap for allocating memory chunk */
  };

+/*
+ *  gen_pool data descriptor for gen_pool_first_fit_align.
+ */
+struct genpool_data_align {
+       int align;              /* alignment by bytes for starting address */
+};
+

(sorry for chiming in late, I've been traveling)

Is there an advantage here to wrapping this in a structure instead of just
passing a pointer to an align integer?

Thanks,
Laura

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to