diff --git a/arch/xtensa/platforms/xtfpga/setup.c b/arch/xtensa/platforms/xtfpga/setup.c
index 71d61ca6a4af375fc28907887f16dfe1dbad6ee5..237c36dc18b8c16b9de12d1d0b23e49bb487b5a7 100644
--- a/arch/xtensa/platforms/xtfpga/setup.c
+++ b/arch/xtensa/platforms/xtfpga/setup.c
@@ -105,9 +105,9 @@ static void __init update_clock_frequency(struct device_node *node)
 
 static int __init machine_setup(void)
 {
-	struct device_node *serial = NULL;
+	struct device_node *serial;
 
-	while ((serial = of_find_compatible_node(serial, NULL, "ns16550a")))
+	for_each_compatible_node(serial, NULL, "ns16550a")
 		update_clock_frequency(serial);
 	return 0;
 }