On Mon, 2018-11-05 at 16:11 -0800, Alexander Duyck wrote: +AD4 If we really don't care then why even bother with the switch statement +AD4 anyway? It seems like you could just do one ternary operator and be +AD4 done with it. Basically all you need is: +AD4 return (defined(CONFIG+AF8-ZONE+AF8-DMA) +ACYAJg (flags +ACY +AF8AXw-GFP+AF8-DMA)) ? KMALLOC+AF8-DMA : +AD4 (flags +ACY +AF8AXw-GFP+AF8-RECLAIMABLE) ? KMALLOC+AF8-RECLAIM : 0+ADs +AD4 +AD4 Why bother with all the extra complexity of the switch statement? I don't think that defined() can be used in a C expression. Hence the IS+AF8-ENABLED() macro. If you fix that, leave out four superfluous parentheses, test your patch, post that patch and cc me then I will add my Reviewed-by. Bart.