This and the previous one seem very much duplicated boilerplatecode. Why can't just normal branches for allocating and freeingnormal pages vs cma? We even have an existing helper for thatwith dma_alloc_contiguous().