mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-16 02:14:58 +00:00
phy: hisilicon: usb2: Simplify with scoped for each OF child loop
Use scoped for_each_child_of_node_scoped() when iterating over device nodes to make code a bit simpler. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20240826-phy-of-node-scope-v1-4-5b4d82582644@linaro.org Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
612f9fcb43
commit
93cab07a02
@ -138,7 +138,6 @@ static int hisi_inno_phy_probe(struct platform_device *pdev)
|
|||||||
struct device_node *np = dev->of_node;
|
struct device_node *np = dev->of_node;
|
||||||
struct hisi_inno_phy_priv *priv;
|
struct hisi_inno_phy_priv *priv;
|
||||||
struct phy_provider *provider;
|
struct phy_provider *provider;
|
||||||
struct device_node *child;
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
@ -162,24 +161,20 @@ static int hisi_inno_phy_probe(struct platform_device *pdev)
|
|||||||
|
|
||||||
priv->type = (uintptr_t) of_device_get_match_data(dev);
|
priv->type = (uintptr_t) of_device_get_match_data(dev);
|
||||||
|
|
||||||
for_each_child_of_node(np, child) {
|
for_each_child_of_node_scoped(np, child) {
|
||||||
struct reset_control *rst;
|
struct reset_control *rst;
|
||||||
struct phy *phy;
|
struct phy *phy;
|
||||||
|
|
||||||
rst = of_reset_control_get_exclusive(child, NULL);
|
rst = of_reset_control_get_exclusive(child, NULL);
|
||||||
if (IS_ERR(rst)) {
|
if (IS_ERR(rst))
|
||||||
of_node_put(child);
|
|
||||||
return PTR_ERR(rst);
|
return PTR_ERR(rst);
|
||||||
}
|
|
||||||
|
|
||||||
priv->ports[i].utmi_rst = rst;
|
priv->ports[i].utmi_rst = rst;
|
||||||
priv->ports[i].priv = priv;
|
priv->ports[i].priv = priv;
|
||||||
|
|
||||||
phy = devm_phy_create(dev, child, &hisi_inno_phy_ops);
|
phy = devm_phy_create(dev, child, &hisi_inno_phy_ops);
|
||||||
if (IS_ERR(phy)) {
|
if (IS_ERR(phy))
|
||||||
of_node_put(child);
|
|
||||||
return PTR_ERR(phy);
|
return PTR_ERR(phy);
|
||||||
}
|
|
||||||
|
|
||||||
phy_set_bus_width(phy, 8);
|
phy_set_bus_width(phy, 8);
|
||||||
phy_set_drvdata(phy, &priv->ports[i]);
|
phy_set_drvdata(phy, &priv->ports[i]);
|
||||||
@ -187,7 +182,6 @@ static int hisi_inno_phy_probe(struct platform_device *pdev)
|
|||||||
|
|
||||||
if (i >= INNO_PHY_PORT_NUM) {
|
if (i >= INNO_PHY_PORT_NUM) {
|
||||||
dev_warn(dev, "Support %d ports in maximum\n", i);
|
dev_warn(dev, "Support %d ports in maximum\n", i);
|
||||||
of_node_put(child);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user