summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2016-04-29 13:39:04 -0400
committerDavid S. Miller <davem@davemloft.net>2016-04-29 13:39:04 -0400
commit482f13aa5e13819acad0ff4fb94f6fb0364522f0 (patch)
tree6838d4b6ac3c28807d65d59e42250b537e366f05 /drivers
parent494e8489db50157637d146ee377991ed6f0018f1 (diff)
parentea991027efcb2acf801633190bc2f35ad1eb78c2 (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.c32
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),