From: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
To: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
Sascha Hauer <kernel@pengutronix.de>,
Shawn Guo <shawn.guo@linaro.org>,
Russell King <linux@arm.linux.org.uk>,
Arnd Bergmann <arnd@arndb.de>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: [PATCH RFC v2 05/16] ARM: imx: remove custom .init_time hook
Date: Tue, 27 Aug 2013 23:27:59 +0200 [thread overview]
Message-ID: <1377638890-371-6-git-send-email-sebastian.hesselbarth@gmail.com> (raw)
In-Reply-To: <1376964271-22715-1-git-send-email-sebastian.hesselbarth@gmail.com>
With arch/arm calling of_clk_init(NULL) from time_init(), we can now
remove custom .init_time hooks.
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
---
Changelog:
v1->v2:
- added missing CLK_OF_DECLARE for imx51 and imx53 (Reported by Sascha Hauer)
mx53_clocks_init can be converted as it is used DT only, mx51_clocks_init
still is used by non-DT.
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Shawn Guo <shawn.guo@linaro.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
---
arch/arm/mach-imx/clk-imx51-imx53.c | 29 ++++++++++-------------------
arch/arm/mach-imx/common.h | 4 ----
arch/arm/mach-imx/imx51-dt.c | 6 ------
arch/arm/mach-imx/mach-imx53.c | 6 ------
arch/arm/mach-imx/mach-imx6q.c | 14 +++-----------
arch/arm/mach-imx/mach-imx6sl.c | 7 -------
arch/arm/mach-imx/mach-vf610.c | 9 ---------
7 files changed, 13 insertions(+), 62 deletions(-)
diff --git a/arch/arm/mach-imx/clk-imx51-imx53.c b/arch/arm/mach-imx/clk-imx51-imx53.c
index 1a56a33..1b796db 100644
--- a/arch/arm/mach-imx/clk-imx51-imx53.c
+++ b/arch/arm/mach-imx/clk-imx51-imx53.c
@@ -11,6 +11,7 @@
#include <linux/clk.h>
#include <linux/io.h>
#include <linux/clkdev.h>
+#include <linux/clk-provider.h>
#include <linux/of.h>
#include <linux/err.h>
@@ -131,8 +132,6 @@ static void __init mx5_clocks_common_init(unsigned long rate_ckil,
{
int i;
- of_clk_init(NULL);
-
clk[dummy] = imx_clk_fixed("dummy", 0);
clk[ckil] = imx_obtain_fixed_clock("ckil", rate_ckil);
clk[osc] = imx_obtain_fixed_clock("osc", rate_osc);
@@ -465,12 +464,16 @@ int __init mx51_clocks_init(unsigned long rate_ckil, unsigned long rate_osc,
return 0;
}
-int __init mx53_clocks_init(unsigned long rate_ckil, unsigned long rate_osc,
- unsigned long rate_ckih1, unsigned long rate_ckih2)
+static void __init mx51_clocks_init_dt(struct device_node *np)
+{
+ mx51_clocks_init(0, 0, 0, 0);
+}
+CLK_OF_DECLARE(imx51_ccm, "fsl,imx51-ccm", mx51_clocks_init_dt);
+
+static void __init mx53_clocks_init(struct device_node *np)
{
int i;
unsigned long r;
- struct device_node *np;
clk[pll1_sw] = imx_clk_pllv2("pll1_sw", "osc", MX53_DPLL1_BASE);
clk[pll2_sw] = imx_clk_pllv2("pll2_sw", "osc", MX53_DPLL2_BASE);
@@ -529,12 +532,11 @@ int __init mx53_clocks_init(unsigned long rate_ckil, unsigned long rate_osc,
pr_err("i.MX53 clk %d: register failed with %ld\n",
i, PTR_ERR(clk[i]));
- np = of_find_compatible_node(NULL, NULL, "fsl,imx53-ccm");
clk_data.clks = clk;
clk_data.clk_num = ARRAY_SIZE(clk);
of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data);
- mx5_clocks_common_init(rate_ckil, rate_osc, rate_ckih1, rate_ckih2);
+ mx5_clocks_common_init(0, 0, 0, 0);
clk_register_clkdev(clk[vpu_gate], NULL, "imx53-vpu.0");
clk_register_clkdev(clk[i2c3_gate], NULL, "imx21-i2c.2");
@@ -566,16 +568,5 @@ int __init mx53_clocks_init(unsigned long rate_ckil, unsigned long rate_osc,
r = clk_round_rate(clk[usboh3_per_gate], 54000000);
clk_set_rate(clk[usboh3_per_gate], r);
-
- return 0;
-}
-
-int __init mx51_clocks_init_dt(void)
-{
- return mx51_clocks_init(0, 0, 0, 0);
-}
-
-int __init mx53_clocks_init_dt(void)
-{
- return mx53_clocks_init(0, 0, 0, 0);
}
+CLK_OF_DECLARE(imx53_ccm, "fsl,imx53-ccm", mx53_clocks_init);
diff --git a/arch/arm/mach-imx/common.h b/arch/arm/mach-imx/common.h
index 4517fd7..28e8ca0 100644
--- a/arch/arm/mach-imx/common.h
+++ b/arch/arm/mach-imx/common.h
@@ -63,13 +63,9 @@ extern int mx31_clocks_init(unsigned long fref);
extern int mx35_clocks_init(void);
extern int mx51_clocks_init(unsigned long ckil, unsigned long osc,
unsigned long ckih1, unsigned long ckih2);
-extern int mx53_clocks_init(unsigned long ckil, unsigned long osc,
- unsigned long ckih1, unsigned long ckih2);
extern int mx25_clocks_init_dt(void);
extern int mx27_clocks_init_dt(void);
extern int mx31_clocks_init_dt(void);
-extern int mx51_clocks_init_dt(void);
-extern int mx53_clocks_init_dt(void);
extern struct platform_device *mxc_register_gpio(char *name, int id,
resource_size_t iobase, resource_size_t iosize, int irq, int irq_high);
extern void mxc_set_cpu_type(unsigned int type);
diff --git a/arch/arm/mach-imx/imx51-dt.c b/arch/arm/mach-imx/imx51-dt.c
index 53e43e5..bece8a6 100644
--- a/arch/arm/mach-imx/imx51-dt.c
+++ b/arch/arm/mach-imx/imx51-dt.c
@@ -34,17 +34,11 @@ static const char *imx51_dt_board_compat[] __initdata = {
NULL
};
-static void __init imx51_timer_init(void)
-{
- mx51_clocks_init_dt();
-}
-
DT_MACHINE_START(IMX51_DT, "Freescale i.MX51 (Device Tree Support)")
.map_io = mx51_map_io,
.init_early = imx51_init_early,
.init_irq = mx51_init_irq,
.handle_irq = imx51_handle_irq,
- .init_time = imx51_timer_init,
.init_machine = imx51_dt_init,
.init_late = imx51_init_late,
.dt_compat = imx51_dt_board_compat,
diff --git a/arch/arm/mach-imx/mach-imx53.c b/arch/arm/mach-imx/mach-imx53.c
index 98c5894..c9c4d8d 100644
--- a/arch/arm/mach-imx/mach-imx53.c
+++ b/arch/arm/mach-imx/mach-imx53.c
@@ -36,17 +36,11 @@ static const char *imx53_dt_board_compat[] __initdata = {
NULL
};
-static void __init imx53_timer_init(void)
-{
- mx53_clocks_init_dt();
-}
-
DT_MACHINE_START(IMX53_DT, "Freescale i.MX53 (Device Tree Support)")
.map_io = mx53_map_io,
.init_early = imx53_init_early,
.init_irq = mx53_init_irq,
.handle_irq = imx53_handle_irq,
- .init_time = imx53_timer_init,
.init_machine = imx53_dt_init,
.init_late = imx53_init_late,
.dt_compat = imx53_dt_board_compat,
diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c
index b605098..ad71738 100644
--- a/arch/arm/mach-imx/mach-imx6q.c
+++ b/arch/arm/mach-imx/mach-imx6q.c
@@ -11,9 +11,7 @@
*/
#include <linux/clk.h>
-#include <linux/clk-provider.h>
#include <linux/clkdev.h>
-#include <linux/clocksource.h>
#include <linux/cpu.h>
#include <linux/delay.h>
#include <linux/export.h>
@@ -192,6 +190,9 @@ static void __init imx6q_1588_init(void)
static void __init imx6q_init_machine(void)
{
+ imx_print_silicon_rev(cpu_is_imx6dl() ? "i.MX6DL" : "i.MX6Q",
+ imx6q_revision());
+
imx6q_enet_phy_init();
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
@@ -289,14 +290,6 @@ static void __init imx6q_init_irq(void)
irqchip_init();
}
-static void __init imx6q_timer_init(void)
-{
- of_clk_init(NULL);
- clocksource_of_init();
- imx_print_silicon_rev(cpu_is_imx6dl() ? "i.MX6DL" : "i.MX6Q",
- imx6q_revision());
-}
-
static const char *imx6q_dt_compat[] __initdata = {
"fsl,imx6dl",
"fsl,imx6q",
@@ -307,7 +300,6 @@ DT_MACHINE_START(IMX6Q, "Freescale i.MX6 Quad/DualLite (Device Tree)")
.smp = smp_ops(imx_smp_ops),
.map_io = imx6q_map_io,
.init_irq = imx6q_init_irq,
- .init_time = imx6q_timer_init,
.init_machine = imx6q_init_machine,
.init_late = imx6q_init_late,
.dt_compat = imx6q_dt_compat,
diff --git a/arch/arm/mach-imx/mach-imx6sl.c b/arch/arm/mach-imx/mach-imx6sl.c
index 0d75dc5..c70bd7c 100644
--- a/arch/arm/mach-imx/mach-imx6sl.c
+++ b/arch/arm/mach-imx/mach-imx6sl.c
@@ -7,7 +7,6 @@
*
*/
-#include <linux/clk-provider.h>
#include <linux/irqchip.h>
#include <linux/of.h>
#include <linux/of_platform.h>
@@ -31,11 +30,6 @@ static void __init imx6sl_init_irq(void)
irqchip_init();
}
-static void __init imx6sl_timer_init(void)
-{
- of_clk_init(NULL);
-}
-
static const char *imx6sl_dt_compat[] __initdata = {
"fsl,imx6sl",
NULL,
@@ -44,7 +38,6 @@ static const char *imx6sl_dt_compat[] __initdata = {
DT_MACHINE_START(IMX6SL, "Freescale i.MX6 SoloLite (Device Tree)")
.map_io = debug_ll_io_init,
.init_irq = imx6sl_init_irq,
- .init_time = imx6sl_timer_init,
.init_machine = imx6sl_init_machine,
.dt_compat = imx6sl_dt_compat,
.restart = mxc_restart,
diff --git a/arch/arm/mach-imx/mach-vf610.c b/arch/arm/mach-imx/mach-vf610.c
index 816991d..af0cb8a 100644
--- a/arch/arm/mach-imx/mach-vf610.c
+++ b/arch/arm/mach-imx/mach-vf610.c
@@ -8,9 +8,7 @@
*/
#include <linux/of_platform.h>
-#include <linux/clocksource.h>
#include <linux/irqchip.h>
-#include <linux/clk-provider.h>
#include <asm/mach/arch.h>
#include <asm/hardware/cache-l2x0.h>
@@ -28,12 +26,6 @@ static void __init vf610_init_irq(void)
irqchip_init();
}
-static void __init vf610_init_time(void)
-{
- of_clk_init(NULL);
- clocksource_of_init();
-}
-
static const char *vf610_dt_compat[] __initdata = {
"fsl,vf610",
NULL,
@@ -41,7 +33,6 @@ static const char *vf610_dt_compat[] __initdata = {
DT_MACHINE_START(VYBRID_VF610, "Freescale Vybrid VF610 (Device Tree)")
.init_irq = vf610_init_irq,
- .init_time = vf610_init_time,
.init_machine = vf610_init_machine,
.dt_compat = vf610_dt_compat,
.restart = mxc_restart,
--
1.7.2.5
next prev parent reply other threads:[~2013-08-27 21:31 UTC|newest]
Thread overview: 118+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-20 2:04 [RFC 00/17] ARM: provide common arch init for DT clocks Sebastian Hesselbarth
2013-08-20 2:04 ` [RFC 01/17] clk: ensure __clk_of_table is only initialized once Sebastian Hesselbarth
2013-08-20 2:04 ` [RFC 02/17] ARM: call clk_of_init from time_init Sebastian Hesselbarth
2013-08-20 15:46 ` Stephen Warren
2013-08-20 19:47 ` Sebastian Hesselbarth
2013-08-20 19:52 ` Stephen Warren
2013-08-20 20:19 ` Sebastian Hesselbarth
2013-08-21 18:54 ` Arnd Bergmann
2013-08-22 7:25 ` Mike Turquette
2013-08-22 17:28 ` Arnd Bergmann
2013-08-20 20:44 ` Arnd Bergmann
2013-08-20 20:57 ` Stephen Warren
2013-08-21 18:51 ` Arnd Bergmann
2013-08-20 2:04 ` [RFC 03/17] ARM: dove: remove custom .init_time hook Sebastian Hesselbarth
2013-08-20 2:04 ` [RFC 04/17] ARM: exynos: " Sebastian Hesselbarth
2013-08-20 2:04 ` [RFC 05/17] ARM: highbank: " Sebastian Hesselbarth
2013-08-20 19:12 ` Rob Herring
2013-08-20 20:01 ` Sebastian Hesselbarth
2013-08-20 2:04 ` [RFC 06/17] ARM: imx: " Sebastian Hesselbarth
2013-08-20 7:26 ` Sascha Hauer
2013-08-20 8:48 ` Sebastian Hesselbarth
2013-08-20 9:10 ` Sascha Hauer
2013-08-20 9:20 ` Sebastian Hesselbarth
2013-08-20 10:20 ` Russell King - ARM Linux
2013-08-20 10:37 ` Sebastian Hesselbarth
2013-08-20 10:42 ` Russell King - ARM Linux
2013-08-20 10:46 ` Sebastian Hesselbarth
2013-08-20 9:23 ` [RFC v2] " Sebastian Hesselbarth
2013-08-20 2:04 ` [RFC 07/17] ARM: kirkwood: " Sebastian Hesselbarth
2013-08-20 2:04 ` [RFC 08/17] ARM: mvebu: " Sebastian Hesselbarth
2013-08-20 12:50 ` Ezequiel Garcia
2013-08-20 13:12 ` Sebastian Hesselbarth
2013-08-20 14:01 ` Ezequiel Garcia
2013-08-23 10:06 ` Gregory CLEMENT
2013-08-23 10:32 ` Sebastian Hesselbarth
2013-08-23 11:39 ` Gregory CLEMENT
2013-08-23 12:13 ` Sebastian Hesselbarth
2013-08-23 14:23 ` Gregory CLEMENT
2013-08-23 14:34 ` Gregory CLEMENT
2013-08-20 2:04 ` [RFC 09/17] ARM: mxs: " Sebastian Hesselbarth
2013-08-20 2:04 ` [RFC 10/17] ARM: nspire: " Sebastian Hesselbarth
2013-08-20 2:04 ` [RFC 11/17] ARM: rockchip: " Sebastian Hesselbarth
2013-08-20 2:04 ` [RFC 12/17] ARM: socfpga: " Sebastian Hesselbarth
2013-08-20 2:04 ` [RFC 13/17] ARM: sti: " Sebastian Hesselbarth
2013-08-20 2:04 ` [RFC 14/17] ARM: tegra: remove .init_time hook to clocksource_of_init Sebastian Hesselbarth
2013-08-20 2:04 ` [RFC 15/17] ARM: vexpress: remove custom .init_time hook Sebastian Hesselbarth
2013-08-20 2:04 ` [RFC 16/17] clk: vt8500: remove call to of_clk_init Sebastian Hesselbarth
2013-08-20 2:04 ` [RFC 17/17] clk: zynq: " Sebastian Hesselbarth
2013-08-23 0:26 ` Sören Brinkmann
2013-08-23 0:59 ` Sören Brinkmann
2013-08-23 7:32 ` Steffen Trumtrar
2013-08-23 16:00 ` Sören Brinkmann
2013-08-23 23:38 ` Steffen Trumtrar
2013-08-26 11:15 ` Michal Simek
2013-08-26 12:07 ` Steffen Trumtrar
2013-08-26 12:53 ` Sebastian Hesselbarth
2013-08-26 15:14 ` Michal Simek
2013-08-26 15:31 ` Steffen Trumtrar
2013-08-26 15:16 ` Sören Brinkmann
2013-08-26 15:33 ` Steffen Trumtrar
2013-08-23 9:30 ` Sebastian Hesselbarth
2013-08-23 17:19 ` Sören Brinkmann
2013-08-23 17:44 ` Sebastian Hesselbarth
2013-08-23 23:22 ` Steffen Trumtrar
2013-08-26 15:20 ` Sören Brinkmann
2013-08-27 21:27 ` [PATCH RFC v2 00/16] ARM: provide common arch init for DT clocks Sebastian Hesselbarth
2013-08-27 21:27 ` [PATCH RFC v2 01/16] ARM: call clk_of_init from time_init Sebastian Hesselbarth
2013-08-27 22:19 ` Sören Brinkmann
2013-08-27 22:58 ` Sebastian Hesselbarth
2013-08-27 23:20 ` Sören Brinkmann
2013-08-29 13:45 ` Arnd Bergmann
2013-09-04 19:32 ` Sebastian Hesselbarth
2013-09-04 20:41 ` Sören Brinkmann
2013-09-04 20:52 ` Sebastian Hesselbarth
2013-09-04 20:59 ` Sören Brinkmann
2013-09-05 9:34 ` Arnd Bergmann
2013-08-27 21:27 ` [PATCH RFC v2 02/16] ARM: dove: remove custom .init_time hook Sebastian Hesselbarth
2013-08-27 21:27 ` [PATCH RFC v2 03/16] ARM: exynos: " Sebastian Hesselbarth
2013-08-27 21:27 ` [PATCH RFC v2 04/16] ARM: highbank: " Sebastian Hesselbarth
2013-08-27 23:13 ` Mike Turquette
2013-08-27 21:27 ` Sebastian Hesselbarth [this message]
2013-08-29 11:00 ` [PATCH RFC v2 05/16] ARM: imx: " Shawn Guo
2013-08-27 21:28 ` [PATCH RFC v2 06/16] ARM: kirkwood: " Sebastian Hesselbarth
2013-08-27 21:28 ` [PATCH RFC v2 07/16] ARM: mvebu: " Sebastian Hesselbarth
2013-08-28 6:28 ` Gregory CLEMENT
2013-08-27 21:28 ` [PATCH RFC v2 08/16] ARM: mxs: " Sebastian Hesselbarth
2013-08-27 23:16 ` Mike Turquette
2013-08-29 11:08 ` Shawn Guo
2013-08-29 11:32 ` Sebastian Hesselbarth
2013-08-29 12:58 ` Shawn Guo
2013-08-27 21:28 ` [PATCH RFC v2 09/16] ARM: nspire: " Sebastian Hesselbarth
2013-08-27 21:28 ` [PATCH RFC v2 10/16] ARM: rockchip: " Sebastian Hesselbarth
2013-08-27 21:28 ` [PATCH RFC v2 11/16] ARM: socfpga: remove call to of_clk_init Sebastian Hesselbarth
2013-08-29 15:38 ` Dinh Nguyen
2013-08-29 17:23 ` Arnd Bergmann
2013-08-27 21:28 ` [PATCH RFC v2 12/16] ARM: sti: remove custom .init_time hook Sebastian Hesselbarth
2013-08-29 16:29 ` [STLinux Kernel] " Srinivas KANDAGATLA
2013-08-27 21:28 ` [PATCH RFC v2 13/16] ARM: tegra: split tegra_pmc_init() in two Sebastian Hesselbarth
2013-08-27 21:59 ` Stephen Warren
2013-08-27 22:09 ` Sebastian Hesselbarth
2013-09-11 19:56 ` Stephen Warren
2013-09-12 6:21 ` Sebastian Hesselbarth
2013-09-12 16:32 ` Stephen Warren
2013-08-27 21:28 ` [PATCH RFC v2 14/16] ARM: vexpress: remove custom .init_time hook Sebastian Hesselbarth
2013-08-29 13:35 ` Arnd Bergmann
2013-08-29 18:16 ` Sebastian Hesselbarth
2013-08-30 10:02 ` Jon Medhurst (Tixy)
2013-08-30 11:39 ` Russell King - ARM Linux
2013-08-30 13:12 ` Pawel Moll
2013-08-27 21:28 ` [PATCH RFC v2 15/16] clk: vt8500: remove call to of_clk_init Sebastian Hesselbarth
2013-08-27 23:16 ` Mike Turquette
2013-08-29 13:42 ` Arnd Bergmann
2013-08-27 21:28 ` [PATCH RFC v2 16/16] ARM: zynq: Don't call of_clk_init() Sebastian Hesselbarth
2013-08-29 13:37 ` Arnd Bergmann
2013-08-29 14:21 ` Michal Simek
2013-08-29 17:20 ` Arnd Bergmann
2013-08-29 18:14 ` Michal Simek
2013-08-29 18:20 ` Sebastian Hesselbarth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1377638890-371-6-git-send-email-sebastian.hesselbarth@gmail.com \
--to=sebastian.hesselbarth@gmail.com \
--cc=arnd@arndb.de \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=shawn.guo@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).