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