xref: /aosp_15_r20/external/dtc/libfdt/fdt_empty_tree.c (revision cd60bc56d4bea3af4ec04523e4d71c2b272c8aff)
1*cd60bc56SAndroid Build Coastguard Worker // SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
2*cd60bc56SAndroid Build Coastguard Worker /*
3*cd60bc56SAndroid Build Coastguard Worker  * libfdt - Flat Device Tree manipulation
4*cd60bc56SAndroid Build Coastguard Worker  * Copyright (C) 2012 David Gibson, IBM Corporation.
5*cd60bc56SAndroid Build Coastguard Worker  */
6*cd60bc56SAndroid Build Coastguard Worker #include "libfdt_env.h"
7*cd60bc56SAndroid Build Coastguard Worker 
8*cd60bc56SAndroid Build Coastguard Worker #include <fdt.h>
9*cd60bc56SAndroid Build Coastguard Worker #include <libfdt.h>
10*cd60bc56SAndroid Build Coastguard Worker 
11*cd60bc56SAndroid Build Coastguard Worker #include "libfdt_internal.h"
12*cd60bc56SAndroid Build Coastguard Worker 
fdt_create_empty_tree(void * buf,int bufsize)13*cd60bc56SAndroid Build Coastguard Worker int fdt_create_empty_tree(void *buf, int bufsize)
14*cd60bc56SAndroid Build Coastguard Worker {
15*cd60bc56SAndroid Build Coastguard Worker 	int err;
16*cd60bc56SAndroid Build Coastguard Worker 
17*cd60bc56SAndroid Build Coastguard Worker 	err = fdt_create(buf, bufsize);
18*cd60bc56SAndroid Build Coastguard Worker 	if (err)
19*cd60bc56SAndroid Build Coastguard Worker 		return err;
20*cd60bc56SAndroid Build Coastguard Worker 
21*cd60bc56SAndroid Build Coastguard Worker 	err = fdt_finish_reservemap(buf);
22*cd60bc56SAndroid Build Coastguard Worker 	if (err)
23*cd60bc56SAndroid Build Coastguard Worker 		return err;
24*cd60bc56SAndroid Build Coastguard Worker 
25*cd60bc56SAndroid Build Coastguard Worker 	err = fdt_begin_node(buf, "");
26*cd60bc56SAndroid Build Coastguard Worker 	if (err)
27*cd60bc56SAndroid Build Coastguard Worker 		return err;
28*cd60bc56SAndroid Build Coastguard Worker 
29*cd60bc56SAndroid Build Coastguard Worker 	err =  fdt_end_node(buf);
30*cd60bc56SAndroid Build Coastguard Worker 	if (err)
31*cd60bc56SAndroid Build Coastguard Worker 		return err;
32*cd60bc56SAndroid Build Coastguard Worker 
33*cd60bc56SAndroid Build Coastguard Worker 	err = fdt_finish(buf);
34*cd60bc56SAndroid Build Coastguard Worker 	if (err)
35*cd60bc56SAndroid Build Coastguard Worker 		return err;
36*cd60bc56SAndroid Build Coastguard Worker 
37*cd60bc56SAndroid Build Coastguard Worker 	return fdt_open_into(buf, buf, bufsize);
38*cd60bc56SAndroid Build Coastguard Worker }
39