Re: [PATCH 1/5] mtd: nand: omap2: Support parsing dma channel information from DT
From: Franklin S Cooper Jr. <hidden>
Date: 2015-10-14 13:27:26
Also in:
linux-omap, lkml
On 10/14/2015 06:52 AM, Roger Quadros wrote:
Franklin, On 14/10/15 14:36, Roger Quadros wrote:quoted
On 13/10/15 04:38, Franklin S Cooper Jr wrote:quoted
Switch from dma_request_channel to allow passing dma channel information from DT rather than hardcoding a value. Signed-off-by: Franklin S Cooper Jr <redacted>Acked-by: Roger Quadros <redacted>quoted
--- drivers/mtd/nand/omap2.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c index d0f2620..957c32f 100644 --- a/drivers/mtd/nand/omap2.c +++ b/drivers/mtd/nand/omap2.c@@ -1866,7 +1866,9 @@ static int omap_nand_probe(struct platform_device *pdev) dma_cap_zero(mask); dma_cap_set(DMA_SLAVE, mask); sig = OMAP24XX_DMA_GPMC; - info->dma = dma_request_channel(mask, omap_dma_filter_fn, &sig); + info->dma = dma_request_slave_channel_compat(mask, + omap_dma_filter_fn, &sig, pdev->dev.parent, "rxtx"); +Just discovered that you are using the parent device node. How about moving the dma bindings to the nand node instead and using pdev->dev here?
Roger,
From what I can tell the interrupt number and the dma channel will always be
the same no matter what. Doesn't matter if you have multiple nands or a combination of nands and nors. Since that is the case I think it just makes sense to leave it in the gpmc parent node and define it once.
quoted
quoted
if (!info->dma) { dev_err(&pdev->dev, "DMA engine request failed\n"); err = -ENXIO;cheers, -roger