Maxime, On Mon, 20 Jul 2015 10:41:32 +0200, Maxime Ripard wrote: > /** > + * enum dmaengine_alignment - defines alignment of the DMA async tx > + * buffers > + */ > +enum dmaengine_alignment { > + DMAENGINE_ALIGN_1_BYTE = 0, > + DMAENGINE_ALIGN_2_BYTES = 1, > + DMAENGINE_ALIGN_4_BYTES = 2, > + DMAENGINE_ALIGN_8_BYTES = 3, > + DMAENGINE_ALIGN_16_BYTES = 4, > + DMAENGINE_ALIGN_32_BYTES = 5, > + DMAENGINE_ALIGN_64_BYTES = 6, > +}; Sorry I didn't think about this during the first iteration, but this define is just the log2 of the values, no? So maybe you could simply do something like: static inline unsigned int dmaengine_alignment(size_t bytes) { return ilog2(bytes); } Best regards, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html