[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <b70e8b58-e981-1222-4d79-1e408ad60f18@infradead.org>
Date: Fri, 3 Feb 2023 23:13:05 -0800
From: Randy Dunlap <rdunlap@...radead.org>
To: "D. Jeff Dionne" <djeffdionne@...il.com>
Cc: linux-kernel@...r.kernel.org, Rob Herring <robh+dt@...nel.org>,
Frank Rowand <frowand.list@...il.com>,
devicetree@...r.kernel.org, Rich Felker <dalias@...c.org>,
Yoshinori Sato <ysato@...rs.sourceforge.jp>,
Arnd Bergmann <arnd@...db.de>,
Geert Uytterhoeven <geert+renesas@...der.be>,
John Paul Adrian Glaubitz <glaubitz@...sik.fu-berlin.de>,
linux-sh@...r.kernel.org
Subject: Re: [PATCH v2] sh: init: use OF_EARLY_FLATTREE for early init
On 2/3/23 23:05, D. Jeff Dionne wrote:
> Randy, which SH3 chipset target are you building for? Of course all that stay need to be converted to device tree, but a DT SH3 proof of existence that you build for already will surely cover good swath of the missing drivers.
>
Hi Jeff,
I don't have a specific target. I'm just fixing a build error.
>
>> On Feb 4, 2023, at 14:51, Randy Dunlap <rdunlap@...radead.org> wrote:
>>
>> When CONFIG_OF_EARLY_FLATTREE and CONFIG_SH_DEVICE_TREE are not set,
>> SH3 build fails with a call to early_init_dt_scan(), so in
>> arch/sh/kernel/setup.c and arch/sh/kernel/head_32.S, use
>> CONFIG_OF_EARLY_FLATTREE instead of CONFIG_OF_FLATTREE.
>>
>> Fixes this build error:
>> ../arch/sh/kernel/setup.c: In function 'sh_fdt_init':
>> ../arch/sh/kernel/setup.c:262:26: error: implicit declaration of function 'early_init_dt_scan' [-Werror=implicit-function-declaration]
>> 262 | if (!dt_virt || !early_init_dt_scan(dt_virt)) {
>>
>> Fixes: 03767daa1387 ("sh: fix build regression with CONFIG_OF && !CONFIG_OF_FLATTREE")
>> Fixes: eb6b6930a70f ("sh: fix memory corruption of unflattened device tree")
>> Signed-off-by: Randy Dunlap <rdunlap@...radead.org>
>> Suggested-by: Rob Herring <robh+dt@...nel.org>
>> Cc: Frank Rowand <frowand.list@...il.com>
>> Cc: devicetree@...r.kernel.org
>> Cc: Rich Felker <dalias@...c.org>
>> Cc: Yoshinori Sato <ysato@...rs.sourceforge.jp>
>> Cc: Arnd Bergmann <arnd@...db.de>
>> Cc: Geert Uytterhoeven <geert+renesas@...der.be>
>> Cc: John Paul Adrian Glaubitz <glaubitz@...sik.fu-berlin.de>
>> Cc: linux-sh@...r.kernel.org
>> ---
>> v2: use Suggested-by: for Rob.
>> add more Cc's.
>>
>> arch/sh/kernel/head_32.S | 6 +++---
>> arch/sh/kernel/setup.c | 4 ++--
>> 2 files changed, 5 insertions(+), 5 deletions(-)
>>
>> diff arch/sh/kernel/setup.c arch/sh/kernel/setup.c
>> diff -- a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c
>> --- a/arch/sh/kernel/setup.c
>> +++ b/arch/sh/kernel/setup.c
>> @@ -244,7 +244,7 @@ void __init __weak plat_early_device_set
>> {
>> }
>>
>> -#ifdef CONFIG_OF_FLATTREE
>> +#ifdef CONFIG_OF_EARLY_FLATTREE
>> void __ref sh_fdt_init(phys_addr_t dt_phys)
>> {
>> static int done = 0;
>> @@ -326,7 +326,7 @@ void __init setup_arch(char **cmdline_p)
>> /* Let earlyprintk output early console messages */
>> sh_early_platform_driver_probe("earlyprintk", 1, 1);
>>
>> -#ifdef CONFIG_OF_FLATTREE
>> +#ifdef CONFIG_OF_EARLY_FLATTREE
>> #ifdef CONFIG_USE_BUILTIN_DTB
>> unflatten_and_copy_device_tree();
>> #else
>> diff -- a/arch/sh/kernel/head_32.S b/arch/sh/kernel/head_32.S
>> --- a/arch/sh/kernel/head_32.S
>> +++ b/arch/sh/kernel/head_32.S
>> @@ -64,7 +64,7 @@ ENTRY(_stext)
>> ldc r0, r6_bank
>> #endif
>>
>> -#ifdef CONFIG_OF_FLATTREE
>> +#ifdef CONFIG_OF_EARLY_FLATTREE
>> mov r4, r12 ! Store device tree blob pointer in r12
>> #endif
>>
>> @@ -315,7 +315,7 @@ ENTRY(_stext)
>> 10:
>> #endif
>>
>> -#ifdef CONFIG_OF_FLATTREE
>> +#ifdef CONFIG_OF_EARLY_FLATTREE
>> mov.l 8f, r0 ! Make flat device tree available early.
>> jsr @r0
>> mov r12, r4
>> @@ -346,7 +346,7 @@ ENTRY(stack_start)
>> 5: .long start_kernel
>> 6: .long cpu_init
>> 7: .long init_thread_union
>> -#if defined(CONFIG_OF_FLATTREE)
>> +#if defined(CONFIG_OF_EARLY_FLATTREE)
>> 8: .long sh_fdt_init
>> #endif
>>
>
--
~Randy
Powered by blists - more mailing lists