/* This gives us the DMA request input to the PL08x primecell which the peripheral described by the channel data will be routed to, possibly via a board/SoC specific external MUX. One important point to note here is that this does not depend on the physical channel.  */
static int pl08x_request_mux(struct pl08x_dma_chan *plchan)
/* This gives us the DMA request input to the PL08x primecell which the peripheral described by the channel data will be routed to, possibly via a board/SoC specific external MUX. One important point to note here is that this does not depend on the physical channel.  */
static int pl08x_request_mux(struct pl08x_dma_chan *plchan)
{
	const struct pl08x_platform_data *pd = plchan->host->pd;
	int ret;
	if (plchan->mux_use++ == 0 && pd->get_signal) {
		ret = pd->get_signal(plchan->cd);
		if (ret < 0) {
			plchan->mux_use = 0;
			return ret;
		}
		plchan->signal = ret;
	}
	return 0;
}