All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <52172BAA.7020009@gmail.com>

diff --git a/a/1.txt b/N1/1.txt
index 80e2db6..be9c642 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,5 +1,5 @@
-On 08/23/13 02:59, S?ren Brinkmann wrote:
-> On Thu, Aug 22, 2013 at 05:26:47PM -0700, S?ren Brinkmann wrote:
+On 08/23/13 02:59, Sören Brinkmann wrote:
+> On Thu, Aug 22, 2013 at 05:26:47PM -0700, Sören Brinkmann wrote:
 >> On Tue, Aug 20, 2013 at 04:04:31AM +0200, Sebastian Hesselbarth wrote:
 >>> With arch/arm calling of_clk_init(NULL) from time_init(), we can now
 >>> remove it from corresponding drivers/clk code.
@@ -32,7 +32,7 @@ On 08/23/13 02:59, S?ren Brinkmann wrote:
 > I guess we could move zynq_slcr_init() into init_irq(). I'll give that a
 > shot tomorrow.
 
-S?ren,
+Sören,
 
 thanks for looking into this. I also had a look at the files in
 question. Based on Steffen's proposal, I prepared a diff that should do
@@ -52,12 +52,3 @@ it, that I pick-up in the patch set. That way, we also have your
 Signed-off on it.
 
 Sebastian
-
-
--------------- next part --------------
-A non-text attachment was scrubbed...
-Name: arm-of_clk_init-zynq-proposal.diff
-Type: text/x-patch
-Size: 3117 bytes
-Desc: not available
-URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130823/cfed70c7/attachment-0001.bin>
diff --git a/N1/2.hdr b/N1/2.hdr
new file mode 100644
index 0000000..b9235cf
--- /dev/null
+++ b/N1/2.hdr
@@ -0,0 +1,5 @@
+Content-Type: text/x-patch;
+ name="arm-of_clk_init-zynq-proposal.diff"
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment;
+ filename="arm-of_clk_init-zynq-proposal.diff"
diff --git a/N1/2.txt b/N1/2.txt
new file mode 100644
index 0000000..edf0ed6
--- /dev/null
+++ b/N1/2.txt
@@ -0,0 +1,103 @@
+diff --git a/arch/arm/mach-zynq/common.c b/arch/arm/mach-zynq/common.c
+index 5f25256..a5a3969 100644
+--- a/arch/arm/mach-zynq/common.c
++++ b/arch/arm/mach-zynq/common.c
+@@ -19,8 +19,6 @@
+ #include <linux/cpumask.h>
+ #include <linux/platform_device.h>
+ #include <linux/clk.h>
+-#include <linux/clk/zynq.h>
+-#include <linux/clocksource.h>
+ #include <linux/of_address.h>
+ #include <linux/of_irq.h>
+ #include <linux/of_platform.h>
+@@ -58,10 +56,9 @@ static void __init zynq_init_machine(void)
+ 	of_platform_bus_probe(NULL, zynq_of_bus_ids, NULL);
+ }
+ 
+-static void __init zynq_timer_init(void)
++static void __init zynq_init_early(void)
+ {
+ 	zynq_slcr_init();
+-	clocksource_of_init();
+ }
+ 
+ static struct map_desc zynq_cortex_a9_scu_map __initdata = {
+@@ -104,8 +101,8 @@ static const char * const zynq_dt_match[] = {
+ DT_MACHINE_START(XILINX_EP107, "Xilinx Zynq Platform")
+ 	.smp		= smp_ops(zynq_smp_ops),
+ 	.map_io		= zynq_map_io,
++	.init_early	= zynq_init_early,
+ 	.init_machine	= zynq_init_machine,
+-	.init_time	= zynq_timer_init,
+ 	.dt_compat	= zynq_dt_match,
+ 	.restart	= zynq_system_reset,
+ MACHINE_END
+diff --git a/arch/arm/mach-zynq/slcr.c b/arch/arm/mach-zynq/slcr.c
+index 1836d5a..59ad09f 100644
+--- a/arch/arm/mach-zynq/slcr.c
++++ b/arch/arm/mach-zynq/slcr.c
+@@ -106,8 +106,6 @@ int __init zynq_slcr_init(void)
+ 
+ 	pr_info("%s mapped to %p\n", np->name, zynq_slcr_base);
+ 
+-	zynq_clock_init(zynq_slcr_base);
+-
+ 	of_node_put(np);
+ 
+ 	return 0;
+diff --git a/drivers/clk/zynq/clkc.c b/drivers/clk/zynq/clkc.c
+index 089d3e3..8fa0de7 100644
+--- a/drivers/clk/zynq/clkc.c
++++ b/drivers/clk/zynq/clkc.c
+@@ -21,6 +21,7 @@
+ #include <linux/clk/zynq.h>
+ #include <linux/clk-provider.h>
+ #include <linux/of.h>
++#include <linux/of_address.h>
+ #include <linux/slab.h>
+ #include <linux/string.h>
+ #include <linux/io.h>
+@@ -203,9 +204,19 @@ static void __init zynq_clk_setup(struct device_node *np)
+ 	const char *periph_parents[4];
+ 	const char *swdt_ext_clk_mux_parents[2];
+ 	const char *can_mio_mux_parents[NUM_MIO_PINS];
++	struct device_node *slcrnp;
+ 
+ 	pr_info("Zynq clock init\n");
+ 
++	slcrnp = of_find_compatible_node(NULL, NULL, "xlnx,zynq-slcr");
++	if (WARN_ON(!slcrnp))
++		return;
++
++	zynq_slcr_base_priv = of_iomap(slcrnp, 0);
++	of_node_put(slcrnp);
++	if (WARN_ON(!zynq_slcr_base_priv))
++		return;
++	
+ 	/* get clock output names from DT */
+ 	for (i = 0; i < clk_max; i++) {
+ 		if (of_property_read_string_index(np, "clock-output-names",
+@@ -528,9 +539,3 @@ static void __init zynq_clk_setup(struct device_node *np)
+ }
+ 
+ CLK_OF_DECLARE(zynq_clkc, "xlnx,ps7-clkc", zynq_clk_setup);
+-
+-void __init zynq_clock_init(void __iomem *slcr_base)
+-{
+-	zynq_slcr_base_priv = slcr_base;
+-	of_clk_init(NULL);
+-}
+diff --git a/include/linux/clk/zynq.h b/include/linux/clk/zynq.h
+index e062d31..58b5516 100644
+--- a/include/linux/clk/zynq.h
++++ b/include/linux/clk/zynq.h
+@@ -22,8 +22,6 @@
+ 
+ #include <linux/spinlock.h>
+ 
+-void zynq_clock_init(void __iomem *slcr);
+-
+ struct clk *clk_register_zynq_pll(const char *name, const char *parent,
+ 		void __iomem *pll_ctrl, void __iomem *pll_status, u8 lock_index,
+ 		spinlock_t *lock);
diff --git a/a/content_digest b/N1/content_digest
index 5cace5b..eed65f2 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -2,14 +2,21 @@
  "ref\01376964271-22715-18-git-send-email-sebastian.hesselbarth@gmail.com\0"
  "ref\0d17acba9-85f9-40cd-a176-2005e3e924f8@CO1EHSMHS002.ehs.local\0"
  "ref\0c4d10bdf-6506-4edc-92cc-2acc67b86602@VA3EHSMHS032.ehs.local\0"
- "From\0sebastian.hesselbarth@gmail.com (Sebastian Hesselbarth)\0"
- "Subject\0[RFC 17/17] clk: zynq: remove call to of_clk_init\0"
+ "From\0Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>\0"
+ "Subject\0Re: [RFC 17/17] clk: zynq: remove call to of_clk_init\0"
  "Date\0Fri, 23 Aug 2013 11:30:18 +0200\0"
- "To\0linux-arm-kernel@lists.infradead.org\0"
- "\00:1\0"
+ "To\0S\303\266ren Brinkmann <soren.brinkmann@xilinx.com>\0"
+ "Cc\0Mike Turquette <mturquette@linaro.org>"
+  Russell King <linux@arm.linux.org.uk>
+  Arnd Bergmann <arnd@arndb.de>
+  Michal Simek <michal.simek@xilinx.com>
+  linux-arm-kernel@lists.infradead.org
+  linux-kernel@vger.kernel.org
+ " Steffen Trumtrar <s.trumtrar@pengutronix.de>\0"
+ "\01:1\0"
  "b\0"
- "On 08/23/13 02:59, S?ren Brinkmann wrote:\n"
- "> On Thu, Aug 22, 2013 at 05:26:47PM -0700, S?ren Brinkmann wrote:\n"
+ "On 08/23/13 02:59, S\303\266ren Brinkmann wrote:\n"
+ "> On Thu, Aug 22, 2013 at 05:26:47PM -0700, S\303\266ren Brinkmann wrote:\n"
  ">> On Tue, Aug 20, 2013 at 04:04:31AM +0200, Sebastian Hesselbarth wrote:\n"
  ">>> With arch/arm calling of_clk_init(NULL) from time_init(), we can now\n"
  ">>> remove it from corresponding drivers/clk code.\n"
@@ -42,7 +49,7 @@
  "> I guess we could move zynq_slcr_init() into init_irq(). I'll give that a\n"
  "> shot tomorrow.\n"
  "\n"
- "S?ren,\n"
+ "S\303\266ren,\n"
  "\n"
  "thanks for looking into this. I also had a look at the files in\n"
  "question. Based on Steffen's proposal, I prepared a diff that should do\n"
@@ -61,15 +68,112 @@
  "it, that I pick-up in the patch set. That way, we also have your\n"
  "Signed-off on it.\n"
  "\n"
- "Sebastian\n"
- "\n"
- "\n"
- "-------------- next part --------------\n"
- "A non-text attachment was scrubbed...\n"
- "Name: arm-of_clk_init-zynq-proposal.diff\n"
- "Type: text/x-patch\n"
- "Size: 3117 bytes\n"
- "Desc: not available\n"
- URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130823/cfed70c7/attachment-0001.bin>
+ Sebastian
+ "\01:2\0"
+ "fn\0arm-of_clk_init-zynq-proposal.diff\0"
+ "b\0"
+ "diff --git a/arch/arm/mach-zynq/common.c b/arch/arm/mach-zynq/common.c\n"
+ "index 5f25256..a5a3969 100644\n"
+ "--- a/arch/arm/mach-zynq/common.c\n"
+ "+++ b/arch/arm/mach-zynq/common.c\n"
+ "@@ -19,8 +19,6 @@\n"
+ " #include <linux/cpumask.h>\n"
+ " #include <linux/platform_device.h>\n"
+ " #include <linux/clk.h>\n"
+ "-#include <linux/clk/zynq.h>\n"
+ "-#include <linux/clocksource.h>\n"
+ " #include <linux/of_address.h>\n"
+ " #include <linux/of_irq.h>\n"
+ " #include <linux/of_platform.h>\n"
+ "@@ -58,10 +56,9 @@ static void __init zynq_init_machine(void)\n"
+ " \tof_platform_bus_probe(NULL, zynq_of_bus_ids, NULL);\n"
+ " }\n"
+ " \n"
+ "-static void __init zynq_timer_init(void)\n"
+ "+static void __init zynq_init_early(void)\n"
+ " {\n"
+ " \tzynq_slcr_init();\n"
+ "-\tclocksource_of_init();\n"
+ " }\n"
+ " \n"
+ " static struct map_desc zynq_cortex_a9_scu_map __initdata = {\n"
+ "@@ -104,8 +101,8 @@ static const char * const zynq_dt_match[] = {\n"
+ " DT_MACHINE_START(XILINX_EP107, \"Xilinx Zynq Platform\")\n"
+ " \t.smp\t\t= smp_ops(zynq_smp_ops),\n"
+ " \t.map_io\t\t= zynq_map_io,\n"
+ "+\t.init_early\t= zynq_init_early,\n"
+ " \t.init_machine\t= zynq_init_machine,\n"
+ "-\t.init_time\t= zynq_timer_init,\n"
+ " \t.dt_compat\t= zynq_dt_match,\n"
+ " \t.restart\t= zynq_system_reset,\n"
+ " MACHINE_END\n"
+ "diff --git a/arch/arm/mach-zynq/slcr.c b/arch/arm/mach-zynq/slcr.c\n"
+ "index 1836d5a..59ad09f 100644\n"
+ "--- a/arch/arm/mach-zynq/slcr.c\n"
+ "+++ b/arch/arm/mach-zynq/slcr.c\n"
+ "@@ -106,8 +106,6 @@ int __init zynq_slcr_init(void)\n"
+ " \n"
+ " \tpr_info(\"%s mapped to %p\\n\", np->name, zynq_slcr_base);\n"
+ " \n"
+ "-\tzynq_clock_init(zynq_slcr_base);\n"
+ "-\n"
+ " \tof_node_put(np);\n"
+ " \n"
+ " \treturn 0;\n"
+ "diff --git a/drivers/clk/zynq/clkc.c b/drivers/clk/zynq/clkc.c\n"
+ "index 089d3e3..8fa0de7 100644\n"
+ "--- a/drivers/clk/zynq/clkc.c\n"
+ "+++ b/drivers/clk/zynq/clkc.c\n"
+ "@@ -21,6 +21,7 @@\n"
+ " #include <linux/clk/zynq.h>\n"
+ " #include <linux/clk-provider.h>\n"
+ " #include <linux/of.h>\n"
+ "+#include <linux/of_address.h>\n"
+ " #include <linux/slab.h>\n"
+ " #include <linux/string.h>\n"
+ " #include <linux/io.h>\n"
+ "@@ -203,9 +204,19 @@ static void __init zynq_clk_setup(struct device_node *np)\n"
+ " \tconst char *periph_parents[4];\n"
+ " \tconst char *swdt_ext_clk_mux_parents[2];\n"
+ " \tconst char *can_mio_mux_parents[NUM_MIO_PINS];\n"
+ "+\tstruct device_node *slcrnp;\n"
+ " \n"
+ " \tpr_info(\"Zynq clock init\\n\");\n"
+ " \n"
+ "+\tslcrnp = of_find_compatible_node(NULL, NULL, \"xlnx,zynq-slcr\");\n"
+ "+\tif (WARN_ON(!slcrnp))\n"
+ "+\t\treturn;\n"
+ "+\n"
+ "+\tzynq_slcr_base_priv = of_iomap(slcrnp, 0);\n"
+ "+\tof_node_put(slcrnp);\n"
+ "+\tif (WARN_ON(!zynq_slcr_base_priv))\n"
+ "+\t\treturn;\n"
+ "+\t\n"
+ " \t/* get clock output names from DT */\n"
+ " \tfor (i = 0; i < clk_max; i++) {\n"
+ " \t\tif (of_property_read_string_index(np, \"clock-output-names\",\n"
+ "@@ -528,9 +539,3 @@ static void __init zynq_clk_setup(struct device_node *np)\n"
+ " }\n"
+ " \n"
+ " CLK_OF_DECLARE(zynq_clkc, \"xlnx,ps7-clkc\", zynq_clk_setup);\n"
+ "-\n"
+ "-void __init zynq_clock_init(void __iomem *slcr_base)\n"
+ "-{\n"
+ "-\tzynq_slcr_base_priv = slcr_base;\n"
+ "-\tof_clk_init(NULL);\n"
+ "-}\n"
+ "diff --git a/include/linux/clk/zynq.h b/include/linux/clk/zynq.h\n"
+ "index e062d31..58b5516 100644\n"
+ "--- a/include/linux/clk/zynq.h\n"
+ "+++ b/include/linux/clk/zynq.h\n"
+ "@@ -22,8 +22,6 @@\n"
+ " \n"
+ " #include <linux/spinlock.h>\n"
+ " \n"
+ "-void zynq_clock_init(void __iomem *slcr);\n"
+ "-\n"
+ " struct clk *clk_register_zynq_pll(const char *name, const char *parent,\n"
+ " \t\tvoid __iomem *pll_ctrl, void __iomem *pll_status, u8 lock_index,\n"
+ " \t\tspinlock_t *lock);"
 
-06c227eafe46c78be5e5cd2c487f42796d6f50fca173e815b8edefab391de8ad
+103d83e290f39bf60d138de0c775fd0797b2c2842247d1890062e01b7ce50511

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.