diff options
Diffstat (limited to 'recipes-kernel/linux/linux-yocto-3.14/collie/arm-sa1100-add-cpu-clock.patch')
-rw-r--r-- | recipes-kernel/linux/linux-yocto-3.14/collie/arm-sa1100-add-cpu-clock.patch | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/recipes-kernel/linux/linux-yocto-3.14/collie/arm-sa1100-add-cpu-clock.patch b/recipes-kernel/linux/linux-yocto-3.14/collie/arm-sa1100-add-cpu-clock.patch deleted file mode 100644 index b14727e..0000000 --- a/recipes-kernel/linux/linux-yocto-3.14/collie/arm-sa1100-add-cpu-clock.patch +++ /dev/null @@ -1,95 +0,0 @@ -From 6abd8c6c642b7f5da4a8065fa6b29c4c90df308d Mon Sep 17 00:00:00 2001 -From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> -Date: Mon, 11 Nov 2013 22:53:36 +0400 -Subject: [PATCH] arm: sa1100: add cpu clock - -Both SA1100 framebuffer and PCMCIA drivers require knowledge of cpu -frequency to correctly program timings. Currently they receive timing -information by calling cpufreq_get(0). However if cpu frequency driver -is not enabled (e.g. due to unsupported DRAM chip/board on sa1110) -cpufreq_get(0) returns 0, causing incorrect timings to be programmed. - -Add cpu clock returning cpu frequency, to be used by sa11x0 fb and -pcmcia drivers. - -Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> ---- - arch/arm/mach-sa1100/clock.c | 34 ++++++++++++++++++++++++++++++++++ - 1 file changed, 34 insertions(+) - -diff --git a/arch/arm/mach-sa1100/clock.c b/arch/arm/mach-sa1100/clock.c -index 172ebd0..abf1dc1 100644 ---- a/arch/arm/mach-sa1100/clock.c -+++ b/arch/arm/mach-sa1100/clock.c -@@ -15,10 +15,12 @@ - #include <linux/clkdev.h> - - #include <mach/hardware.h> -+#include <mach/generic.h> - - struct clkops { - void (*enable)(struct clk *); - void (*disable)(struct clk *); -+ unsigned long (*get_rate)(struct clk *); - }; - - struct clk { -@@ -51,6 +53,19 @@ static void clk_gpio27_disable(struct clk *clk) - GAFR &= ~GPIO_32_768kHz; - } - -+static void clk_cpu_enable(struct clk *clk) -+{ -+} -+ -+static void clk_cpu_disable(struct clk *clk) -+{ -+} -+ -+static unsigned long clk_cpu_get_rate(struct clk *clk) -+{ -+ return sa11x0_getspeed(0) * 1000; -+} -+ - int clk_enable(struct clk *clk) - { - unsigned long flags; -@@ -80,16 +95,35 @@ void clk_disable(struct clk *clk) - } - EXPORT_SYMBOL(clk_disable); - -+unsigned long clk_get_rate(struct clk *clk) -+{ -+ if (clk && clk->ops && clk->ops->get_rate) -+ return clk->ops->get_rate(clk); -+ else -+ return 0; -+} -+EXPORT_SYMBOL(clk_get_rate); -+ - const struct clkops clk_gpio27_ops = { - .enable = clk_gpio27_enable, - .disable = clk_gpio27_disable, - }; - -+const struct clkops clk_cpu_ops = { -+ .enable = clk_cpu_enable, -+ .disable = clk_cpu_disable, -+ .get_rate = clk_cpu_get_rate, -+}; -+ - static DEFINE_CLK(gpio27, &clk_gpio27_ops); - -+static DEFINE_CLK(cpu, &clk_cpu_ops); -+ - static struct clk_lookup sa11xx_clkregs[] = { - CLKDEV_INIT("sa1111.0", NULL, &clk_gpio27), - CLKDEV_INIT("sa1100-rtc", NULL, NULL), -+ CLKDEV_INIT("sa11x0-fb", NULL, &clk_cpu), -+ CLKDEV_INIT("sa11x0-pcmcia", NULL, &clk_cpu), - }; - - static int __init sa11xx_clk_init(void) --- -1.8.4.2 - |