Re: SoCFPGA ethernet broken

From: David Daney
Date: Fri Oct 16 2015 - 16:24:32 EST


On 10/16/2015 12:38 PM, Andrew Lunn wrote:
Maybe we need to walk up the hierarchy.

Perhaps something like:

const struct device *dev_walker;

dev_walker = &phydev->dev;
do {
of_node = dev_walker->of_node;
dev_walker = dev_walker->parent;
} while (!of_node && dev_walker);


The above code seems to have fixed the issue.

What i don't like about this is that it allows you to put these
properties in the mdio device node. These are phy properties, not mdio
properties....

Yes, we know that the device tree is not correctly formed.

You have a choice:

A) Fix the device tree and any code that may have to change to work with a good device tree.

B) Change the code to work with the screwy existing device tree. The above seems to work, other things may also be possible.

I can't really make any decisions as to what the best way to proceed is, as I neither have the hardware in question, nor the time to work on it.

David Daney


If phydev->attached_dev->dev->of_node works, that would be my
preference.

Andrew


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/