[EMAIL PROTECTED] wrote: > Yea, that works! I hit the probe function. Thanks very much Timur. I > would never have found that.
I'm glad to help. > Experimentally, I've found that I don't need the "simple-bus" > compatibility in the of_device_id array in the Elo DMA driver. Any idea > why? Not off-hand. > Thanks again for all the help. If you've got some time, could you explain > why adding the "simple-bus" compatibility to the SOC node of the device > tree was needed. I _still_ (after fighting with them for over a year) > don't get device trees. The 'compatible' field is usually the field used to find a node. Also, I believe the OF code only probes nodes one level deep from a node it already knows about. So if you don't have a compatible=simple-bus where it belongs, then the kernel won't automatically probe all nodes under it. However, certain standard nodes, like I2C and serial ports, are probed independently of where they are located. This happens in fsl_soc.c. I could have updated fsl_soc.c to automatically probe the DMA nodes as well, but fsl_soc.c is reserved for devices that have architecture-independent drivers, so something needs to extract the data from the device tree and put it into arch-independent platform data structures for the drivers. Since the DMA driver is powerpc-only, it doesn't qualify for this service. The driver has to extract all the information it needs directly from the device tree. -- Timur Tabi Linux kernel developer at Freescale _______________________________________________ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded