forked from mirrors/linux
		
	Pull in SPDX tag conversion from upstream dtc. This will replace the conversion done in the kernel tree copy in v5.2-rc2. This adds the following commits from upstream: 702c1b6c0e73 README.license: Update to reflect SPDX tag usage 4097bbffcf1d dtc: Add GPLv2 SPDX tags to files missing license text 94f87cd5b7c5 libfdt: Add dual GPL/BSD SPDX tags to files missing license text c4ffc05574b1 tests: Replace license boilerplate with SPDX tags a5ac29baacd2 pylibfdt: Replace dual GPLv2/BSD license boilerplate with SPDX tags 7fb0f4db2eb7 libfdt: Replace GPL/BSD boilerplate/reference with SPDX tags acfe84f2c47e dtc: Replace GPLv2 boilerplate/reference with SPDX tags Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Rob Herring <robh@kernel.org>
		
			
				
	
	
		
			59 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
 | 
						|
/*
 | 
						|
 * libfdt - Flat Device Tree manipulation
 | 
						|
 * Copyright (C) 2006 David Gibson, IBM Corporation.
 | 
						|
 *     EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
						|
 */
 | 
						|
#include "libfdt_env.h"
 | 
						|
 | 
						|
#include <fdt.h>
 | 
						|
#include <libfdt.h>
 | 
						|
 | 
						|
#include "libfdt_internal.h"
 | 
						|
 | 
						|
struct fdt_errtabent {
 | 
						|
	const char *str;
 | 
						|
};
 | 
						|
 | 
						|
#define FDT_ERRTABENT(val) \
 | 
						|
	[(val)] = { .str = #val, }
 | 
						|
 | 
						|
static struct fdt_errtabent fdt_errtable[] = {
 | 
						|
	FDT_ERRTABENT(FDT_ERR_NOTFOUND),
 | 
						|
	FDT_ERRTABENT(FDT_ERR_EXISTS),
 | 
						|
	FDT_ERRTABENT(FDT_ERR_NOSPACE),
 | 
						|
 | 
						|
	FDT_ERRTABENT(FDT_ERR_BADOFFSET),
 | 
						|
	FDT_ERRTABENT(FDT_ERR_BADPATH),
 | 
						|
	FDT_ERRTABENT(FDT_ERR_BADPHANDLE),
 | 
						|
	FDT_ERRTABENT(FDT_ERR_BADSTATE),
 | 
						|
 | 
						|
	FDT_ERRTABENT(FDT_ERR_TRUNCATED),
 | 
						|
	FDT_ERRTABENT(FDT_ERR_BADMAGIC),
 | 
						|
	FDT_ERRTABENT(FDT_ERR_BADVERSION),
 | 
						|
	FDT_ERRTABENT(FDT_ERR_BADSTRUCTURE),
 | 
						|
	FDT_ERRTABENT(FDT_ERR_BADLAYOUT),
 | 
						|
	FDT_ERRTABENT(FDT_ERR_INTERNAL),
 | 
						|
	FDT_ERRTABENT(FDT_ERR_BADNCELLS),
 | 
						|
	FDT_ERRTABENT(FDT_ERR_BADVALUE),
 | 
						|
	FDT_ERRTABENT(FDT_ERR_BADOVERLAY),
 | 
						|
	FDT_ERRTABENT(FDT_ERR_NOPHANDLES),
 | 
						|
	FDT_ERRTABENT(FDT_ERR_BADFLAGS),
 | 
						|
};
 | 
						|
#define FDT_ERRTABSIZE	(sizeof(fdt_errtable) / sizeof(fdt_errtable[0]))
 | 
						|
 | 
						|
const char *fdt_strerror(int errval)
 | 
						|
{
 | 
						|
	if (errval > 0)
 | 
						|
		return "<valid offset/length>";
 | 
						|
	else if (errval == 0)
 | 
						|
		return "<no error>";
 | 
						|
	else if (errval > -FDT_ERRTABSIZE) {
 | 
						|
		const char *s = fdt_errtable[-errval].str;
 | 
						|
 | 
						|
		if (s)
 | 
						|
			return s;
 | 
						|
	}
 | 
						|
 | 
						|
	return "<unknown error>";
 | 
						|
}
 |