[U-Boot] [PATCH 5/5] fit: Introduce methods for applying overlays on fit-load

Marek Vasut marex at denx.de
Sat Jul 1 14:11:35 UTC 2017


On 06/30/2017 06:23 PM, Pantelis Antoniou wrote:
> Introduce an overlay based method for constructing a base DT blob
> to pass to the kernel.
> 
> Both canned and runtime feature selection is supported.
> 
> Signed-off-by: Pantelis Antoniou <pantelis.antoniou at konsulko.com>

[...]

> @@ -1475,29 +1482,58 @@ int fit_conf_get_node(const void *fit, const char *conf_uname)
>  		debug("Found default configuration: '%s'\n", conf_uname);
>  	}
>  
> +	s = strchr(conf_uname, '#');
> +	if (s) {
> +		len = s - conf_uname;
> +		conf_uname_copy = malloc(len + 1);
> +		if (!conf_uname_copy) {
> +			debug("Can't allocate uname copy: '%s'\n",
> +					conf_uname);
> +			return -ENOMEM;
> +		}
> +		memcpy(conf_uname_copy, conf_uname, len);

Is that like strdup() here ?

> +		conf_uname_copy[len] = '\0';
> +		conf_uname = conf_uname_copy;
> +	}
> +
>  	noffset = fdt_subnode_offset(fit, confs_noffset, conf_uname);
>  	if (noffset < 0) {
>  		debug("Can't get node offset for configuration unit name: '%s' (%s)\n",
>  		      conf_uname, fdt_strerror(noffset));
>  	}
>  
> +	if (conf_uname_copy)
> +		free(conf_uname_copy);
> +
>  	return noffset;
>  }

[...]


-- 
Best regards,
Marek Vasut


More information about the U-Boot mailing list