openwrt-owl/target/linux/adm5120/patches-2.6.31/803-adm5120-fix-clock-for-a...

22 lines
533 B
Diff

--- 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);