[alsa-devel] [PATCH 2/4] DMA: PL330: Register the DMA controller with the generic DMA helpers

Arnd Bergmann arnd at arndb.de
Mon Jan 28 19:01:13 CET 2013


On Monday 28 January 2013, Jon Hunter wrote:
> On 01/28/2013 08:51 AM, Arnd Bergmann wrote:
> > On Friday 18 January 2013, Padmavathi Venna wrote:
> >> +       pfi = devm_kzalloc(&adev->dev, sizeof(*pfi), GFP_KERNEL);
> >> +       if (!pfi) {
> >> +               dev_err(&adev->dev, "unable to allocate mem\n");
> >> +               return -ENOMEM;
> >> +       }
> >> +
> >> +       pfi->dma_cap = pd->cap_mask;
> >> +       pfi->filter_fn = pl330_filter;
> >> +
> >> +       ret = of_dma_controller_register(adev->dev.of_node,
> >> +                                        of_dma_pl330_xlate, pfi);
> > 
> > Why do you pass a 'struct of_dma_filter_info' here? I would
> > expect that you pass the pdmac object as the third argument.
> 
> I believe it is because that is the data that the xlate function is
> using. Are you suggesting the data should be stored in the pdmac object
> and extracted from there? That could be done too given that this
> controller has its own xlate.

It just seems weird that we are passing a constant cap_mask in
a data structure, and that we need our own filter function still,
but don't pass the pointer to the data structure that we actually
need in the filter function (the dma_device *).

	Arnd


More information about the Alsa-devel mailing list