xref: /netbsd-src/sys/external/bsd/libfdt/dist/fdt_empty_tree.c (revision 5a485aa93ac82c3d325292e0224456d0b90f9a60)
1*5a485aa9Sskrll /*	$NetBSD: fdt_empty_tree.c,v 1.1.1.3 2019/12/22 12:30:37 skrll Exp $	*/
2fc885a42Sskrll 
3*5a485aa9Sskrll // SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
46233fbe7Smacallan /*
56233fbe7Smacallan  * libfdt - Flat Device Tree manipulation
66233fbe7Smacallan  * Copyright (C) 2012 David Gibson, IBM Corporation.
76233fbe7Smacallan  */
86233fbe7Smacallan #include "libfdt_env.h"
96233fbe7Smacallan 
106233fbe7Smacallan #include <fdt.h>
116233fbe7Smacallan #include <libfdt.h>
126233fbe7Smacallan 
136233fbe7Smacallan #include "libfdt_internal.h"
146233fbe7Smacallan 
fdt_create_empty_tree(void * buf,int bufsize)156233fbe7Smacallan int fdt_create_empty_tree(void *buf, int bufsize)
166233fbe7Smacallan {
176233fbe7Smacallan 	int err;
186233fbe7Smacallan 
196233fbe7Smacallan 	err = fdt_create(buf, bufsize);
206233fbe7Smacallan 	if (err)
216233fbe7Smacallan 		return err;
226233fbe7Smacallan 
236233fbe7Smacallan 	err = fdt_finish_reservemap(buf);
246233fbe7Smacallan 	if (err)
256233fbe7Smacallan 		return err;
266233fbe7Smacallan 
276233fbe7Smacallan 	err = fdt_begin_node(buf, "");
286233fbe7Smacallan 	if (err)
296233fbe7Smacallan 		return err;
306233fbe7Smacallan 
316233fbe7Smacallan 	err =  fdt_end_node(buf);
326233fbe7Smacallan 	if (err)
336233fbe7Smacallan 		return err;
346233fbe7Smacallan 
356233fbe7Smacallan 	err = fdt_finish(buf);
366233fbe7Smacallan 	if (err)
376233fbe7Smacallan 		return err;
386233fbe7Smacallan 
396233fbe7Smacallan 	return fdt_open_into(buf, buf, bufsize);
406233fbe7Smacallan }
41