On Fri, 2012-10-12 at 20:01 +0530, Viresh Kumar wrote:

> diff --git a/drivers/dma/dw_dmac.c b/drivers/dma/dw_dmac.c

> @@ -1179,6 +1179,53 @@ static void dwc_free_chan_resources(struct dma_chan 
> *chan)
>       dev_vdbg(chan2dev(chan), "%s: done\n", __func__);
>  }
>  
> +bool dw_dma_generic_filter(struct dma_chan *chan, void *param)
> +{
> +     struct dw_dma *dw = to_dw_dma(chan->device);
> +     static struct dw_dma *last_dw;
> +     static char *last_bus_id;
> +     int i = -1;
> +
> +     /*
> +      * dmaengine framework calls this routine for all channels of all dma
> +      * controller, until true is returned. If 'param' bus_id is not
> +      * registered with a dma controller (dw), then there is no need of
> +      * running below function for all channels of dw.
> +      *
> +      * This block of code does this by saving the parameters of last
> +      * failure. If dw and param are same, i.e. trying on same dw with
> +      * different channel, return false.
> +      */
> +     if (last_dw) {
> +             if ((last_bus_id == param) && (last_dw == dw))
> +                     return false;
> +     }
Just came to my mind.
dw can't be NULL, can't it?
Then
if (last_dw) {
...
}
is unneeded.

Please, check twice my thought because it's a Friday evening.

> @@ -1462,6 +1509,91 @@ static void dw_dma_off(struct dw_dma *dw)
>               dw->chan[i].initialized = false;
>  }
>  
> +#ifdef CONFIG_OF
> +static struct dw_dma_platform_data *
> +__devinit dw_dma_parse_dt(struct platform_device *pdev)
> +{
> +     struct device_node *sn, *cn, *np = pdev->dev.of_node;
> +     struct dw_dma_platform_data *pdata;
> +     struct dw_dma_slave *sd;
> +     u32 val, arr[4];
Let me weekend to think about naming. I really can't offer anything else
right now.


-- 
Andy Shevchenko <andriy.shevche...@linux.intel.com>
Intel Finland Oy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to