Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1255497 > unrolled thread

[PATCH] arm: Test for CONFIG_USE_OF to handle the USE_OF=n/OF=y case

Started byGeert Uytterhoeven <geert@linux-m68k.org>
First post2015-10-25 16:30 +0100
Last post2015-10-26 18:30 +0100
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] arm: Test for CONFIG_USE_OF to handle the USE_OF=n/OF=y case Geert Uytterhoeven <geert@linux-m68k.org> - 2015-10-25 16:30 +0100
    Re: [PATCH] arm: Test for CONFIG_USE_OF to handle the USE_OF=n/OF=y case Rob Herring <robh@kernel.org> - 2015-10-26 01:50 +0100
      Re: [PATCH] arm: Test for CONFIG_USE_OF to handle the USE_OF=n/OF=y case Geert Uytterhoeven <geert@linux-m68k.org> - 2015-10-26 18:30 +0100

#1255497 — [PATCH] arm: Test for CONFIG_USE_OF to handle the USE_OF=n/OF=y case

FromGeert Uytterhoeven <geert@linux-m68k.org>
Date2015-10-25 16:30 +0100
Subject[PATCH] arm: Test for CONFIG_USE_OF to handle the USE_OF=n/OF=y case
Message-ID<qnvp7-4EN-5@gated-at.bofh.it>
Until commit 0166dc11be911213 ("of: make CONFIG_OF user selectable"),
CONFIG_OF=y implied CONFIG_USE_OF=y on ARM, as the former could solely
be enabled by being selected by the latter.

However, if the user now manually enables CONFIG_OF=y while
CONFIG_USE_OF=n:

    arch/arm/kernel/devtree.c: In function 'setup_machine_fdt':
    arch/arm/kernel/devtree.c:215:2: error: implicit declaration of function 'early_init_dt_verify' [-Werror=implicit-function-declaration]
      if (!dt_phys || !early_init_dt_verify(phys_to_virt(dt_phys)))
      ^
    arch/arm/kernel/devtree.c:218:2: error: implicit declaration of function 'of_flat_dt_match_machine' [-Werror=implicit-function-declaration]
      mdesc = of_flat_dt_match_machine(mdesc_best, arch_get_next_mach);
      ^
    arch/arm/kernel/devtree.c:218:8: warning: assignment makes pointer from integer without a cast
      mdesc = of_flat_dt_match_machine(mdesc_best, arch_get_next_mach);
	    ^
    arch/arm/kernel/devtree.c:228:3: error: implicit declaration of function 'of_get_flat_dt_root' [-Werror=implicit-function-declaration]
       dt_root = of_get_flat_dt_root();
       ^
    arch/arm/kernel/devtree.c:229:3: error: implicit declaration of function 'of_get_flat_dt_prop' [-Werror=implicit-function-declaration]
       prop = of_get_flat_dt_prop(dt_root, "compatible", &size);
       ^
    arch/arm/kernel/devtree.c:229:8: warning: assignment makes pointer from integer without a cast
       prop = of_get_flat_dt_prop(dt_root, "compatible", &size);
	    ^
    arch/arm/kernel/devtree.c:244:2: error: implicit declaration of function 'early_init_dt_scan_nodes' [-Werror=implicit-function-declaration]
      early_init_dt_scan_nodes();
      ^

and

    arch/arm/kernel/built-in.o: In function `setup_arch':
    arch/arm/kernel/setup.c:940: undefined reference to `setup_machine_fdt'
    arch/arm/kernel/setup.c:979: undefined reference to `arm_dt_init_cpu_maps'

Replace tests for CONFIG_OF by tests for CONFIG_USE_OF where appropriate
to fix this.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
Cfr. http://kisskb.ellerman.id.au/kisskb/buildresult/12531538/

I only fixed the particular issue with the randconfig from the build
above.  Are there more tests for CONFIG_OF that should be converted to
CONFIG_USE_OF?
---
 arch/arm/include/asm/prom.h | 6 +++---
 arch/arm/kernel/Makefile    | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/include/asm/prom.h b/arch/arm/include/asm/prom.h
index cd94ef2ef283e14e..aac51015d18e27fb 100644
--- a/arch/arm/include/asm/prom.h
+++ b/arch/arm/include/asm/prom.h
@@ -11,12 +11,12 @@
 #ifndef __ASMARM_PROM_H
 #define __ASMARM_PROM_H
 
-#ifdef CONFIG_OF
+#ifdef CONFIG_USE_OF
 
 extern const struct machine_desc *setup_machine_fdt(unsigned int dt_phys);
 extern void __init arm_dt_init_cpu_maps(void);
 
-#else /* CONFIG_OF */
+#else /* CONFIG_USE_OF */
 
 static inline const struct machine_desc *setup_machine_fdt(unsigned int dt_phys)
 {
@@ -25,5 +25,5 @@ static inline const struct machine_desc *setup_machine_fdt(unsigned int dt_phys)
 
 static inline void arm_dt_init_cpu_maps(void) { }
 
-#endif /* CONFIG_OF */
+#endif /* CONFIG_USE_OF */
 #endif /* ASMARM_PROM_H */
diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile
index af9e59bf3831b9fd..4f6014eee0fe65bd 100644
--- a/arch/arm/kernel/Makefile
+++ b/arch/arm/kernel/Makefile
@@ -58,7 +58,7 @@ obj-$(CONFIG_ARM_THUMBEE)	+= thumbee.o
 obj-$(CONFIG_KGDB)		+= kgdb.o patch.o
 obj-$(CONFIG_ARM_UNWIND)	+= unwind.o
 obj-$(CONFIG_HAVE_TCM)		+= tcm.o
-obj-$(CONFIG_OF)		+= devtree.o
+obj-$(CONFIG_USE_OF)		+= devtree.o
 obj-$(CONFIG_CRASH_DUMP)	+= crash_dump.o
 obj-$(CONFIG_SWP_EMULATE)	+= swp_emulate.o
 CFLAGS_swp_emulate.o		:= -Wa,-march=armv7-a
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1255597

FromRob Herring <robh@kernel.org>
Date2015-10-26 01:50 +0100
Message-ID<qnE94-1qF-3@gated-at.bofh.it>
In reply to#1255497
On Sun, Oct 25, 2015 at 10:25 AM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> Until commit 0166dc11be911213 ("of: make CONFIG_OF user selectable"),
> CONFIG_OF=y implied CONFIG_USE_OF=y on ARM, as the former could solely
> be enabled by being selected by the latter.

Arnd sent a similar fix[1] which I prefer.

> However, if the user now manually enables CONFIG_OF=y while
> CONFIG_USE_OF=n:
>
>     arch/arm/kernel/devtree.c: In function 'setup_machine_fdt':
>     arch/arm/kernel/devtree.c:215:2: error: implicit declaration of function 'early_init_dt_verify' [-Werror=implicit-function-declaration]
>       if (!dt_phys || !early_init_dt_verify(phys_to_virt(dt_phys)))
>       ^
>     arch/arm/kernel/devtree.c:218:2: error: implicit declaration of function 'of_flat_dt_match_machine' [-Werror=implicit-function-declaration]
>       mdesc = of_flat_dt_match_machine(mdesc_best, arch_get_next_mach);
>       ^
>     arch/arm/kernel/devtree.c:218:8: warning: assignment makes pointer from integer without a cast
>       mdesc = of_flat_dt_match_machine(mdesc_best, arch_get_next_mach);
>             ^
>     arch/arm/kernel/devtree.c:228:3: error: implicit declaration of function 'of_get_flat_dt_root' [-Werror=implicit-function-declaration]
>        dt_root = of_get_flat_dt_root();
>        ^
>     arch/arm/kernel/devtree.c:229:3: error: implicit declaration of function 'of_get_flat_dt_prop' [-Werror=implicit-function-declaration]
>        prop = of_get_flat_dt_prop(dt_root, "compatible", &size);
>        ^
>     arch/arm/kernel/devtree.c:229:8: warning: assignment makes pointer from integer without a cast
>        prop = of_get_flat_dt_prop(dt_root, "compatible", &size);
>             ^
>     arch/arm/kernel/devtree.c:244:2: error: implicit declaration of function 'early_init_dt_scan_nodes' [-Werror=implicit-function-declaration]
>       early_init_dt_scan_nodes();
>       ^
>
> and
>
>     arch/arm/kernel/built-in.o: In function `setup_arch':
>     arch/arm/kernel/setup.c:940: undefined reference to `setup_machine_fdt'
>     arch/arm/kernel/setup.c:979: undefined reference to `arm_dt_init_cpu_maps'
>
> Replace tests for CONFIG_OF by tests for CONFIG_USE_OF where appropriate
> to fix this.
>
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
> ---
> Cfr. http://kisskb.ellerman.id.au/kisskb/buildresult/12531538/
>
> I only fixed the particular issue with the randconfig from the build
> above.  Are there more tests for CONFIG_OF that should be converted to
> CONFIG_USE_OF?

I'd rather move toward removing USE_OF and having arches select if
they use EARLY_FLATTREE.

Rob

[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2015-October/376484.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1256178

FromGeert Uytterhoeven <geert@linux-m68k.org>
Date2015-10-26 18:30 +0100
Message-ID<qnTKN-2CZ-1@gated-at.bofh.it>
In reply to#1255597
Hi Rob,

On Mon, Oct 26, 2015 at 1:45 AM, Rob Herring <robh@kernel.org> wrote:
> On Sun, Oct 25, 2015 at 10:25 AM, Geert Uytterhoeven
> <geert@linux-m68k.org> wrote:
>> Until commit 0166dc11be911213 ("of: make CONFIG_OF user selectable"),
>> CONFIG_OF=y implied CONFIG_USE_OF=y on ARM, as the former could solely
>> be enabled by being selected by the latter.
>
> Arnd sent a similar fix[1] which I prefer.

Fine for me.

>> However, if the user now manually enables CONFIG_OF=y while
>> CONFIG_USE_OF=n:
>>
>>     arch/arm/kernel/devtree.c: In function 'setup_machine_fdt':
>>     arch/arm/kernel/devtree.c:215:2: error: implicit declaration of function 'early_init_dt_verify' [-Werror=implicit-function-declaration]
>>       if (!dt_phys || !early_init_dt_verify(phys_to_virt(dt_phys)))
>>       ^
>>     arch/arm/kernel/devtree.c:218:2: error: implicit declaration of function 'of_flat_dt_match_machine' [-Werror=implicit-function-declaration]
>>       mdesc = of_flat_dt_match_machine(mdesc_best, arch_get_next_mach);
>>       ^
>>     arch/arm/kernel/devtree.c:218:8: warning: assignment makes pointer from integer without a cast
>>       mdesc = of_flat_dt_match_machine(mdesc_best, arch_get_next_mach);
>>             ^
>>     arch/arm/kernel/devtree.c:228:3: error: implicit declaration of function 'of_get_flat_dt_root' [-Werror=implicit-function-declaration]
>>        dt_root = of_get_flat_dt_root();
>>        ^
>>     arch/arm/kernel/devtree.c:229:3: error: implicit declaration of function 'of_get_flat_dt_prop' [-Werror=implicit-function-declaration]
>>        prop = of_get_flat_dt_prop(dt_root, "compatible", &size);
>>        ^
>>     arch/arm/kernel/devtree.c:229:8: warning: assignment makes pointer from integer without a cast
>>        prop = of_get_flat_dt_prop(dt_root, "compatible", &size);
>>             ^
>>     arch/arm/kernel/devtree.c:244:2: error: implicit declaration of function 'early_init_dt_scan_nodes' [-Werror=implicit-function-declaration]
>>       early_init_dt_scan_nodes();
>>       ^
>>
>> and
>>
>>     arch/arm/kernel/built-in.o: In function `setup_arch':
>>     arch/arm/kernel/setup.c:940: undefined reference to `setup_machine_fdt'
>>     arch/arm/kernel/setup.c:979: undefined reference to `arm_dt_init_cpu_maps'
>>
>> Replace tests for CONFIG_OF by tests for CONFIG_USE_OF where appropriate
>> to fix this.
>>
>> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
>> ---
>> Cfr. http://kisskb.ellerman.id.au/kisskb/buildresult/12531538/
>>
>> I only fixed the particular issue with the randconfig from the build
>> above.  Are there more tests for CONFIG_OF that should be converted to
>> CONFIG_USE_OF?
>
> I'd rather move toward removing USE_OF and having arches select if
> they use EARLY_FLATTREE.
>
> Rob
>
> [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2015-October/376484.html

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web