diff options
author | David S. Miller <davem@davemloft.net> | 2016-04-29 13:39:04 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-04-29 13:39:04 -0400 |
commit | 482f13aa5e13819acad0ff4fb94f6fb0364522f0 (patch) | |
tree | 6838d4b6ac3c28807d65d59e42250b537e366f05 /drivers | |
parent | 494e8489db50157637d146ee377991ed6f0018f1 (diff) | |
parent | ea991027efcb2acf801633190bc2f35ad1eb78c2 (diff) |
Merge branch 'hns-props'
Yisen Zhuang says:
====================
net: hns: update DT properties according to Rob's comments
There are some inappropriate properties definition in hns DT. We
update the definition according to Rob's review comments and fix some
typos in binding.
For more details, please see individual patches.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c index 1c8fdd316ca0..611581fccf2a 100644 --- a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c +++ b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c @@ -647,6 +647,7 @@ static int hns_mac_get_info(struct hns_mac_cb *mac_cb) { struct device_node *np = mac_cb->dev->of_node; struct regmap *syscon; + struct of_phandle_args cpld_args; u32 ret; mac_cb->link = false; @@ -713,22 +714,23 @@ static int hns_mac_get_info(struct hns_mac_cb *mac_cb) mac_cb->mac_id); } - syscon = syscon_node_to_regmap( - of_parse_phandle(to_of_node(mac_cb->fw_port), - "cpld-syscon", 0)); - if (IS_ERR_OR_NULL(syscon)) { - dev_dbg(mac_cb->dev, "no cpld-syscon found!\n"); + ret = of_parse_phandle_with_fixed_args(to_of_node(mac_cb->fw_port), + "cpld-syscon", 1, 0, &cpld_args); + if (ret) { + dev_dbg(mac_cb->dev, "mac%d no cpld-syscon found.\n", + mac_cb->mac_id); mac_cb->cpld_ctrl = NULL; } else { - mac_cb->cpld_ctrl = syscon; - ret = fwnode_property_read_u32(mac_cb->fw_port, - "cpld-ctrl-reg", - &mac_cb->cpld_ctrl_reg); - if (ret) { - dev_err(mac_cb->dev, "get cpld-ctrl-reg fail!\n"); - return ret; + syscon = syscon_node_to_regmap(cpld_args.np); + if (IS_ERR_OR_NULL(syscon)) { + dev_dbg(mac_cb->dev, "no cpld-syscon found!\n"); + mac_cb->cpld_ctrl = NULL; + } else { + mac_cb->cpld_ctrl = syscon; + mac_cb->cpld_ctrl_reg = cpld_args.args[0]; } } + return 0; } @@ -832,15 +834,15 @@ int hns_mac_init(struct dsaf_device *dsaf_dev) struct fwnode_handle *child; device_for_each_child_node(dsaf_dev->dev, child) { - ret = fwnode_property_read_u32(child, "port-id", &port_id); + ret = fwnode_property_read_u32(child, "reg", &port_id); if (ret) { dev_err(dsaf_dev->dev, - "get port-id fail, ret=%d!\n", ret); + "get reg fail, ret=%d!\n", ret); return ret; } if (port_id >= max_port_num) { dev_err(dsaf_dev->dev, - "port-id(%u) out of range!\n", port_id); + "reg(%u) out of range!\n", port_id); return -EINVAL; } mac_cb = devm_kzalloc(dsaf_dev->dev, sizeof(*mac_cb), |