Re: [PATCH] dw_dmac: absence of pdata isn't critical when autocfg is set

From: viresh kumar
Date: Mon Nov 12 2012 - 08:54:39 EST


On Mon, Nov 12, 2012 at 4:53 PM, Andy Shevchenko
<andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:
> diff --git a/drivers/dma/dw_dmac.c b/drivers/dma/dw_dmac.c

> static int __devinit dw_probe(struct platform_device *pdev)
> {
> struct dw_dma_platform_data *pdata;
> @@ -1604,9 +1610,6 @@ static int __devinit dw_probe(struct platform_device *pdev)
> if (!pdata)
> pdata = dw_dma_parse_dt(pdev);
>
> - if (!pdata || pdata->nr_channels > DW_DMA_MAX_NR_CHANNELS)
> - return -EINVAL;
> -
> io = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> if (!io)
> return -EINVAL;
> @@ -1622,6 +1625,12 @@ static int __devinit dw_probe(struct platform_device *pdev)
> dw_params = dma_read_byaddr(regs, DW_PARAMS);
> autocfg = dw_params >> DW_PARAMS_EN & 0x1;
>
> + if (!pdata && autocfg)
> + pdata = &dw_dma_pdata;

Allocate it dynamically to support multiple controllers with different
configuration
in a SoC.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/