On Mon, 31 Aug 2015 17:02:38 +0200 Vlastimil Babka <[email protected]> wrote:
> >> +#define ZONE_TYPE \ > >> + IFDEF_ZONE_DMA( EM (ZONE_DMA, "DMA")) \ > >> + IFDEF_ZONE_DMA32( EM (ZONE_DMA32, "DMA32")) \ > >> + EM (ZONE_NORMAL, "Normal") \ > >> + IFDEF_ZONE_HIGHMEM( EM (ZONE_HIGHMEM,"HighMem")) \ > >> + EMe(ZONE_MOVABLE,"Movable") > >> + > > > > Hmm, have you tried to compile this with CONFIG_ZONE_HIGHMEM disabled, > > and CONFIG_ZONE_DMA and/or CONFIG_ZONE_DMA32 enabled? > > Yep, that's standard x86_64 situation (highmem disabled, dma+dma32 enabled). > > > The EMe() macro must come last, as it doesn't have the ending comma and > > the __print_symbolic() can fail to compile due to it. > > Thanks to ZONE_MOVABLE being unconditional, EMe(ZONE_MOVABLE...) is > always last. Otherwise the macros would get even more ugly... Ah! My mistake was to see where the end parenthesis of IFDEF_ZONE_HIGHMEM() laid. It looked to me that it encompassed ZONE_MOVABLE. But obviously it does not. -- Steve -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

