One minor comment:
<snip>
struct snd_compr_ops *ops;I don't think it is necessary to encode the type inside the name variable
+ struct snd_dma_buffer *dma_buffer_p;
So, dma_buffer would sounds better to me then dma_buffer_p;
void *buffer;It is also consistent with this ^
<snip>
+static inline void snd_compr_set_runtime_buffer(Also buf instead of bufp here.
+ struct snd_compr_stream *substream,
+ struct snd_dma_buffer *bufp)