From mboxrd@z Thu Jan 1 00:00:00 1970 From: akpm@linux-foundation.org (Andrew Morton) Date: Thu, 17 Jul 2014 15:06:15 -0700 Subject: [PATCH] CMA: generalize CMA reserved area management functionality (fixup) In-Reply-To: <1405589767-17513-1-git-send-email-m.szyprowski@samsung.com> References: <53C78ED7.7030002@samsung.com> <1405589767-17513-1-git-send-email-m.szyprowski@samsung.com> Message-ID: <20140717150615.32c48786b6bdbc880bdc5ed4@linux-foundation.org> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu, 17 Jul 2014 11:36:07 +0200 Marek Szyprowski wrote: > MAX_CMA_AREAS is used by other subsystems (i.e. arch/arm/mm/dma-mapping.c), > so we need to provide correct definition even if CMA is disabled. > This patch fixes this issue. > > Reported-by: Sylwester Nawrocki > Signed-off-by: Marek Szyprowski > --- > include/linux/cma.h | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/include/linux/cma.h b/include/linux/cma.h > index 9a18a2b1934c..c077635cad76 100644 > --- a/include/linux/cma.h > +++ b/include/linux/cma.h > @@ -5,7 +5,11 @@ > * There is always at least global CMA area and a few optional > * areas configured in kernel .config. > */ > +#ifdef CONFIG_CMA > #define MAX_CMA_AREAS (1 + CONFIG_CMA_AREAS) > +#else > +#define MAX_CMA_AREAS (0) > +#endif > > struct cma; Joonsoo already fixed this up, a bit differently: http://ozlabs.org/~akpm/mmots/broken-out/cma-generalize-cma-reserved-area-management-functionality-fix.patch Which approach makes more sense? From: Joonsoo Kim Subject: CMA: fix ARM build failure related to MAX_CMA_AREAS definition If CMA is disabled, CONFIG_CMA_AREAS isn't defined so compile error happens. To fix it, define MAX_CMA_AREAS if CONFIG_CMA_AREAS isn't defined. Signed-off-by: Joonsoo Kim Reported-by: Stephen Rothwell Signed-off-by: Andrew Morton --- include/linux/cma.h | 6 ++++++ 1 file changed, 6 insertions(+) diff -puN include/linux/cma.h~cma-generalize-cma-reserved-area-management-functionality-fix include/linux/cma.h --- a/include/linux/cma.h~cma-generalize-cma-reserved-area-management-functionality-fix +++ a/include/linux/cma.h @@ -5,8 +5,14 @@ * There is always at least global CMA area and a few optional * areas configured in kernel .config. */ +#ifdef CONFIG_CMA_AREAS #define MAX_CMA_AREAS (1 + CONFIG_CMA_AREAS) +#else +#define MAX_CMA_AREAS (0) + +#endif + struct cma; extern phys_addr_t cma_get_base(struct cma *cma); _