public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] xtensa: Partially Revert "xtensa: Remove unnecessary of_platform_populate with default match table"
@ 2016-07-26 18:01 Rob Herring
  2016-07-26 18:50 ` Max Filippov
  0 siblings, 1 reply; 5+ messages in thread
From: Rob Herring @ 2016-07-26 18:01 UTC (permalink / raw)
  To: Chris Zankel
  Cc: linux-kernel, linux-xtensa, Kefeng Wang, Guenter Roeck,
	Max Filippov

This partially reverts commit 69d99e6c0d62 keeping only the main
purpose of the original commit which is the removal of
of_platform_populate() call. The moving of of_clk_init() caused changes
in the initialization order breaking booting.

Fixes: 69d99e6c0d621f ("xtensa: Remove unnecessary of_platform_populate with default match table")
Cc: Kefeng Wang <wangkefeng.wang@huawei.com>
Cc: Guenter Roeck <linux@roeck-us.net>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
---
This is on top of Guenter's build fix. Please test and I'll apply. I 
tried briefly running under QEMU, but didn't have success. If anyone has 
up to date instructions that would be helpful as using these[1] didn't 
seem to work.

Rob

[1] http://wiki.linux-xtensa.org/index.php/Xtensa_on_QEMU

 arch/xtensa/kernel/setup.c | 9 +++++++++
 arch/xtensa/kernel/time.c  | 2 --
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/arch/xtensa/kernel/setup.c b/arch/xtensa/kernel/setup.c
index 6f68c60..143251e 100644
--- a/arch/xtensa/kernel/setup.c
+++ b/arch/xtensa/kernel/setup.c
@@ -22,6 +22,7 @@
 #include <linux/bootmem.h>
 #include <linux/kernel.h>
 #include <linux/percpu.h>
+#include <linux/clk-provider.h>
 #include <linux/cpu.h>
 #include <linux/of.h>
 #include <linux/of_fdt.h>
@@ -251,6 +252,14 @@ void __init early_init_devtree(void *params)
 		strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE);
 }
 
+static int __init xtensa_device_probe(void)
+{
+	of_clk_init(NULL);
+	return 0;
+}
+
+device_initcall(xtensa_device_probe);
+
 #endif /* CONFIG_OF */
 
 /*
diff --git a/arch/xtensa/kernel/time.c b/arch/xtensa/kernel/time.c
index 6ec73c9..b9ad9fe 100644
--- a/arch/xtensa/kernel/time.c
+++ b/arch/xtensa/kernel/time.c
@@ -15,7 +15,6 @@
 #include <linux/errno.h>
 #include <linux/sched.h>
 #include <linux/time.h>
-#include <linux/clk-provider.h>
 #include <linux/clocksource.h>
 #include <linux/clockchips.h>
 #include <linux/interrupt.h>
@@ -149,7 +148,6 @@ void __init time_init(void)
 	local_timer_setup(0);
 	setup_irq(this_cpu_ptr(&ccount_timer)->evt.irq, &timer_irqaction);
 	sched_clock_register(ccount_sched_clock_read, 32, ccount_freq);
-	of_clk_init(NULL);
 	clocksource_probe();
 }
 
-- 
2.9.2

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] xtensa: Partially Revert "xtensa: Remove unnecessary of_platform_populate with default match table"
  2016-07-26 18:01 [PATCH] xtensa: Partially Revert "xtensa: Remove unnecessary of_platform_populate with default match table" Rob Herring
@ 2016-07-26 18:50 ` Max Filippov
  2016-07-26 19:13   ` Rob Herring
  2016-07-27  6:56   ` Kefeng Wang
  0 siblings, 2 replies; 5+ messages in thread
From: Max Filippov @ 2016-07-26 18:50 UTC (permalink / raw)
  To: Rob Herring
  Cc: Chris Zankel, linux-kernel, linux-xtensa, Kefeng Wang,
	Guenter Roeck

On Tue, Jul 26, 2016 at 01:01:32PM -0500, Rob Herring wrote:
> This partially reverts commit 69d99e6c0d62 keeping only the main
> purpose of the original commit which is the removal of
> of_platform_populate() call. The moving of of_clk_init() caused changes
> in the initialization order breaking booting.
> 
> Fixes: 69d99e6c0d621f ("xtensa: Remove unnecessary of_platform_populate with default match table")
> Cc: Kefeng Wang <wangkefeng.wang@huawei.com>
> Cc: Guenter Roeck <linux@roeck-us.net>
> Cc: Max Filippov <jcmvbkbc@gmail.com>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
> This is on top of Guenter's build fix. Please test and I'll apply. I 

Tested-by: Max Filippov <jcmvbkbc@gmail.com>

> tried briefly running under QEMU, but didn't have success. If anyone has 
> up to date instructions that would be helpful as using these[1] didn't 
> seem to work.

I think they're up to date. Another thing that need to be done right is
the toolchain: it must match the configured CPU core. Please refer to
  http://wiki.linux-xtensa.org/index.php/Toolchain_Overlay_File
for more details.

> 
> [1] http://wiki.linux-xtensa.org/index.php/Xtensa_on_QEMU
> 
>  arch/xtensa/kernel/setup.c | 9 +++++++++
>  arch/xtensa/kernel/time.c  | 2 --
>  2 files changed, 9 insertions(+), 2 deletions(-)

-- 
Thanks.
-- Max

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] xtensa: Partially Revert "xtensa: Remove unnecessary of_platform_populate with default match table"
  2016-07-26 18:50 ` Max Filippov
@ 2016-07-26 19:13   ` Rob Herring
  2016-07-26 19:49     ` Max Filippov
  2016-07-27  6:56   ` Kefeng Wang
  1 sibling, 1 reply; 5+ messages in thread
From: Rob Herring @ 2016-07-26 19:13 UTC (permalink / raw)
  To: Max Filippov
  Cc: Chris Zankel, linux-kernel@vger.kernel.org, linux-xtensa,
	Kefeng Wang, Guenter Roeck

On Tue, Jul 26, 2016 at 1:50 PM, Max Filippov <jcmvbkbc@gmail.com> wrote:
> On Tue, Jul 26, 2016 at 01:01:32PM -0500, Rob Herring wrote:
>> This partially reverts commit 69d99e6c0d62 keeping only the main
>> purpose of the original commit which is the removal of
>> of_platform_populate() call. The moving of of_clk_init() caused changes
>> in the initialization order breaking booting.
>>
>> Fixes: 69d99e6c0d621f ("xtensa: Remove unnecessary of_platform_populate with default match table")
>> Cc: Kefeng Wang <wangkefeng.wang@huawei.com>
>> Cc: Guenter Roeck <linux@roeck-us.net>
>> Cc: Max Filippov <jcmvbkbc@gmail.com>
>> Signed-off-by: Rob Herring <robh@kernel.org>
>> ---
>> This is on top of Guenter's build fix. Please test and I'll apply. I
>
> Tested-by: Max Filippov <jcmvbkbc@gmail.com>

Thanks.

>> tried briefly running under QEMU, but didn't have success. If anyone has
>> up to date instructions that would be helpful as using these[1] didn't
>> seem to work.
>
> I think they're up to date. Another thing that need to be done right is
> the toolchain: it must match the configured CPU core. Please refer to
>   http://wiki.linux-xtensa.org/index.php/Toolchain_Overlay_File
> for more details.

I don't build toolchains...

Rob

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] xtensa: Partially Revert "xtensa: Remove unnecessary of_platform_populate with default match table"
  2016-07-26 19:13   ` Rob Herring
@ 2016-07-26 19:49     ` Max Filippov
  0 siblings, 0 replies; 5+ messages in thread
From: Max Filippov @ 2016-07-26 19:49 UTC (permalink / raw)
  To: Rob Herring
  Cc: Chris Zankel, linux-kernel@vger.kernel.org, linux-xtensa,
	Kefeng Wang, Guenter Roeck

On Tue, Jul 26, 2016 at 02:13:52PM -0500, Rob Herring wrote:
> >> I tried briefly running under QEMU, but didn't have success. If anyone has
> >> up to date instructions that would be helpful as using these[1] didn't
> >> seem to work.
> >
> > I think they're up to date. Another thing that need to be done right is
> > the toolchain: it must match the configured CPU core. Please refer to
> >   http://wiki.linux-xtensa.org/index.php/Toolchain_Overlay_File
> > for more details.
> 
> I don't build toolchains...

The toolchain for xtensa built with unmodified binutils does not produce
working code. The one at
  https://www.kernel.org/pub/tools/crosstool/files/bin/
and the one shipped with Fedora are broken.

Here's a few working prebuilt toolchains capable of building linux:
  http://jcmvbkbc.spb.ru/~jcmvbkbc/tmp/201604261801/

-- 
Thanks.
-- Max

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] xtensa: Partially Revert "xtensa: Remove unnecessary of_platform_populate with default match table"
  2016-07-26 18:50 ` Max Filippov
  2016-07-26 19:13   ` Rob Herring
@ 2016-07-27  6:56   ` Kefeng Wang
  1 sibling, 0 replies; 5+ messages in thread
From: Kefeng Wang @ 2016-07-27  6:56 UTC (permalink / raw)
  To: Max Filippov, Rob Herring
  Cc: Chris Zankel, linux-kernel, linux-xtensa, Guenter Roeck



On 2016/7/27 2:50, Max Filippov wrote:
> On Tue, Jul 26, 2016 at 01:01:32PM -0500, Rob Herring wrote:
>> This partially reverts commit 69d99e6c0d62 keeping only the main
>> purpose of the original commit which is the removal of
>> of_platform_populate() call. The moving of of_clk_init() caused changes
>> in the initialization order breaking booting.
>>
>> Fixes: 69d99e6c0d621f ("xtensa: Remove unnecessary of_platform_populate with default match table")
>> Cc: Kefeng Wang <wangkefeng.wang@huawei.com>
>> Cc: Guenter Roeck <linux@roeck-us.net>
>> Cc: Max Filippov <jcmvbkbc@gmail.com>
>> Signed-off-by: Rob Herring <robh@kernel.org>
>> ---
>> This is on top of Guenter's build fix. Please test and I'll apply. I 

Hi all,

Sorry about the issue introduced by me, will be more careful,
and thanks Rob and Guenter to fix them.

BRs,
Kefeng


> 
> Tested-by: Max Filippov <jcmvbkbc@gmail.com>
> 
>> tried briefly running under QEMU, but didn't have success. If anyone has 
>> up to date instructions that would be helpful as using these[1] didn't 
>> seem to work.
> 
> I think they're up to date. Another thing that need to be done right is
> the toolchain: it must match the configured CPU core. Please refer to
>   http://wiki.linux-xtensa.org/index.php/Toolchain_Overlay_File
> for more details.
> 
>>
>> [1] http://wiki.linux-xtensa.org/index.php/Xtensa_on_QEMU
>>
>>  arch/xtensa/kernel/setup.c | 9 +++++++++
>>  arch/xtensa/kernel/time.c  | 2 --
>>  2 files changed, 9 insertions(+), 2 deletions(-)
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-07-27  6:58 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-26 18:01 [PATCH] xtensa: Partially Revert "xtensa: Remove unnecessary of_platform_populate with default match table" Rob Herring
2016-07-26 18:50 ` Max Filippov
2016-07-26 19:13   ` Rob Herring
2016-07-26 19:49     ` Max Filippov
2016-07-27  6:56   ` Kefeng Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox