[PATCH 3/4] ARM: highbank: select OFTREE
Sascha Hauer
s.hauer at pengutronix.de
Wed Mar 25 23:59:56 PDT 2015
On Thu, Mar 26, 2015 at 11:58:12AM +0800, Jean-Christophe PLAGNIOL-VILLARD wrote:
>
> > On Mar 26, 2015, at 4:57 AM, Lucas Stach <l.stach at pengutronix.de> wrote:
> >
> > The board code uses quite a few OF functions and it doesn't seem
> > reasonable to run this board without DT support.
> >
> > Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
> > ---
> > arch/arm/mach-highbank/Kconfig | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/arch/arm/mach-highbank/Kconfig b/arch/arm/mach-highbank/Kconfig
> > index 950810b57517..8af480861c3f 100644
> > --- a/arch/arm/mach-highbank/Kconfig
> > +++ b/arch/arm/mach-highbank/Kconfig
> > @@ -9,6 +9,7 @@ choice
> >
> > config MACH_HIGHBANK
> > bool "Calxeda Highbank"
> > + select OFTREE
> > select HAVE_DEFAULT_ENVIRONMENT_NEW
>
> you can run wihtout it as the oftree code is only used if you decide to use the dtb provided by the
> firmware
With CONFIG_OFTREE disabled the board fails to link:
arch/arm/boards/built-in.o: In function `highbank_mem_init':
:(.text.highbank_mem_init+0x10): undefined reference to `of_unflatten_dtb'
arch/arm/boards/built-in.o: In function `highbank_devices_init':
:(.text.highbank_devices_init+0x54): undefined reference to `of_get_fixed_tree'
Even if we had a static inline no-op wrapper for of_get_fixed_tree, the
board doesn't check the return value of of_get_fixed_tree and does this:
fdt = of_get_fixed_tree(NULL);
add_mem_device("dtb", (unsigned long)fdt, be32_to_cpu(fdt->totalsize),
IORESOURCE_MEM_WRITEABLE);
Here the code would crash with a NULL pointer derefence. So unless we
get a couple of other patches I believe Lucas' patch is correct.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list