syscon_regmap_lookup_by_phandle可以简化code

       
np_temp = of_parse_phandle(np, "subctrl-syscon", 0);
syscon = syscon_node_to_regmap(np_temp);

这两行code 可以用通过下面的这一行code简化
    eth->ethsys = syscon_regmap_lookup_by_phandle(pdev->dev.of_node,
                              "subctrl-syscon");

从syscon_regmap_lookup_by_phandle的实现看也就是将of_parse_phandle和 syscon_node_to_regmap 组合在一起

struct regmap *syscon_regmap_lookup_by_phandle(struct device_node *np,
                    const char *property)
{
    struct device_node *syscon_np;
    struct regmap *regmap;

    if (property)
        syscon_np = of_parse_phandle(np, property, 0);
    else
        syscon_np = np;

    if (!syscon_np)
        return ERR_PTR(-ENODEV);

    regmap = syscon_node_to_regmap(syscon_np);
    of_node_put(syscon_np);

    return regmap;
}

你可能感兴趣的:(Linux,源码分析)