[PATCH v2 1/3] ata: ahci-dwc: Simplify with scoped for each OF child loop
Krzysztof Kozlowski
krzysztof.kozlowski at oss.qualcomm.com
Mon Jan 5 06:29:45 PST 2026
Use scoped for-each loop when iterating over device nodes and switch to
iterating already over available nodes to make code a bit simpler.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski at oss.qualcomm.com>
---
Changes in v2:
1. Use for_each_available_child_of_node_scoped (Jonathan)
---
drivers/ata/ahci_dwc.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/drivers/ata/ahci_dwc.c b/drivers/ata/ahci_dwc.c
index aec6d793f51a..64abf865bb67 100644
--- a/drivers/ata/ahci_dwc.c
+++ b/drivers/ata/ahci_dwc.c
@@ -260,7 +260,6 @@ static void ahci_dwc_init_timer(struct ahci_host_priv *hpriv)
static int ahci_dwc_init_dmacr(struct ahci_host_priv *hpriv)
{
struct ahci_dwc_host_priv *dpriv = hpriv->plat_data;
- struct device_node *child;
void __iomem *port_mmio;
u32 port, dmacr, ts;
@@ -271,14 +270,9 @@ static int ahci_dwc_init_dmacr(struct ahci_host_priv *hpriv)
* the HBA global reset so we can freely initialize it once until the
* next system reset.
*/
- for_each_child_of_node(dpriv->pdev->dev.of_node, child) {
- if (!of_device_is_available(child))
- continue;
-
- if (of_property_read_u32(child, "reg", &port)) {
- of_node_put(child);
+ for_each_available_child_of_node_scoped(dpriv->pdev->dev.of_node, child) {
+ if (of_property_read_u32(child, "reg", &port))
return -EINVAL;
- }
port_mmio = __ahci_port_base(hpriv, port);
dmacr = readl(port_mmio + AHCI_DWC_PORT_DMACR);
--
2.51.0
More information about the linux-arm-kernel
mailing list