Re: [PATCH v5 07/11] dmaengine: sun6i: Retrieve channel count/max request from devicetree

From: Vinod Koul
Date: Mon Oct 23 2017 - 02:10:59 EST


On Tue, Oct 17, 2017 at 01:06:34AM +0200, Stefan Brüns wrote:
> To avoid introduction of a new compatible for each small SoC/DMA controller
> variation, move the definition of the channel count to the devicetree.
>
> The number of vchans is no longer explicit, but limited by the highest
> port/DMA request number. The result is a slight overallocation for SoCs
> with a sparse port mapping.

Applied, thanks. But ...


> static int sun6i_dma_probe(struct platform_device *pdev)
> {
> + struct device_node *np = pdev->dev.of_node;
> struct sun6i_dma_dev *sdc;
> struct resource *res;
> int ret, i;
> @@ -1228,6 +1233,26 @@ static int sun6i_dma_probe(struct platform_device *pdev)
> sdc->num_vchans = sdc->cfg->nr_max_vchans;
> sdc->max_request = sdc->cfg->nr_max_requests;
>
> + ret = of_property_read_u32(np, "dma-channels", &sdc->num_pchans);
> + if (ret && !sdc->num_pchans) {
> + dev_err(&pdev->dev, "Can't get dma-channels.\n");
> + return ret;
> + }

... we should probably use device_read_xxx calls instead of of_xxx

--
~Vinod