diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2007-12-06 17:04:04 +1100 |
---|---|---|
committer | Jon Loeliger <jdl@freescale.com> | 2007-12-06 09:17:24 -0600 |
commit | e110920707ecedd7f1f4426dd4240d51c5ce0dd0 (patch) | |
tree | f32bbc87c3e8fb8f7519a2a92ad7f365c59b6f16 /checks.c | |
parent | faf037f0ef294412a3bb04be4032bf2f008a5945 (diff) | |
download | device-tree-compiler-e110920707ecedd7f1f4426dd4240d51c5ce0dd0.tar.gz |
dtc: Remove obsolete check_properties() function
After the last couple of patches converting various old-style semantic
checks to the new framework, the only thing that the old-style
check_properties() function still checks is that the size of "reg"
properties is a multiple of the cell size.
This patch removes check_properties() and all related code and data.
The check on the size of reg properties is folded into the existing
check for the format of "reg" properties (still old-style for the time
being).
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'checks.c')
-rw-r--r-- | checks.c | 48 |
1 files changed, 3 insertions, 45 deletions
@@ -412,46 +412,6 @@ void process_checks(int force, struct boot_info *bi, #define DO_ERR(...) do {ERRMSG(__VA_ARGS__); ok = 0; } while (0) -static int must_be_cells(struct property *prop, struct node *node) -{ - if ((prop->val.len % sizeof(cell_t)) != 0) { - ERRMSG("\"%s\" property in %s is not a multiple of cell size\n", - prop->name, node->fullpath); - return 0; - } - - return 1; -} - -static struct { - char *propname; - int (*check_fn)(struct property *prop, struct node *node); -} prop_checker_table[] = { - {"reg", must_be_cells}, -}; - -static int check_properties(struct node *node) -{ - struct property *prop; - struct node *child; - int i; - int ok = 1; - - for_each_property(node, prop) - for (i = 0; i < ARRAY_SIZE(prop_checker_table); i++) - if (streq(prop->name, prop_checker_table[i].propname)) - if (! prop_checker_table[i].check_fn(prop, node)) { - ok = 0; - break; - } - - for_each_child(node, child) - if (! check_properties(child)) - ok = 0; - - return ok; -} - #define CHECK_HAVE(node, propname) \ do { \ if (! (prop = get_property((node), (propname)))) \ @@ -672,10 +632,9 @@ static int check_addr_size_reg(struct node *node, prop = get_property(node, "reg"); if (prop) { - int len = prop->val.len / 4; - - if ((len % (addr_cells+size_cells)) != 0) - DO_ERR("\"reg\" property in %s has invalid length (%d) for given #address-cells (%d) and #size-cells (%d)\n", + int reg_entry_len = (addr_cells + size_cells) * sizeof(cell_t); + if ((prop->val.len % reg_entry_len) != 0) + DO_ERR("\"reg\" property in %s has invalid length (%d bytes) for given #address-cells (%d) and #size-cells (%d)\n", node->fullpath, prop->val.len, addr_cells, size_cells); } @@ -699,7 +658,6 @@ int check_semantics(struct node *dt, int outversion, int boot_cpuid_phys) { int ok = 1; - ok = ok && check_properties(dt); ok = ok && check_addr_size_reg(dt, -1, -1); ok = ok && check_root(dt); ok = ok && check_cpus(dt, outversion, boot_cpuid_phys); |