/* Return - The descriptor allocated. NULL for failed.  */
static struct fsl_desc_sw* fsl_dma_alloc_descriptor(struct fsl_dma_chan *fsl_chan)
/* Return - The descriptor allocated. NULL for failed.  */
static struct fsl_desc_sw* fsl_dma_alloc_descriptor(struct fsl_dma_chan *fsl_chan)
{
	dma_addr_t pdesc;
	struct fsl_desc_sw *desc_sw;
	desc_sw = dma_pool_alloc(fsl_chan->desc_pool, GFP_ATOMIC, &pdesc);
	if (desc_sw) {
		memset(desc_sw, 0, sizeof(struct fsl_desc_sw));
		INIT_LIST_HEAD(&desc_sw->tx_list);
		dma_async_tx_descriptor_init(&desc_sw->async_tx,
						&fsl_chan->common);
		desc_sw->async_tx.tx_submit = fsl_dma_tx_submit;
		desc_sw->async_tx.phys = pdesc;
	}
	return desc_sw;
}