On Fri, Feb 03, 2012 at 12:59:33AM -0800, Kuninori Morimoto wrote:
+static void fsi_dma_do_tasklet(unsigned long data) +{
So, we're getting more and more drivers converted over to dmaengine (I've CCed a random selection of people working on relevant drivers and Vinod). This means we're getting a bunch of drivers that talk to the ALSA API on the top and the dmaengine API on the bottom and seem to need to implement very similar code patterns (like this tasklet to push the DMA through). This feels like we need some sort of abstraction to factor out some code here, either library code or perhaps a framework driver with callbacks that fill in the platform specifics - if the APIs are providing useful abstractions then presumably a large part of this is just translating between them.
If that's not doable then what are the problems?