1/* SPDX-License-Identifier: GPL-2.0+ */
2/*
3 * (C) Copyright 2008 Semihalf
4 */
5
6#ifndef __FDT_HOST_H__
7#define __FDT_HOST_H__
8
9/* Make sure to include u-boot version of libfdt include files */
10#include "../include/linux/libfdt.h"
11#include "../include/fdt_support.h"
12
13/**
14 * fdt_remove_unused_strings() - Remove any unused strings from an FDT
15 *
16 * This creates a new device tree in @new with unused strings removed. The
17 * called can then use fdt_pack() to minimise the space consumed.
18 *
19 * @old:	Old device tree blog
20 * @new:	Place to put new device tree blob, which must be as large as
21 *		@old
22 * @return
23 *	0, on success
24 *	-FDT_ERR_BADOFFSET, corrupt device tree
25 *	-FDT_ERR_NOSPACE, out of space, which should not happen unless there
26 *		is something very wrong with the device tree input
27 */
28int fdt_remove_unused_strings(const void *old, void *new);
29
30/**
31 * fit_check_sign() - Check a signature in a FIT
32 *
33 * @fit: FIT to check
34 * @key: Key FDT blob to check against
35 * @fit_uname_config: Name of configuration to check (NULL for default)
36 * @return 0 if OK, -ve if signature failed
37 */
38int fit_check_sign(const void *fit, const void *key,
39		   const char *fit_uname_config);
40
41#endif /* __FDT_HOST_H__ */
42