Re: [PATCH] dmaengine: xilinx: Add empty device_config function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 16-07-21, 20:22, Marek Vasut wrote:
> Various DMA users call the dmaengine_slave_config() and expect it to
> succeed, but that can only succeed if .device_config is implemented.
> Add empty device_config function rather than patching all the places
> which use dmaengine_slave_config().

.device_config is optional, Yes the dmaengine_slave_config() will check
and return error...

I think it would make sense to handle this in caller... (ignore
ENOSYS..) rather than add a dummy one

> 
> Signed-off-by: Marek Vasut <marex@xxxxxxx>
> Cc: Akinobu Mita <akinobu.mita@xxxxxxxxx>
> Cc: Kedareswara rao Appana <appana.durga.rao@xxxxxxxxxx>
> Cc: Michal Simek <monstr@xxxxxxxxx>
> Cc: Vinod Koul <vinod.koul@xxxxxxxxx>

ummm..? you really need to update this :)

> ---
>  drivers/dma/xilinx/xilinx_dma.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/drivers/dma/xilinx/xilinx_dma.c b/drivers/dma/xilinx/xilinx_dma.c
> index 4b9530a7bf65..d6f4bf0d50e8 100644
> --- a/drivers/dma/xilinx/xilinx_dma.c
> +++ b/drivers/dma/xilinx/xilinx_dma.c
> @@ -1658,6 +1658,17 @@ static void xilinx_dma_issue_pending(struct dma_chan *dchan)
>  	spin_unlock_irqrestore(&chan->lock, flags);
>  }
>  
> +/**
> + * xilinx_dma_issue_pending - Configure the DMA channel
> + * @dchan: DMA channel
> + * @config: channel configuration
> + */
> +static int xilinx_dma_device_config(struct dma_chan *dchan,
> +				    struct dma_slave_config *config)
> +{
> +	return 0;
> +}
> +
>  /**
>   * xilinx_dma_complete_descriptor - Mark the active descriptor as complete
>   * @chan : xilinx DMA channel
> @@ -3096,6 +3107,7 @@ static int xilinx_dma_probe(struct platform_device *pdev)
>  	xdev->common.device_synchronize = xilinx_dma_synchronize;
>  	xdev->common.device_tx_status = xilinx_dma_tx_status;
>  	xdev->common.device_issue_pending = xilinx_dma_issue_pending;
> +	xdev->common.device_config = xilinx_dma_device_config;
>  	if (xdev->dma_config->dmatype == XDMA_TYPE_AXIDMA) {
>  		dma_cap_set(DMA_CYCLIC, xdev->common.cap_mask);
>  		xdev->common.device_prep_slave_sg = xilinx_dma_prep_slave_sg;
> -- 
> 2.30.2

-- 
~Vinod



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux