[PATCH 2/2] sandbox: compile in a fallback device tree
Sascha Hauer
s.hauer at pengutronix.de
Wed Oct 7 04:14:33 EDT 2020
On Mon, Oct 05, 2020 at 10:28:35AM +0200, Ahmad Fatoum wrote:
> The sandbox architecture is device tree only and so far when no --dtb
> was passed, it created a basic one itself and used that.
> Instead of creating the default device tree in C, just build the dtb
> into barebox like we do on other platforms.
>
> When --dtb is specified, that device tree will be used instead.
> This results in functional change: Model and hostname are now more
> accurate.
>
> Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
> ---
> arch/sandbox/board/devices.c | 3 ---
> arch/sandbox/board/dtb.c | 18 +++++-------------
> arch/sandbox/dts/Makefile | 4 ++--
> arch/sandbox/dts/sandbox.dts | 3 ++-
> 4 files changed, 9 insertions(+), 19 deletions(-)
>
> diff --git a/arch/sandbox/board/devices.c b/arch/sandbox/board/devices.c
> index 1fd1913ae60f..26152a8b90a0 100644
> --- a/arch/sandbox/board/devices.c
> +++ b/arch/sandbox/board/devices.c
> @@ -26,9 +26,6 @@ static int sandbox_device_init(void)
> {
> struct device_d *dev, *tmp;
>
> - barebox_set_model("barebox sandbox");
> - barebox_set_hostname("barebox");
> -
> list_for_each_entry_safe(dev, tmp, &sandbox_device_list, list) {
> /* reset the list_head before registering for real */
> dev->list.prev = NULL;
> diff --git a/arch/sandbox/board/dtb.c b/arch/sandbox/board/dtb.c
> index da2452199273..fc8793dbe038 100644
> --- a/arch/sandbox/board/dtb.c
> +++ b/arch/sandbox/board/dtb.c
> @@ -32,24 +32,16 @@ int barebox_register_dtb(const void *new_dtb)
> return 0;
> }
>
> +extern char __dtb_sandbox_start[];
> +
> static int of_sandbox_init(void)
> {
> struct device_node *root;
> - int ret;
> -
> - if (dtb) {
> - root = of_unflatten_dtb(dtb);
> - } else {
> - root = of_new_node(NULL, NULL);
>
> - ret = of_property_write_u32(root, "#address-cells", 2);
> - if (ret)
> - return ret;
> + if (!dtb)
> + dtb = __dtb_sandbox_start;
>
> - ret = of_property_write_u32(root, "#size-cells", 2);
> - if (ret)
> - return ret;
> - }
> + root = of_unflatten_dtb(dtb);
>
> if (IS_ERR(root))
> return PTR_ERR(root);
This is a nice change as it allows us to use the newly created
barebox_register_fdt() for sandbox as well. I squashed this into this
patch.
Sascha
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list