|
| #define | TRACE(c, fmt,...) do { } while (0) |
| |
| #define | CHECK_ENTRY(nm, tfn, nfn, pfn, d, w, e,...) |
| |
| #define | WARNING(nm, tfn, nfn, pfn, d,...) CHECK_ENTRY(nm, tfn, nfn, pfn, d, true, false, __VA_ARGS__) |
| |
| #define | ERROR(nm, tfn, nfn, pfn, d,...) CHECK_ENTRY(nm, tfn, nfn, pfn, d, false, true, __VA_ARGS__) |
| |
| #define | CHECK(nm, tfn, nfn, pfn, d,...) CHECK_ENTRY(nm, tfn, nfn, pfn, d, false, false, __VA_ARGS__) |
| |
| #define | TREE_WARNING(nm, d,...) WARNING(nm, check_##nm, NULL, NULL, d, __VA_ARGS__) |
| |
| #define | TREE_ERROR(nm, d,...) ERROR(nm, check_##nm, NULL, NULL, d, __VA_ARGS__) |
| |
| #define | TREE_CHECK(nm, d,...) CHECK(nm, check_##nm, NULL, NULL, d, __VA_ARGS__) |
| |
| #define | NODE_WARNING(nm, d,...) WARNING(nm, NULL, check_##nm, NULL, d, __VA_ARGS__) |
| |
| #define | NODE_ERROR(nm, d,...) ERROR(nm, NULL, check_##nm, NULL, d, __VA_ARGS__) |
| |
| #define | NODE_CHECK(nm, d,...) CHECK(nm, NULL, check_##nm, NULL, d, __VA_ARGS__) |
| |
| #define | PROP_WARNING(nm, d,...) WARNING(nm, NULL, NULL, check_##nm, d, __VA_ARGS__) |
| |
| #define | PROP_ERROR(nm, d,...) ERROR(nm, NULL, NULL, check_##nm, d, __VA_ARGS__) |
| |
| #define | PROP_CHECK(nm, d,...) CHECK(nm, NULL, NULL, check_##nm, d, __VA_ARGS__) |
| |
| #define | FAIL(c,...) |
| |
| #define | WARNING_IF_NOT_STRING(nm, propname) WARNING(nm, NULL, check_is_string, NULL, (propname)) |
| |
| #define | ERROR_IF_NOT_STRING(nm, propname) ERROR(nm, NULL, check_is_string, NULL, (propname)) |
| |
| #define | WARNING_IF_NOT_CELL(nm, propname) WARNING(nm, NULL, check_is_cell, NULL, (propname)) |
| |
| #define | ERROR_IF_NOT_CELL(nm, propname) ERROR(nm, NULL, check_is_cell, NULL, (propname)) |
| |
| #define | LOWERCASE "abcdefghijklmnopqrstuvwxyz" |
| |
| #define | UPPERCASE "ABCDEFGHIJKLMNOPQRSTUVWXYZ" |
| |
| #define | DIGITS "0123456789" |
| |
| #define | PROPNODECHARS LOWERCASE UPPERCASE DIGITS ",._+*#?-" |
| |
| #define | DESCLABEL_FMT "%s%s%s%s%s" |
| |
| #define | DESCLABEL_ARGS(node, prop, mark) |
| |
| #define | node_addr_cells(n) (((n)->addr_cells == -1) ? 2 : (n)->addr_cells) |
| |
| #define | node_size_cells(n) (((n)->size_cells == -1) ? 1 : (n)->size_cells) |
| |
|
| | TREE_CHECK (always_fail, NULL) |
| |
| | NODE_ERROR (duplicate_node_names, NULL) |
| |
| | NODE_ERROR (duplicate_property_names, NULL) |
| |
| | NODE_ERROR (node_name_chars, PROPNODECHARS"@") |
| |
| | NODE_ERROR (node_name_format, NULL,&node_name_chars) |
| |
| | PROP_ERROR (property_name_chars, PROPNODECHARS) |
| |
| | ERROR (duplicate_label, NULL, check_duplicate_label_node, check_duplicate_label_prop, NULL) |
| |
| | PROP_ERROR (explicit_phandles, NULL) |
| |
| | ERROR_IF_NOT_STRING (name_is_string,"name") |
| |
| | NODE_ERROR (name_properties, NULL,&name_is_string) |
| |
| | ERROR (phandle_references, NULL, NULL, fixup_phandle_references, NULL,&duplicate_node_names,&explicit_phandles) |
| |
| | ERROR (path_references, NULL, NULL, fixup_path_references, NULL,&duplicate_node_names) |
| |
| | WARNING_IF_NOT_CELL (address_cells_is_cell,"#address-cells") |
| |
| | WARNING_IF_NOT_CELL (size_cells_is_cell,"#size-cells") |
| |
| | WARNING_IF_NOT_CELL (interrupt_cells_is_cell,"#interrupt-cells") |
| |
| | WARNING_IF_NOT_STRING (device_type_is_string,"device_type") |
| |
| | WARNING_IF_NOT_STRING (model_is_string,"model") |
| |
| | WARNING_IF_NOT_STRING (status_is_string,"status") |
| |
| | WARNING (addr_size_cells, NULL, fixup_addr_size_cells, NULL, NULL,&address_cells_is_cell,&size_cells_is_cell) |
| |
| | NODE_WARNING (reg_format, NULL,&addr_size_cells) |
| |
| | NODE_WARNING (ranges_format, NULL,&addr_size_cells) |
| |
| | NODE_WARNING (avoid_default_addr_size, NULL,&addr_size_cells) |
| |
| | TREE_WARNING (obsolete_chosen_interrupt_controller, NULL) |
| |
| void | parse_checks_option (bool warn, bool error, const char *optarg) |
| |
| void | process_checks (int force, struct boot_info *bi) |
| |