I know, I did said that I did not liked for spi consumers to have to explicitly call something like spi_offload_get() but I guess I have been proved wrong :). We can also try to be smart about it as an explicit get is only needed (likely) in the above scenario (or maybe we can even do it directly in the spi core during spi_probe()). Or maybe it's not worth it to play smart and just let consumers do it (that's the typical pattern anyways). Having said the above, I still think your current proposal for triggers and getting DMA streams is valid for the above usecase. FWIW, I'm also trying to understand with the HW guys why the hell can't we just use the spi_engine controller for everything. But the whole discussion is already showing us that we may need more flexibility. Thanks! - Nuno Sá