aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-09-14 19:58:35 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-09-14 19:58:35 -0400
commitd25ed277fbd4c20247286fda2014ae6a2b88316b (patch)
treeee90f683723a6b22b168775e7f0b0294e77ec66b
parent9c488de24f7264f08d341024bffdd637b4d04c96 (diff)
parent3bba75a2ec32bd5fa7024a4de3b8cf9ee113a76a (diff)
Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux
Pull clk fixes from Stephen Boyd: "A couple build fixes for drivers introduced in the merge window and a handful of patches to add more critical clocks on rockchip SoCs that are affected by newly introduced gpio clock handling" * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: clk: rockchip: Add pclk_peri to critical clocks on RK3066/RK3188 clk: rockchip: add pclk_cpu to the list of rk3188 critical clocks clk: rockchip: handle critical clocks after registering all clocks clk: Hi6220: separately build stub clock driver clk: h8s2678: Fix compile error
-rw-r--r--drivers/clk/h8300/clk-h8s2678.c1
-rw-r--r--drivers/clk/hisilicon/Kconfig8
-rw-r--r--drivers/clk/hisilicon/Makefile3
-rw-r--r--drivers/clk/rockchip/clk-rk3188.c9
4 files changed, 17 insertions, 4 deletions
diff --git a/drivers/clk/h8300/clk-h8s2678.c b/drivers/clk/h8300/clk-h8s2678.c
index 2a38eb4a2552..6cf38dc1c929 100644
--- a/drivers/clk/h8300/clk-h8s2678.c
+++ b/drivers/clk/h8300/clk-h8s2678.c
@@ -8,6 +8,7 @@
8#include <linux/err.h> 8#include <linux/err.h>
9#include <linux/device.h> 9#include <linux/device.h>
10#include <linux/of_address.h> 10#include <linux/of_address.h>
11#include <linux/slab.h>
11 12
12static DEFINE_SPINLOCK(clklock); 13static DEFINE_SPINLOCK(clklock);
13 14
diff --git a/drivers/clk/hisilicon/Kconfig b/drivers/clk/hisilicon/Kconfig
index 2c16807341dc..e43485448612 100644
--- a/drivers/clk/hisilicon/Kconfig
+++ b/drivers/clk/hisilicon/Kconfig
@@ -1,6 +1,12 @@
1config COMMON_CLK_HI6220 1config COMMON_CLK_HI6220
2 bool "Hi6220 Clock Driver" 2 bool "Hi6220 Clock Driver"
3 depends on (ARCH_HISI || COMPILE_TEST) && MAILBOX 3 depends on ARCH_HISI || COMPILE_TEST
4 default ARCH_HISI 4 default ARCH_HISI
5 help 5 help
6 Build the Hisilicon Hi6220 clock driver based on the common clock framework. 6 Build the Hisilicon Hi6220 clock driver based on the common clock framework.
7
8config STUB_CLK_HI6220
9 bool "Hi6220 Stub Clock Driver"
10 depends on COMMON_CLK_HI6220 && MAILBOX
11 help
12 Build the Hisilicon Hi6220 stub clock driver.
diff --git a/drivers/clk/hisilicon/Makefile b/drivers/clk/hisilicon/Makefile
index 4a1001a11f04..74dba31590f9 100644
--- a/drivers/clk/hisilicon/Makefile
+++ b/drivers/clk/hisilicon/Makefile
@@ -7,4 +7,5 @@ obj-y += clk.o clkgate-separated.o clkdivider-hi6220.o
7obj-$(CONFIG_ARCH_HI3xxx) += clk-hi3620.o 7obj-$(CONFIG_ARCH_HI3xxx) += clk-hi3620.o
8obj-$(CONFIG_ARCH_HIP04) += clk-hip04.o 8obj-$(CONFIG_ARCH_HIP04) += clk-hip04.o
9obj-$(CONFIG_ARCH_HIX5HD2) += clk-hix5hd2.o 9obj-$(CONFIG_ARCH_HIX5HD2) += clk-hix5hd2.o
10obj-$(CONFIG_COMMON_CLK_HI6220) += clk-hi6220.o clk-hi6220-stub.o 10obj-$(CONFIG_COMMON_CLK_HI6220) += clk-hi6220.o
11obj-$(CONFIG_STUB_CLK_HI6220) += clk-hi6220-stub.o
diff --git a/drivers/clk/rockchip/clk-rk3188.c b/drivers/clk/rockchip/clk-rk3188.c
index ed02bbc7b11f..abb47608713b 100644
--- a/drivers/clk/rockchip/clk-rk3188.c
+++ b/drivers/clk/rockchip/clk-rk3188.c
@@ -716,6 +716,8 @@ static const char *const rk3188_critical_clocks[] __initconst = {
716 "aclk_cpu", 716 "aclk_cpu",
717 "aclk_peri", 717 "aclk_peri",
718 "hclk_peri", 718 "hclk_peri",
719 "pclk_cpu",
720 "pclk_peri",
719}; 721};
720 722
721static void __init rk3188_common_clk_init(struct device_node *np) 723static void __init rk3188_common_clk_init(struct device_node *np)
@@ -744,8 +746,6 @@ static void __init rk3188_common_clk_init(struct device_node *np)
744 746
745 rockchip_clk_register_branches(common_clk_branches, 747 rockchip_clk_register_branches(common_clk_branches,
746 ARRAY_SIZE(common_clk_branches)); 748 ARRAY_SIZE(common_clk_branches));
747 rockchip_clk_protect_critical(rk3188_critical_clocks,
748 ARRAY_SIZE(rk3188_critical_clocks));
749 749
750 rockchip_register_softrst(np, 9, reg_base + RK2928_SOFTRST_CON(0), 750 rockchip_register_softrst(np, 9, reg_base + RK2928_SOFTRST_CON(0),
751 ROCKCHIP_SOFTRST_HIWORD_MASK); 751 ROCKCHIP_SOFTRST_HIWORD_MASK);
@@ -765,6 +765,8 @@ static void __init rk3066a_clk_init(struct device_node *np)
765 mux_armclk_p, ARRAY_SIZE(mux_armclk_p), 765 mux_armclk_p, ARRAY_SIZE(mux_armclk_p),
766 &rk3066_cpuclk_data, rk3066_cpuclk_rates, 766 &rk3066_cpuclk_data, rk3066_cpuclk_rates,
767 ARRAY_SIZE(rk3066_cpuclk_rates)); 767 ARRAY_SIZE(rk3066_cpuclk_rates));
768 rockchip_clk_protect_critical(rk3188_critical_clocks,
769 ARRAY_SIZE(rk3188_critical_clocks));
768} 770}
769CLK_OF_DECLARE(rk3066a_cru, "rockchip,rk3066a-cru", rk3066a_clk_init); 771CLK_OF_DECLARE(rk3066a_cru, "rockchip,rk3066a-cru", rk3066a_clk_init);
770 772
@@ -801,6 +803,9 @@ static void __init rk3188a_clk_init(struct device_node *np)
801 pr_warn("%s: missing clocks to reparent aclk_cpu_pre to gpll\n", 803 pr_warn("%s: missing clocks to reparent aclk_cpu_pre to gpll\n",
802 __func__); 804 __func__);
803 } 805 }
806
807 rockchip_clk_protect_critical(rk3188_critical_clocks,
808 ARRAY_SIZE(rk3188_critical_clocks));
804} 809}
805CLK_OF_DECLARE(rk3188a_cru, "rockchip,rk3188a-cru", rk3188a_clk_init); 810CLK_OF_DECLARE(rk3188a_cru, "rockchip,rk3188a-cru", rk3188a_clk_init);
806 811