--- a/arch/mips/adm5120/common/clock.c
+++ b/arch/mips/adm5120/common/clock.c
@@ -19,6 +19,7 @@
 #include <linux/module.h>
 #include <linux/err.h>
 #include <linux/clk.h>
+#include <linux/device.h>
 
 #include <asm/mach-adm5120/adm5120_defs.h>
 
@@ -32,7 +33,9 @@ static struct clk uart_clk = {
 
 struct clk *clk_get(struct device *dev, const char *id)
 {
-	if (!strcmp(id, "UARTCLK"))
+	char *name = dev_name(dev);
+
+	if (!strcmp(name, "apb:uart0") || !strcmp(name, "apb:uart1"))
 		return &uart_clk;
 
 	return ERR_PTR(-ENOENT);