summaryrefslogtreecommitdiff
path: root/components/drivers/ofw/libfdt/fdt_empty_tree.c
blob: 3bf4fea2a70d8ffdcf1314d405626011f92ca538 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
/*
 * libfdt - Flat Device Tree manipulation
 * Copyright (C) 2012 David Gibson, IBM Corporation.
 */
#include "libfdt_env.h"

#include <fdt.h>
#include <libfdt.h>

#include "libfdt_internal.h"

int fdt_create_empty_tree(void *buf, int bufsize)
{
    int err;

    err = fdt_create(buf, bufsize);
    if (err)
        return err;

    err = fdt_finish_reservemap(buf);
    if (err)
        return err;

    err = fdt_begin_node(buf, "");
    if (err)
        return err;

    err =  fdt_end_node(buf);
    if (err)
        return err;

    err = fdt_finish(buf);
    if (err)
        return err;

    return fdt_open_into(buf, buf, bufsize);
}