[PATCH v3 07/24] C6X: devicetree support

Arnd Bergmann arnd at arndb.de
Wed Sep 28 23:31:36 EST 2011


On Tuesday 27 September 2011, Mark Salter wrote:
> diff --git a/arch/c6x/boot/install-dtb.c b/arch/c6x/boot/install-dtb.c
> new file mode 100644
> index 0000000..fa979ce
> --- /dev/null
> +++ b/arch/c6x/boot/install-dtb.c
> @@ -0,0 +1,333 @@
> +/*
> + * Program to hack in a DTB to an ELF file having a placeholder
> + * section named __fst_blob.
> + *
> + * This allows for building multiple images with builtin DTBs
> + * using a single vmlinux image. This is only necessary until
> + * bootloader support exists.
> + *
> + * Copyright 2011 Texas Instruments Incorporated
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License
> + * as published by the Free Software Foundation; either version
> + * 2 of the License, or (at your option) any later version.
> + *
> + * Usage: install-dtb <image.dtb> <kernel.elf>
> + */

Other architectures allow simply appending the device tree to the
kernel image file, which is more convenient for users and does
not require much kernel support. Have you tried this?

> diff --git a/arch/c6x/platforms/platform.c b/arch/c6x/platforms/platform.c
> new file mode 100644
> index 0000000..ad4651c
> --- /dev/null
> +++ b/arch/c6x/platforms/platform.c
> @@ -0,0 +1,17 @@
> +
> +static int __init c6x_device_probe(void)
> +{
> +       of_platform_bus_probe(NULL, of_default_bus_match_table, NULL);
> +       return 0;
> +}
> +device_initcall(c6x_device_probe);

device_initcall is run rather late. I think it would be more useful
to run this as early as possible, in order to make it possible to
have more of the core services probed through the device tree.

I also think that for probing the device tree root, you should be
using of_platform_populate instead of of_platform_bus_probe
nowadays. Maybe Grant can provide more information on this.

	Arnd


More information about the devicetree-discuss mailing list