From 190fe191cfbead9fe089453dd092869c9469c6d4 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sat, 26 Mar 2016 01:24:30 +0000 Subject: sh: add support for linking a builtin device tree blob in the kernel Signed-off-by: Rich Felker --- arch/sh/kernel/setup.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'arch/sh/kernel/setup.c') diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c index 5d34605b58b5..5b9eb70311e3 100644 --- a/arch/sh/kernel/setup.c +++ b/arch/sh/kernel/setup.c @@ -251,7 +251,11 @@ void __ref sh_fdt_init(phys_addr_t dt_phys) /* Avoid calling an __init function on secondary cpus. */ if (done) return; +#ifdef CONFIG_USE_BUILTIN_DTB + dt_virt = __dtb_start; +#else dt_virt = phys_to_virt(dt_phys); +#endif if (!dt_virt || !early_init_dt_scan(dt_virt)) { pr_crit("Error: invalid device tree blob" -- cgit v1.2.3 From 03767daa1387f87619404bfe108ebb6aa5826e00 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Wed, 1 Jun 2016 22:21:45 +0000 Subject: sh: fix build regression with CONFIG_OF && !CONFIG_OF_FLATTREE Such a configuration could only be selected by manually selecting CONFIG_OF; SH_DEVICE_TREE selects both. The affected code is using the flat DTB at boot time and thus rightfully should depend on OF_FLATTREE, not just OF. Signed-off-by: Rich Felker --- arch/sh/kernel/setup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'arch/sh/kernel/setup.c') diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c index 5b9eb70311e3..e7b49d81053e 100644 --- a/arch/sh/kernel/setup.c +++ b/arch/sh/kernel/setup.c @@ -242,7 +242,7 @@ void __init __weak plat_early_device_setup(void) { } -#ifdef CONFIG_OF +#ifdef CONFIG_OF_FLATTREE void __ref sh_fdt_init(phys_addr_t dt_phys) { static int done = 0; -- cgit v1.2.3