On Mon, 20 Apr 2009 14:59:28 -0700, Dan Williams <dan.j.williams@xxxxxxxxx> wrote: > >> There seems to be a lot of ifdef magic in the code based on these > >> defines. Can we move this magic and some of the pure definitions to > >> drivers/dma/txx9dmac.h? (See the "#ifdefs are ugly" section of > >> Documentation/SubmittingPatches) > > OK, I will try to clean them up. But since I don't want to export > > internal implementation details, some of the magics will be left in > > txx9dmac.c, perhaps. > > You only need to hide txx9dmac magic if the header was in > include/linux/, but since it will be in drivers/dma/ you can assume > it is private. Oh I missed that you said driver/dma/txx9dmac.h, not include/asm/txx9/dmac.h. OK, I will do. > > The completion callback handler of the first descriptor should be > > called _after_ the completion of the _last_ child of the descriptor. > > Also I use desc_node for both dc->queue, dc->active_list and > > txd.tx_list. So if I putted all children to dc->queue or > > dc->active_list, txx9dmac_descriptor_complete() (or its caller) will > > be more complex. > > Or do you mean adding another list_head to maintain txd.tx_list? Or > > something another at all? > > The piece I was missing was that it would make > txx9dmac_descriptor_complete() more complex. So, I am fine with the > leaving the current implementation. Thanks. I will add some comments about that. --- Atsushi Nemoto