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