On Tue, Apr 28, 2015 at 9:16 AM, Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> wrote: > > Hello > > I have an X86 platform with device tree support. It has multiple pci > slots with a custom board that is described with a device tree. > > When the pci device is probed, the driver fetches a device tree from > the firmware infrastructure, patches the range property based on the > bar address and adds the device to the main device tree. > > This works perfectly fine with only one card, but when the second card > is connected: Here be dragons :) > > The main issue is that of_find_node_by_phandle always resolves to the > first connected card. I fixed this by creating a new function. > of_find_node_by_phandle_family() that chooses the closest phandle on > the tree, not just the first one. > > By reading the "Dynamic Symbols support and fixup support" > here: > http://events.linuxfoundation.org/sites/events/files/slides/dynamic-dt-elce14.pdf > and here > https://lwn.net/Articles/616859/ > > It seemed that the patch would fix my issue and it would be already > merged, but I cannot find the patch here > https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git > or here > https://git.kernel.org/cgit/linux/kernel/git/jdl/dtc.git > > So I am wondering some stuff: > > Would a patch adding my of_find_node_by_phandle_family() would be accepted.? No, phandles must be unique. That's what phandles are; unique identifiers. :-) g. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html