[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