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 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html