diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-09-14 19:58:35 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-09-14 19:58:35 -0400 |
commit | d25ed277fbd4c20247286fda2014ae6a2b88316b (patch) | |
tree | ee90f683723a6b22b168775e7f0b0294e77ec66b | |
parent | 9c488de24f7264f08d341024bffdd637b4d04c96 (diff) | |
parent | 3bba75a2ec32bd5fa7024a4de3b8cf9ee113a76a (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.c | 1 | ||||
-rw-r--r-- | drivers/clk/hisilicon/Kconfig | 8 | ||||
-rw-r--r-- | drivers/clk/hisilicon/Makefile | 3 | ||||
-rw-r--r-- | drivers/clk/rockchip/clk-rk3188.c | 9 |
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 | ||
12 | static DEFINE_SPINLOCK(clklock); | 13 | static 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 @@ | |||
1 | config COMMON_CLK_HI6220 | 1 | config 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 | |||
8 | config 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 | |||
7 | obj-$(CONFIG_ARCH_HI3xxx) += clk-hi3620.o | 7 | obj-$(CONFIG_ARCH_HI3xxx) += clk-hi3620.o |
8 | obj-$(CONFIG_ARCH_HIP04) += clk-hip04.o | 8 | obj-$(CONFIG_ARCH_HIP04) += clk-hip04.o |
9 | obj-$(CONFIG_ARCH_HIX5HD2) += clk-hix5hd2.o | 9 | obj-$(CONFIG_ARCH_HIX5HD2) += clk-hix5hd2.o |
10 | obj-$(CONFIG_COMMON_CLK_HI6220) += clk-hi6220.o clk-hi6220-stub.o | 10 | obj-$(CONFIG_COMMON_CLK_HI6220) += clk-hi6220.o |
11 | obj-$(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 | ||
721 | static void __init rk3188_common_clk_init(struct device_node *np) | 723 | static 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 | } |
769 | CLK_OF_DECLARE(rk3066a_cru, "rockchip,rk3066a-cru", rk3066a_clk_init); | 771 | CLK_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 | } |
805 | CLK_OF_DECLARE(rk3188a_cru, "rockchip,rk3188a-cru", rk3188a_clk_init); | 810 | CLK_OF_DECLARE(rk3188a_cru, "rockchip,rk3188a-cru", rk3188a_clk_init); |
806 | 811 | ||