|
@@ -470,9 +470,17 @@ static int ksz9031_config_init(struct phy_device *phydev)
|
|
|
"txd2-skew-ps", "txd3-skew-ps"
|
|
|
};
|
|
|
static const char *control_skews[2] = {"txen-skew-ps", "rxdv-skew-ps"};
|
|
|
+ const struct device *dev_walker;
|
|
|
|
|
|
- if (!of_node && dev->parent->of_node)
|
|
|
- of_node = dev->parent->of_node;
|
|
|
+ /* The Micrel driver has a deprecated option to place phy OF
|
|
|
+ * properties in the MAC node. Walk up the tree of devices to
|
|
|
+ * find a device with an OF node.
|
|
|
+ */
|
|
|
+ dev_walker = &phydev->dev;
|
|
|
+ do {
|
|
|
+ of_node = dev_walker->of_node;
|
|
|
+ dev_walker = dev_walker->parent;
|
|
|
+ } while (!of_node && dev_walker);
|
|
|
|
|
|
if (of_node) {
|
|
|
ksz9031_of_load_skew_values(phydev, of_node,
|