Blame view
drivers/core/of_extra.c
973 Bytes
b7e0d73ba
|
1 2 3 4 5 6 7 8 |
/* * Copyright (c) 2017 Google, Inc * Written by Simon Glass <sjg@chromium.org> * * SPDX-License-Identifier: GPL-2.0+ */ #include <common.h> |
b08c8c487
|
9 |
#include <linux/libfdt.h> |
b7e0d73ba
|
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 |
#include <dm/of_access.h> #include <dm/of_extra.h> #include <dm/ofnode.h> int of_read_fmap_entry(ofnode node, const char *name, struct fmap_entry *entry) { const char *prop; u32 reg[2]; if (ofnode_read_u32_array(node, "reg", reg, 2)) { debug("Node '%s' has bad/missing 'reg' property ", name); return -FDT_ERR_NOTFOUND; } entry->offset = reg[0]; entry->length = reg[1]; entry->used = ofnode_read_s32_default(node, "used", entry->length); prop = ofnode_read_string(node, "compress"); entry->compress_algo = prop && !strcmp(prop, "lzo") ? FMAP_COMPRESS_LZO : FMAP_COMPRESS_NONE; prop = ofnode_read_string(node, "hash"); if (prop) entry->hash_size = strlen(prop); entry->hash_algo = prop ? FMAP_HASH_SHA256 : FMAP_HASH_NONE; entry->hash = (uint8_t *)prop; return 0; } |