Thread (3 messages) flat view 3 messages, 3 authors, 2007-09-13

Re: [PATCH 5/5] Add DMA engine driver for Freescale MPC85xxprocessors.

From: Scott Wood <hidden>
Date: 2007-09-13 14:49:40
Also in: lkml

On Thu, Sep 13, 2007 at 03:13:06AM -0700, Zhang Wei-r63237 wrote:
quoted
After dropping the lock, you can no longer assume that your 
iterator is
still valid; you need to work off of the list head.
list_for_each_entry_safe() is used here. I think the safe should be ok.
:P
Nope.  The safety is against the particular item you're iterating on
being removed; it doesn't protect against the *next* entry being removed
when you drop the lock.
quoted
Why not use an array of channels?
The list is used in dma engine core file. And it's possible that there
are not all channel listed in dts and array.
I'm not sure I understand what you mean by the latter comment...
quoted
You could have the features be part of the match struct, so 
you don't have
to do extra strcmps.
Can I use the data field of struct of_device_id?
Yes, that's what it's there for. :-)
quoted
quoted
+static struct of_device_id of_fsl_dma_ids[] = {
+	{ .compatible = "fsl,dma", },
+};
Why do we need to bind to the parent node at all?
Yes, the MPC83xx should get interrupt source from DMA device register.
You don't need to bind to it for that, though -- just call of_get_parent
from the channel probe.  Though it might be easier to bind to the parent
to ensure that you only register the IRQ once.

-Scott
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help