/linux-4.4.14/scripts/dtc/libfdt/ |
H A D | fdt_sw.c | 53 #include <fdt.h> 58 static int _fdt_sw_check_header(void *fdt) _fdt_sw_check_header() argument 60 if (fdt_magic(fdt) != FDT_SW_MAGIC) _fdt_sw_check_header() 66 #define FDT_SW_CHECK_HEADER(fdt) \ 69 if ((err = _fdt_sw_check_header(fdt)) != 0) \ 73 static void *_fdt_grab_space(void *fdt, size_t len) _fdt_grab_space() argument 75 int offset = fdt_size_dt_struct(fdt); _fdt_grab_space() 78 spaceleft = fdt_totalsize(fdt) - fdt_off_dt_struct(fdt) _fdt_grab_space() 79 - fdt_size_dt_strings(fdt); _fdt_grab_space() 84 fdt_set_size_dt_struct(fdt, offset + len); _fdt_grab_space() 85 return _fdt_offset_ptr_w(fdt, offset); _fdt_grab_space() 90 void *fdt = buf; fdt_create() local 97 fdt_set_magic(fdt, FDT_SW_MAGIC); fdt_create() 98 fdt_set_version(fdt, FDT_LAST_SUPPORTED_VERSION); fdt_create() 99 fdt_set_last_comp_version(fdt, FDT_FIRST_SUPPORTED_VERSION); fdt_create() 100 fdt_set_totalsize(fdt, bufsize); fdt_create() 102 fdt_set_off_mem_rsvmap(fdt, FDT_ALIGN(sizeof(struct fdt_header), fdt_create() 104 fdt_set_off_dt_struct(fdt, fdt_off_mem_rsvmap(fdt)); fdt_create() 105 fdt_set_off_dt_strings(fdt, bufsize); fdt_create() 110 int fdt_resize(void *fdt, void *buf, int bufsize) fdt_resize() argument 115 FDT_SW_CHECK_HEADER(fdt); fdt_resize() 117 headsize = fdt_off_dt_struct(fdt); fdt_resize() 118 tailsize = fdt_size_dt_strings(fdt); fdt_resize() 123 oldtail = (char *)fdt + fdt_totalsize(fdt) - tailsize; fdt_resize() 128 if (buf <= fdt) { fdt_resize() 129 memmove(buf, fdt, headsize); fdt_resize() 133 memmove(buf, fdt, headsize); fdt_resize() 142 int fdt_add_reservemap_entry(void *fdt, uint64_t addr, uint64_t size) fdt_add_reservemap_entry() argument 147 FDT_SW_CHECK_HEADER(fdt); fdt_add_reservemap_entry() 149 if (fdt_size_dt_struct(fdt)) fdt_add_reservemap_entry() 152 offset = fdt_off_dt_struct(fdt); fdt_add_reservemap_entry() 153 if ((offset + sizeof(*re)) > fdt_totalsize(fdt)) fdt_add_reservemap_entry() 156 re = (struct fdt_reserve_entry *)((char *)fdt + offset); fdt_add_reservemap_entry() 160 fdt_set_off_dt_struct(fdt, offset + sizeof(*re)); fdt_add_reservemap_entry() 165 int fdt_finish_reservemap(void *fdt) fdt_finish_reservemap() argument 167 return fdt_add_reservemap_entry(fdt, 0, 0); fdt_finish_reservemap() 170 int fdt_begin_node(void *fdt, const char *name) fdt_begin_node() argument 175 FDT_SW_CHECK_HEADER(fdt); fdt_begin_node() 177 nh = _fdt_grab_space(fdt, sizeof(*nh) + FDT_TAGALIGN(namelen)); fdt_begin_node() 186 int fdt_end_node(void *fdt) fdt_end_node() argument 190 FDT_SW_CHECK_HEADER(fdt); fdt_end_node() 192 en = _fdt_grab_space(fdt, FDT_TAGSIZE); fdt_end_node() 200 static int _fdt_find_add_string(void *fdt, const char *s) _fdt_find_add_string() argument 202 char *strtab = (char *)fdt + fdt_totalsize(fdt); _fdt_find_add_string() 204 int strtabsize = fdt_size_dt_strings(fdt); _fdt_find_add_string() 214 struct_top = fdt_off_dt_struct(fdt) + fdt_size_dt_struct(fdt); _fdt_find_add_string() 215 if (fdt_totalsize(fdt) + offset < struct_top) _fdt_find_add_string() 219 fdt_set_size_dt_strings(fdt, strtabsize + len); _fdt_find_add_string() 223 int fdt_property(void *fdt, const char *name, const void *val, int len) fdt_property() argument 228 FDT_SW_CHECK_HEADER(fdt); fdt_property() 230 nameoff = _fdt_find_add_string(fdt, name); fdt_property() 234 prop = _fdt_grab_space(fdt, sizeof(*prop) + FDT_TAGALIGN(len)); fdt_property() 245 int fdt_finish(void *fdt) fdt_finish() argument 247 char *p = (char *)fdt; fdt_finish() 253 FDT_SW_CHECK_HEADER(fdt); fdt_finish() 256 end = _fdt_grab_space(fdt, sizeof(*end)); fdt_finish() 262 oldstroffset = fdt_totalsize(fdt) - fdt_size_dt_strings(fdt); fdt_finish() 263 newstroffset = fdt_off_dt_struct(fdt) + fdt_size_dt_struct(fdt); fdt_finish() 264 memmove(p + newstroffset, p + oldstroffset, fdt_size_dt_strings(fdt)); fdt_finish() 265 fdt_set_off_dt_strings(fdt, newstroffset); fdt_finish() 269 while ((tag = fdt_next_tag(fdt, offset, &nextoffset)) != FDT_END) { fdt_finish() 272 _fdt_offset_ptr_w(fdt, offset); fdt_finish() 276 nameoff += fdt_size_dt_strings(fdt); fdt_finish() 285 fdt_set_totalsize(fdt, newstroffset + fdt_size_dt_strings(fdt)); fdt_finish() 286 fdt_set_magic(fdt, FDT_MAGIC); fdt_finish()
|
H A D | fdt_rw.c | 53 #include <fdt.h> 58 static int _fdt_blocks_misordered(const void *fdt, _fdt_blocks_misordered() argument 61 return (fdt_off_mem_rsvmap(fdt) < FDT_ALIGN(sizeof(struct fdt_header), 8)) _fdt_blocks_misordered() 62 || (fdt_off_dt_struct(fdt) < _fdt_blocks_misordered() 63 (fdt_off_mem_rsvmap(fdt) + mem_rsv_size)) _fdt_blocks_misordered() 64 || (fdt_off_dt_strings(fdt) < _fdt_blocks_misordered() 65 (fdt_off_dt_struct(fdt) + struct_size)) _fdt_blocks_misordered() 66 || (fdt_totalsize(fdt) < _fdt_blocks_misordered() 67 (fdt_off_dt_strings(fdt) + fdt_size_dt_strings(fdt))); _fdt_blocks_misordered() 70 static int _fdt_rw_check_header(void *fdt) _fdt_rw_check_header() argument 72 FDT_CHECK_HEADER(fdt); _fdt_rw_check_header() 74 if (fdt_version(fdt) < 17) _fdt_rw_check_header() 76 if (_fdt_blocks_misordered(fdt, sizeof(struct fdt_reserve_entry), _fdt_rw_check_header() 77 fdt_size_dt_struct(fdt))) _fdt_rw_check_header() 79 if (fdt_version(fdt) > 17) _fdt_rw_check_header() 80 fdt_set_version(fdt, 17); _fdt_rw_check_header() 85 #define FDT_RW_CHECK_HEADER(fdt) \ 88 if ((__err = _fdt_rw_check_header(fdt)) != 0) \ 92 static inline int _fdt_data_size(void *fdt) _fdt_data_size() argument 94 return fdt_off_dt_strings(fdt) + fdt_size_dt_strings(fdt); _fdt_data_size() 97 static int _fdt_splice(void *fdt, void *splicepoint, int oldlen, int newlen) _fdt_splice() argument 100 char *end = (char *)fdt + _fdt_data_size(fdt); _fdt_splice() 104 if ((end - oldlen + newlen) > ((char *)fdt + fdt_totalsize(fdt))) _fdt_splice() 110 static int _fdt_splice_mem_rsv(void *fdt, struct fdt_reserve_entry *p, _fdt_splice_mem_rsv() argument 115 err = _fdt_splice(fdt, p, oldn * sizeof(*p), newn * sizeof(*p)); _fdt_splice_mem_rsv() 118 fdt_set_off_dt_struct(fdt, fdt_off_dt_struct(fdt) + delta); _fdt_splice_mem_rsv() 119 fdt_set_off_dt_strings(fdt, fdt_off_dt_strings(fdt) + delta); _fdt_splice_mem_rsv() 123 static int _fdt_splice_struct(void *fdt, void *p, _fdt_splice_struct() argument 129 if ((err = _fdt_splice(fdt, p, oldlen, newlen))) _fdt_splice_struct() 132 fdt_set_size_dt_struct(fdt, fdt_size_dt_struct(fdt) + delta); _fdt_splice_struct() 133 fdt_set_off_dt_strings(fdt, fdt_off_dt_strings(fdt) + delta); _fdt_splice_struct() 137 static int _fdt_splice_string(void *fdt, int newlen) _fdt_splice_string() argument 139 void *p = (char *)fdt _fdt_splice_string() 140 + fdt_off_dt_strings(fdt) + fdt_size_dt_strings(fdt); _fdt_splice_string() 143 if ((err = _fdt_splice(fdt, p, 0, newlen))) _fdt_splice_string() 146 fdt_set_size_dt_strings(fdt, fdt_size_dt_strings(fdt) + newlen); _fdt_splice_string() 150 static int _fdt_find_add_string(void *fdt, const char *s) _fdt_find_add_string() argument 152 char *strtab = (char *)fdt + fdt_off_dt_strings(fdt); _fdt_find_add_string() 158 p = _fdt_find_string(strtab, fdt_size_dt_strings(fdt), s); _fdt_find_add_string() 163 new = strtab + fdt_size_dt_strings(fdt); _fdt_find_add_string() 164 err = _fdt_splice_string(fdt, len); _fdt_find_add_string() 172 int fdt_add_mem_rsv(void *fdt, uint64_t address, uint64_t size) fdt_add_mem_rsv() argument 177 FDT_RW_CHECK_HEADER(fdt); fdt_add_mem_rsv() 179 re = _fdt_mem_rsv_w(fdt, fdt_num_mem_rsv(fdt)); fdt_add_mem_rsv() 180 err = _fdt_splice_mem_rsv(fdt, re, 0, 1); fdt_add_mem_rsv() 189 int fdt_del_mem_rsv(void *fdt, int n) fdt_del_mem_rsv() argument 191 struct fdt_reserve_entry *re = _fdt_mem_rsv_w(fdt, n); fdt_del_mem_rsv() 194 FDT_RW_CHECK_HEADER(fdt); fdt_del_mem_rsv() 196 if (n >= fdt_num_mem_rsv(fdt)) fdt_del_mem_rsv() 199 err = _fdt_splice_mem_rsv(fdt, re, 1, 0); fdt_del_mem_rsv() 205 static int _fdt_resize_property(void *fdt, int nodeoffset, const char *name, _fdt_resize_property() argument 211 *prop = fdt_get_property_w(fdt, nodeoffset, name, &oldlen); _fdt_resize_property() 215 if ((err = _fdt_splice_struct(fdt, (*prop)->data, FDT_TAGALIGN(oldlen), _fdt_resize_property() 223 static int _fdt_add_property(void *fdt, int nodeoffset, const char *name, _fdt_add_property() argument 231 if ((nextoffset = _fdt_check_node_offset(fdt, nodeoffset)) < 0) _fdt_add_property() 234 namestroff = _fdt_find_add_string(fdt, name); _fdt_add_property() 238 *prop = _fdt_offset_ptr_w(fdt, nextoffset); _fdt_add_property() 241 err = _fdt_splice_struct(fdt, *prop, 0, proplen); _fdt_add_property() 251 int fdt_set_name(void *fdt, int nodeoffset, const char *name) fdt_set_name() argument 257 FDT_RW_CHECK_HEADER(fdt); fdt_set_name() 259 namep = (char *)(uintptr_t)fdt_get_name(fdt, nodeoffset, &oldlen); fdt_set_name() 265 err = _fdt_splice_struct(fdt, namep, FDT_TAGALIGN(oldlen+1), fdt_set_name() 274 int fdt_setprop(void *fdt, int nodeoffset, const char *name, fdt_setprop() argument 280 FDT_RW_CHECK_HEADER(fdt); fdt_setprop() 282 err = _fdt_resize_property(fdt, nodeoffset, name, len, &prop); fdt_setprop() 284 err = _fdt_add_property(fdt, nodeoffset, name, len, &prop); fdt_setprop() 292 int fdt_appendprop(void *fdt, int nodeoffset, const char *name, fdt_appendprop() argument 298 FDT_RW_CHECK_HEADER(fdt); fdt_appendprop() 300 prop = fdt_get_property_w(fdt, nodeoffset, name, &oldlen); fdt_appendprop() 303 err = _fdt_splice_struct(fdt, prop->data, fdt_appendprop() 311 err = _fdt_add_property(fdt, nodeoffset, name, len, &prop); fdt_appendprop() 319 int fdt_delprop(void *fdt, int nodeoffset, const char *name) fdt_delprop() argument 324 FDT_RW_CHECK_HEADER(fdt); fdt_delprop() 326 prop = fdt_get_property_w(fdt, nodeoffset, name, &len); fdt_delprop() 331 return _fdt_splice_struct(fdt, prop, proplen, 0); fdt_delprop() 334 int fdt_add_subnode_namelen(void *fdt, int parentoffset, fdt_add_subnode_namelen() argument 344 FDT_RW_CHECK_HEADER(fdt); fdt_add_subnode_namelen() 346 offset = fdt_subnode_offset_namelen(fdt, parentoffset, name, namelen); fdt_add_subnode_namelen() 353 fdt_next_tag(fdt, parentoffset, &nextoffset); /* skip the BEGIN_NODE */ fdt_add_subnode_namelen() 356 tag = fdt_next_tag(fdt, offset, &nextoffset); fdt_add_subnode_namelen() 359 nh = _fdt_offset_ptr_w(fdt, offset); fdt_add_subnode_namelen() 362 err = _fdt_splice_struct(fdt, nh, 0, nodelen); fdt_add_subnode_namelen() 375 int fdt_add_subnode(void *fdt, int parentoffset, const char *name) fdt_add_subnode() argument 377 return fdt_add_subnode_namelen(fdt, parentoffset, name, strlen(name)); fdt_add_subnode() 380 int fdt_del_node(void *fdt, int nodeoffset) fdt_del_node() argument 384 FDT_RW_CHECK_HEADER(fdt); fdt_del_node() 386 endoffset = _fdt_node_end_offset(fdt, nodeoffset); fdt_del_node() 390 return _fdt_splice_struct(fdt, _fdt_offset_ptr_w(fdt, nodeoffset), fdt_del_node() 416 int fdt_open_into(const void *fdt, void *buf, int bufsize) fdt_open_into() argument 421 const char *fdtstart = fdt; fdt_open_into() 422 const char *fdtend = fdtstart + fdt_totalsize(fdt); fdt_open_into() 425 FDT_CHECK_HEADER(fdt); fdt_open_into() 427 mem_rsv_size = (fdt_num_mem_rsv(fdt)+1) fdt_open_into() 430 if (fdt_version(fdt) >= 17) { fdt_open_into() 431 struct_size = fdt_size_dt_struct(fdt); fdt_open_into() 434 while (fdt_next_tag(fdt, struct_size, &struct_size) != FDT_END) fdt_open_into() 440 if (!_fdt_blocks_misordered(fdt, mem_rsv_size, struct_size)) { fdt_open_into() 442 err = fdt_move(fdt, buf, bufsize); fdt_open_into() 453 + struct_size + fdt_size_dt_strings(fdt); fdt_open_into() 468 _fdt_packblocks(fdt, tmp, mem_rsv_size, struct_size); fdt_open_into() 475 fdt_set_boot_cpuid_phys(buf, fdt_boot_cpuid_phys(fdt)); fdt_open_into() 480 int fdt_pack(void *fdt) fdt_pack() argument 484 FDT_RW_CHECK_HEADER(fdt); fdt_pack() 486 mem_rsv_size = (fdt_num_mem_rsv(fdt)+1) fdt_pack() 488 _fdt_packblocks(fdt, fdt, mem_rsv_size, fdt_size_dt_struct(fdt)); fdt_pack() 489 fdt_set_totalsize(fdt, _fdt_data_size(fdt)); fdt_pack()
|
H A D | fdt_ro.c | 53 #include <fdt.h> 58 static int _fdt_nodename_eq(const void *fdt, int offset, _fdt_nodename_eq() argument 61 const char *p = fdt_offset_ptr(fdt, offset + FDT_TAGSIZE, len+1); _fdt_nodename_eq() 78 const char *fdt_string(const void *fdt, int stroffset) fdt_string() argument 80 return (const char *)fdt + fdt_off_dt_strings(fdt) + stroffset; fdt_string() 83 static int _fdt_string_eq(const void *fdt, int stroffset, _fdt_string_eq() argument 86 const char *p = fdt_string(fdt, stroffset); _fdt_string_eq() 91 int fdt_get_mem_rsv(const void *fdt, int n, uint64_t *address, uint64_t *size) fdt_get_mem_rsv() argument 93 FDT_CHECK_HEADER(fdt); fdt_get_mem_rsv() 94 *address = fdt64_to_cpu(_fdt_mem_rsv(fdt, n)->address); fdt_get_mem_rsv() 95 *size = fdt64_to_cpu(_fdt_mem_rsv(fdt, n)->size); fdt_get_mem_rsv() 99 int fdt_num_mem_rsv(const void *fdt) fdt_num_mem_rsv() argument 103 while (fdt64_to_cpu(_fdt_mem_rsv(fdt, i)->size) != 0) fdt_num_mem_rsv() 108 static int _nextprop(const void *fdt, int offset) _nextprop() argument 114 tag = fdt_next_tag(fdt, offset, &nextoffset); _nextprop() 132 int fdt_subnode_offset_namelen(const void *fdt, int offset, fdt_subnode_offset_namelen() argument 137 FDT_CHECK_HEADER(fdt); fdt_subnode_offset_namelen() 141 offset = fdt_next_node(fdt, offset, &depth)) fdt_subnode_offset_namelen() 143 && _fdt_nodename_eq(fdt, offset, name, namelen)) fdt_subnode_offset_namelen() 151 int fdt_subnode_offset(const void *fdt, int parentoffset, fdt_subnode_offset() argument 154 return fdt_subnode_offset_namelen(fdt, parentoffset, name, strlen(name)); fdt_subnode_offset() 157 int fdt_path_offset_namelen(const void *fdt, const char *path, int namelen) fdt_path_offset_namelen() argument 163 FDT_CHECK_HEADER(fdt); fdt_path_offset_namelen() 172 p = fdt_get_alias_namelen(fdt, p, q - p); fdt_path_offset_namelen() 175 offset = fdt_path_offset(fdt, p); fdt_path_offset_namelen() 192 offset = fdt_subnode_offset_namelen(fdt, offset, p, q-p); fdt_path_offset_namelen() 202 int fdt_path_offset(const void *fdt, const char *path) fdt_path_offset() argument 204 return fdt_path_offset_namelen(fdt, path, strlen(path)); fdt_path_offset() 207 const char *fdt_get_name(const void *fdt, int nodeoffset, int *len) fdt_get_name() argument 209 const struct fdt_node_header *nh = _fdt_offset_ptr(fdt, nodeoffset); fdt_get_name() 212 if (((err = fdt_check_header(fdt)) != 0) fdt_get_name() 213 || ((err = _fdt_check_node_offset(fdt, nodeoffset)) < 0)) fdt_get_name() 227 int fdt_first_property_offset(const void *fdt, int nodeoffset) fdt_first_property_offset() argument 231 if ((offset = _fdt_check_node_offset(fdt, nodeoffset)) < 0) fdt_first_property_offset() 234 return _nextprop(fdt, offset); fdt_first_property_offset() 237 int fdt_next_property_offset(const void *fdt, int offset) fdt_next_property_offset() argument 239 if ((offset = _fdt_check_prop_offset(fdt, offset)) < 0) fdt_next_property_offset() 242 return _nextprop(fdt, offset); fdt_next_property_offset() 245 const struct fdt_property *fdt_get_property_by_offset(const void *fdt, fdt_get_property_by_offset() argument 252 if ((err = _fdt_check_prop_offset(fdt, offset)) < 0) { fdt_get_property_by_offset() 258 prop = _fdt_offset_ptr(fdt, offset); fdt_get_property_by_offset() 266 const struct fdt_property *fdt_get_property_namelen(const void *fdt, fdt_get_property_namelen() argument 271 for (offset = fdt_first_property_offset(fdt, offset); fdt_get_property_namelen() 273 (offset = fdt_next_property_offset(fdt, offset))) { fdt_get_property_namelen() 276 if (!(prop = fdt_get_property_by_offset(fdt, offset, lenp))) { fdt_get_property_namelen() 280 if (_fdt_string_eq(fdt, fdt32_to_cpu(prop->nameoff), fdt_get_property_namelen() 290 const struct fdt_property *fdt_get_property(const void *fdt, fdt_get_property() argument 294 return fdt_get_property_namelen(fdt, nodeoffset, name, fdt_get_property() 298 const void *fdt_getprop_namelen(const void *fdt, int nodeoffset, fdt_getprop_namelen() argument 303 prop = fdt_get_property_namelen(fdt, nodeoffset, name, namelen, lenp); fdt_getprop_namelen() 310 const void *fdt_getprop_by_offset(const void *fdt, int offset, fdt_getprop_by_offset() argument 315 prop = fdt_get_property_by_offset(fdt, offset, lenp); fdt_getprop_by_offset() 319 *namep = fdt_string(fdt, fdt32_to_cpu(prop->nameoff)); fdt_getprop_by_offset() 323 const void *fdt_getprop(const void *fdt, int nodeoffset, fdt_getprop() argument 326 return fdt_getprop_namelen(fdt, nodeoffset, name, strlen(name), lenp); fdt_getprop() 329 uint32_t fdt_get_phandle(const void *fdt, int nodeoffset) fdt_get_phandle() argument 336 php = fdt_getprop(fdt, nodeoffset, "phandle", &len); fdt_get_phandle() 338 php = fdt_getprop(fdt, nodeoffset, "linux,phandle", &len); fdt_get_phandle() 346 const char *fdt_get_alias_namelen(const void *fdt, fdt_get_alias_namelen() argument 351 aliasoffset = fdt_path_offset(fdt, "/aliases"); fdt_get_alias_namelen() 355 return fdt_getprop_namelen(fdt, aliasoffset, name, namelen, NULL); fdt_get_alias_namelen() 358 const char *fdt_get_alias(const void *fdt, const char *name) fdt_get_alias() argument 360 return fdt_get_alias_namelen(fdt, name, strlen(name)); fdt_get_alias() 363 int fdt_get_path(const void *fdt, int nodeoffset, char *buf, int buflen) fdt_get_path() argument 369 FDT_CHECK_HEADER(fdt); fdt_get_path() 376 offset = fdt_next_node(fdt, offset, &depth)) { fdt_get_path() 385 name = fdt_get_name(fdt, offset, &namelen); fdt_get_path() 415 int fdt_supernode_atdepth_offset(const void *fdt, int nodeoffset, fdt_supernode_atdepth_offset() argument 421 FDT_CHECK_HEADER(fdt); fdt_supernode_atdepth_offset() 428 offset = fdt_next_node(fdt, offset, &depth)) { fdt_supernode_atdepth_offset() 451 int fdt_node_depth(const void *fdt, int nodeoffset) fdt_node_depth() argument 456 err = fdt_supernode_atdepth_offset(fdt, nodeoffset, 0, &nodedepth); fdt_node_depth() 462 int fdt_parent_offset(const void *fdt, int nodeoffset) fdt_parent_offset() argument 464 int nodedepth = fdt_node_depth(fdt, nodeoffset); fdt_parent_offset() 468 return fdt_supernode_atdepth_offset(fdt, nodeoffset, fdt_parent_offset() 472 int fdt_node_offset_by_prop_value(const void *fdt, int startoffset, fdt_node_offset_by_prop_value() argument 480 FDT_CHECK_HEADER(fdt); fdt_node_offset_by_prop_value() 487 for (offset = fdt_next_node(fdt, startoffset, NULL); fdt_node_offset_by_prop_value() 489 offset = fdt_next_node(fdt, offset, NULL)) { fdt_node_offset_by_prop_value() 490 val = fdt_getprop(fdt, offset, propname, &len); fdt_node_offset_by_prop_value() 499 int fdt_node_offset_by_phandle(const void *fdt, uint32_t phandle) fdt_node_offset_by_phandle() argument 506 FDT_CHECK_HEADER(fdt); fdt_node_offset_by_phandle() 514 for (offset = fdt_next_node(fdt, -1, NULL); fdt_node_offset_by_phandle() 516 offset = fdt_next_node(fdt, offset, NULL)) { fdt_node_offset_by_phandle() 517 if (fdt_get_phandle(fdt, offset) == phandle) fdt_node_offset_by_phandle() 541 int fdt_node_check_compatible(const void *fdt, int nodeoffset, fdt_node_check_compatible() argument 547 prop = fdt_getprop(fdt, nodeoffset, "compatible", &len); fdt_node_check_compatible() 556 int fdt_node_offset_by_compatible(const void *fdt, int startoffset, fdt_node_offset_by_compatible() argument 561 FDT_CHECK_HEADER(fdt); fdt_node_offset_by_compatible() 568 for (offset = fdt_next_node(fdt, startoffset, NULL); fdt_node_offset_by_compatible() 570 offset = fdt_next_node(fdt, offset, NULL)) { fdt_node_offset_by_compatible() 571 err = fdt_node_check_compatible(fdt, offset, compatible); fdt_node_offset_by_compatible()
|
H A D | libfdt_internal.h | 53 #include <fdt.h> 58 #define FDT_CHECK_HEADER(fdt) \ 61 if ((__err = fdt_check_header(fdt)) != 0) \ 65 int _fdt_check_node_offset(const void *fdt, int offset); 66 int _fdt_check_prop_offset(const void *fdt, int offset); 68 int _fdt_node_end_offset(void *fdt, int nodeoffset); 70 static inline const void *_fdt_offset_ptr(const void *fdt, int offset) _fdt_offset_ptr() argument 72 return (const char *)fdt + fdt_off_dt_struct(fdt) + offset; _fdt_offset_ptr() 75 static inline void *_fdt_offset_ptr_w(void *fdt, int offset) _fdt_offset_ptr_w() argument 77 return (void *)(uintptr_t)_fdt_offset_ptr(fdt, offset); _fdt_offset_ptr_w() 80 static inline const struct fdt_reserve_entry *_fdt_mem_rsv(const void *fdt, int n) _fdt_mem_rsv() argument 84 ((const char *)fdt + fdt_off_mem_rsvmap(fdt)); _fdt_mem_rsv() 88 static inline struct fdt_reserve_entry *_fdt_mem_rsv_w(void *fdt, int n) _fdt_mem_rsv_w() argument 90 return (void *)(uintptr_t)_fdt_mem_rsv(fdt, n); _fdt_mem_rsv_w()
|
H A D | fdt.c | 53 #include <fdt.h> 58 int fdt_check_header(const void *fdt) fdt_check_header() argument 60 if (fdt_magic(fdt) == FDT_MAGIC) { fdt_check_header() 62 if (fdt_version(fdt) < FDT_FIRST_SUPPORTED_VERSION) fdt_check_header() 64 if (fdt_last_comp_version(fdt) > FDT_LAST_SUPPORTED_VERSION) fdt_check_header() 66 } else if (fdt_magic(fdt) == FDT_SW_MAGIC) { fdt_check_header() 68 if (fdt_size_dt_struct(fdt) == 0) fdt_check_header() 77 const void *fdt_offset_ptr(const void *fdt, int offset, unsigned int len) fdt_offset_ptr() argument 81 if (fdt_version(fdt) >= 0x11) fdt_offset_ptr() 83 || ((offset + len) > fdt_size_dt_struct(fdt))) fdt_offset_ptr() 86 p = _fdt_offset_ptr(fdt, offset); fdt_offset_ptr() 93 uint32_t fdt_next_tag(const void *fdt, int startoffset, int *nextoffset) fdt_next_tag() argument 101 tagp = fdt_offset_ptr(fdt, offset, FDT_TAGSIZE); fdt_next_tag() 112 p = fdt_offset_ptr(fdt, offset++, 1); fdt_next_tag() 119 lenp = fdt_offset_ptr(fdt, offset, sizeof(*lenp)); fdt_next_tag() 136 if (!fdt_offset_ptr(fdt, startoffset, offset - startoffset)) fdt_next_tag() 143 int _fdt_check_node_offset(const void *fdt, int offset) _fdt_check_node_offset() argument 146 || (fdt_next_tag(fdt, offset, &offset) != FDT_BEGIN_NODE)) _fdt_check_node_offset() 152 int _fdt_check_prop_offset(const void *fdt, int offset) _fdt_check_prop_offset() argument 155 || (fdt_next_tag(fdt, offset, &offset) != FDT_PROP)) _fdt_check_prop_offset() 161 int fdt_next_node(const void *fdt, int offset, int *depth) fdt_next_node() argument 167 if ((nextoffset = _fdt_check_node_offset(fdt, offset)) < 0) fdt_next_node() 172 tag = fdt_next_tag(fdt, offset, &nextoffset); fdt_next_node() 201 int fdt_first_subnode(const void *fdt, int offset) fdt_first_subnode() argument 205 offset = fdt_next_node(fdt, offset, &depth); fdt_first_subnode() 212 int fdt_next_subnode(const void *fdt, int offset) fdt_next_subnode() argument 221 offset = fdt_next_node(fdt, offset, &depth); fdt_next_subnode() 241 int fdt_move(const void *fdt, void *buf, int bufsize) fdt_move() argument 243 FDT_CHECK_HEADER(fdt); fdt_move() 245 if (fdt_totalsize(fdt) > bufsize) fdt_move() 248 memmove(buf, fdt, fdt_totalsize(fdt)); fdt_move()
|
H A D | libfdt.h | 55 #include "fdt.h" 130 const void *fdt_offset_ptr(const void *fdt, int offset, unsigned int checklen); fdt_offset_ptr_w() 131 static inline void *fdt_offset_ptr_w(void *fdt, int offset, int checklen) fdt_offset_ptr_w() argument 133 return (void *)(uintptr_t)fdt_offset_ptr(fdt, offset, checklen); fdt_offset_ptr_w() 136 uint32_t fdt_next_tag(const void *fdt, int offset, int *nextoffset); 142 int fdt_next_node(const void *fdt, int offset, int *depth); 147 * @fdt: FDT blob 151 int fdt_first_subnode(const void *fdt, int offset); 159 * @fdt: FDT blob 164 int fdt_next_subnode(const void *fdt, int offset); 170 #define fdt_get_header(fdt, field) \ 171 (fdt32_to_cpu(((const struct fdt_header *)(fdt))->field)) 172 #define fdt_magic(fdt) (fdt_get_header(fdt, magic)) 173 #define fdt_totalsize(fdt) (fdt_get_header(fdt, totalsize)) 174 #define fdt_off_dt_struct(fdt) (fdt_get_header(fdt, off_dt_struct)) 175 #define fdt_off_dt_strings(fdt) (fdt_get_header(fdt, off_dt_strings)) 176 #define fdt_off_mem_rsvmap(fdt) (fdt_get_header(fdt, off_mem_rsvmap)) 177 #define fdt_version(fdt) (fdt_get_header(fdt, version)) 178 #define fdt_last_comp_version(fdt) (fdt_get_header(fdt, last_comp_version)) 179 #define fdt_boot_cpuid_phys(fdt) (fdt_get_header(fdt, boot_cpuid_phys)) 180 #define fdt_size_dt_strings(fdt) (fdt_get_header(fdt, size_dt_strings)) 181 #define fdt_size_dt_struct(fdt) (fdt_get_header(fdt, size_dt_struct)) 184 static inline void fdt_set_##name(void *fdt, uint32_t val) \ 186 struct fdt_header *fdth = (struct fdt_header*)fdt; \ 203 * @fdt: pointer to data which might be a flattened device tree 215 int fdt_check_header(const void *fdt); 219 * @fdt: pointer to the device tree to move 224 * fdt to the buffer at buf of size bufsize. The buffer may overlap 225 * with the existing device tree blob at fdt. Therefore, 226 * fdt_move(fdt, fdt, fdt_totalsize(fdt)) 236 int fdt_move(const void *fdt, void *buf, int bufsize); 244 * @fdt: pointer to the device tree blob 248 * strings block of the device tree blob at fdt. 254 const char *fdt_string(const void *fdt, int stroffset); 258 * @fdt: pointer to the device tree blob 267 int fdt_num_mem_rsv(const void *fdt); 271 * @fdt: pointer to the device tree blob 284 int fdt_get_mem_rsv(const void *fdt, int n, uint64_t *address, uint64_t *size); 288 * @fdt: pointer to the device tree blob 298 int fdt_subnode_offset_namelen(const void *fdt, int parentoffset, 302 * @fdt: pointer to the device tree blob 323 int fdt_subnode_offset(const void *fdt, int parentoffset, const char *name); 327 * @fdt: pointer to the device tree blob 334 int fdt_path_offset_namelen(const void *fdt, const char *path, int namelen); 338 * @fdt: pointer to the device tree blob 358 int fdt_path_offset(const void *fdt, const char *path); 362 * @fdt: pointer to the device tree blob 381 const char *fdt_get_name(const void *fdt, int nodeoffset, int *lenp); 385 * @fdt: pointer to the device tree blob 401 int fdt_first_property_offset(const void *fdt, int nodeoffset); 405 * @fdt: pointer to the device tree blob 422 int fdt_next_property_offset(const void *fdt, int offset); 426 * @fdt: pointer to the device tree blob 448 const struct fdt_property *fdt_get_property_by_offset(const void *fdt, 454 * @fdt: pointer to the device tree blob 463 const struct fdt_property *fdt_get_property_namelen(const void *fdt, 470 * @fdt: pointer to the device tree blob 495 const struct fdt_property *fdt_get_property(const void *fdt, int nodeoffset, 497 static inline struct fdt_property *fdt_get_property_w(void *fdt, int nodeoffset, fdt_get_property_w() argument 502 fdt_get_property(fdt, nodeoffset, name, lenp); fdt_get_property_w() 507 * @fdt: pointer to the device tree blob 536 const void *fdt_getprop_by_offset(const void *fdt, int offset, 541 * @fdt: pointer to the device tree blob 550 const void *fdt_getprop_namelen(const void *fdt, int nodeoffset, 555 * @fdt: pointer to the device tree blob 580 const void *fdt_getprop(const void *fdt, int nodeoffset, 582 static inline void *fdt_getprop_w(void *fdt, int nodeoffset, fdt_getprop_w() argument 585 return (void *)(uintptr_t)fdt_getprop(fdt, nodeoffset, name, lenp); fdt_getprop_w() 590 * @fdt: pointer to the device tree blob 600 uint32_t fdt_get_phandle(const void *fdt, int nodeoffset); 604 * @fdt: pointer to the device tree blob 611 const char *fdt_get_alias_namelen(const void *fdt, 616 * @fdt: pointer to the device tree blob 626 const char *fdt_get_alias(const void *fdt, const char *name); 630 * @fdt: pointer to the device tree blob 653 int fdt_get_path(const void *fdt, int nodeoffset, char *buf, int buflen); 657 * @fdt: pointer to the device tree blob 665 * fdt_supernode_atdepth_offset(fdt, nodeoffset, 0, NULL); 668 * fdt_supernode_atdepth_offset(fdt, nodeoffset, D, NULL); 685 int fdt_supernode_atdepth_offset(const void *fdt, int nodeoffset, 690 * @fdt: pointer to the device tree blob 707 int fdt_node_depth(const void *fdt, int nodeoffset); 711 * @fdt: pointer to the device tree blob 730 int fdt_parent_offset(const void *fdt, int nodeoffset); 734 * @fdt: pointer to the device tree blob 747 * offset = fdt_node_offset_by_prop_value(fdt, -1, propname, 751 * offset = fdt_node_offset_by_prop_value(fdt, offset, propname, 770 int fdt_node_offset_by_prop_value(const void *fdt, int startoffset, 776 * @fdt: pointer to the device tree blob 793 int fdt_node_offset_by_phandle(const void *fdt, uint32_t phandle); 797 * @fdt: pointer to the device tree blob 817 int fdt_node_check_compatible(const void *fdt, int nodeoffset, 822 * @fdt: pointer to the device tree blob 833 * offset = fdt_node_offset_by_compatible(fdt, -1, compatible); 836 * offset = fdt_node_offset_by_compatible(fdt, offset, compatible); 854 int fdt_node_offset_by_compatible(const void *fdt, int startoffset, 888 * @fdt: pointer to the device tree blob 903 int fdt_address_cells(const void *fdt, int nodeoffset); 908 * @fdt: pointer to the device tree blob 923 int fdt_size_cells(const void *fdt, int nodeoffset); 932 * @fdt: pointer to the device tree blob 958 int fdt_setprop_inplace(void *fdt, int nodeoffset, const char *name, 963 * @fdt: pointer to the device tree blob 989 static inline int fdt_setprop_inplace_u32(void *fdt, int nodeoffset, fdt_setprop_inplace_u32() argument 993 return fdt_setprop_inplace(fdt, nodeoffset, name, &tmp, sizeof(tmp)); fdt_setprop_inplace_u32() 998 * @fdt: pointer to the device tree blob 1024 static inline int fdt_setprop_inplace_u64(void *fdt, int nodeoffset, fdt_setprop_inplace_u64() argument 1028 return fdt_setprop_inplace(fdt, nodeoffset, name, &tmp, sizeof(tmp)); fdt_setprop_inplace_u64() 1036 static inline int fdt_setprop_inplace_cell(void *fdt, int nodeoffset, fdt_setprop_inplace_cell() argument 1039 return fdt_setprop_inplace_u32(fdt, nodeoffset, name, val); fdt_setprop_inplace_cell() 1044 * @fdt: pointer to the device tree blob 1066 int fdt_nop_property(void *fdt, int nodeoffset, const char *name); 1070 * @fdt: pointer to the device tree blob 1090 int fdt_nop_node(void *fdt, int nodeoffset); 1097 int fdt_resize(void *fdt, void *buf, int bufsize); 1098 int fdt_add_reservemap_entry(void *fdt, uint64_t addr, uint64_t size); 1099 int fdt_finish_reservemap(void *fdt); 1100 int fdt_begin_node(void *fdt, const char *name); 1101 int fdt_property(void *fdt, const char *name, const void *val, int len); fdt_property_u32() 1102 static inline int fdt_property_u32(void *fdt, const char *name, uint32_t val) fdt_property_u32() argument 1105 return fdt_property(fdt, name, &tmp, sizeof(tmp)); fdt_property_u32() 1107 static inline int fdt_property_u64(void *fdt, const char *name, uint64_t val) fdt_property_u64() argument 1110 return fdt_property(fdt, name, &tmp, sizeof(tmp)); fdt_property_u64() 1112 static inline int fdt_property_cell(void *fdt, const char *name, uint32_t val) fdt_property_cell() argument 1114 return fdt_property_u32(fdt, name, val); fdt_property_cell() 1116 #define fdt_property_string(fdt, name, str) \ 1117 fdt_property(fdt, name, str, strlen(str)+1) 1118 int fdt_end_node(void *fdt); 1119 int fdt_finish(void *fdt); 1126 int fdt_open_into(const void *fdt, void *buf, int bufsize); 1127 int fdt_pack(void *fdt); 1131 * @fdt: pointer to the device tree blob 1151 int fdt_add_mem_rsv(void *fdt, uint64_t address, uint64_t size); 1155 * @fdt: pointer to the device tree blob 1175 int fdt_del_mem_rsv(void *fdt, int n); 1179 * @fdt: pointer to the device tree blob 1201 int fdt_set_name(void *fdt, int nodeoffset, const char *name); 1205 * @fdt: pointer to the device tree blob 1231 int fdt_setprop(void *fdt, int nodeoffset, const char *name, 1236 * @fdt: pointer to the device tree blob 1262 static inline int fdt_setprop_u32(void *fdt, int nodeoffset, const char *name, fdt_setprop_u32() argument 1266 return fdt_setprop(fdt, nodeoffset, name, &tmp, sizeof(tmp)); fdt_setprop_u32() 1271 * @fdt: pointer to the device tree blob 1297 static inline int fdt_setprop_u64(void *fdt, int nodeoffset, const char *name, fdt_setprop_u64() argument 1301 return fdt_setprop(fdt, nodeoffset, name, &tmp, sizeof(tmp)); fdt_setprop_u64() 1309 static inline int fdt_setprop_cell(void *fdt, int nodeoffset, const char *name, fdt_setprop_cell() argument 1312 return fdt_setprop_u32(fdt, nodeoffset, name, val); fdt_setprop_cell() 1317 * @fdt: pointer to the device tree blob 1343 #define fdt_setprop_string(fdt, nodeoffset, name, str) \ 1344 fdt_setprop((fdt), (nodeoffset), (name), (str), strlen(str)+1) 1348 * @fdt: pointer to the device tree blob 1373 int fdt_appendprop(void *fdt, int nodeoffset, const char *name, 1378 * @fdt: pointer to the device tree blob 1404 static inline int fdt_appendprop_u32(void *fdt, int nodeoffset, fdt_appendprop_u32() argument 1408 return fdt_appendprop(fdt, nodeoffset, name, &tmp, sizeof(tmp)); fdt_appendprop_u32() 1413 * @fdt: pointer to the device tree blob 1439 static inline int fdt_appendprop_u64(void *fdt, int nodeoffset, fdt_appendprop_u64() argument 1443 return fdt_appendprop(fdt, nodeoffset, name, &tmp, sizeof(tmp)); fdt_appendprop_u64() 1451 static inline int fdt_appendprop_cell(void *fdt, int nodeoffset, fdt_appendprop_cell() argument 1454 return fdt_appendprop_u32(fdt, nodeoffset, name, val); fdt_appendprop_cell() 1459 * @fdt: pointer to the device tree blob 1484 #define fdt_appendprop_string(fdt, nodeoffset, name, str) \ 1485 fdt_appendprop((fdt), (nodeoffset), (name), (str), strlen(str)+1) 1489 * @fdt: pointer to the device tree blob 1509 int fdt_delprop(void *fdt, int nodeoffset, const char *name); 1513 * @fdt: pointer to the device tree blob 1523 int fdt_add_subnode_namelen(void *fdt, int parentoffset, 1528 * @fdt: pointer to the device tree blob 1555 int fdt_add_subnode(void *fdt, int parentoffset, const char *name); 1559 * @fdt: pointer to the device tree blob 1578 int fdt_del_node(void *fdt, int nodeoffset);
|
H A D | fdt_wip.c | 53 #include <fdt.h> 58 int fdt_setprop_inplace(void *fdt, int nodeoffset, const char *name, fdt_setprop_inplace() argument 64 propval = fdt_getprop_w(fdt, nodeoffset, name, &proplen); fdt_setprop_inplace() 83 int fdt_nop_property(void *fdt, int nodeoffset, const char *name) fdt_nop_property() argument 88 prop = fdt_get_property_w(fdt, nodeoffset, name, &len); fdt_nop_property() 97 int _fdt_node_end_offset(void *fdt, int offset) _fdt_node_end_offset() argument 102 offset = fdt_next_node(fdt, offset, &depth); _fdt_node_end_offset() 107 int fdt_nop_node(void *fdt, int nodeoffset) fdt_nop_node() argument 111 endoffset = _fdt_node_end_offset(fdt, nodeoffset); fdt_nop_node() 115 _fdt_nop_region(fdt_offset_ptr_w(fdt, nodeoffset, 0), fdt_nop_node()
|
H A D | fdt_empty_tree.c | 53 #include <fdt.h>
|
H A D | fdt_strerror.c | 53 #include <fdt.h>
|
/linux-4.4.14/include/linux/ |
H A D | libfdt.h | 5 #include "../../scripts/dtc/libfdt/fdt.h"
|
H A D | fdtable.h | 33 static inline bool close_on_exec(int fd, const struct fdtable *fdt) close_on_exec() argument 35 return test_bit(fd, fdt->close_on_exec); close_on_exec() 38 static inline bool fd_is_open(int fd, const struct fdtable *fdt) fd_is_open() argument 40 return test_bit(fd, fdt->open_fds); fd_is_open() 54 struct fdtable __rcu *fdt; member in struct:files_struct 75 rcu_dereference_check_fdtable((files), (files)->fdt) 82 struct fdtable *fdt = rcu_dereference_raw(files->fdt); __fcheck_files() local 84 if (fd < fdt->max_fds) __fcheck_files() 85 return rcu_dereference_raw(fdt->fd[fd]); __fcheck_files()
|
H A D | of_fdt.h | 43 /* TBD: Temporary export of fdt globals - remove when code fully merged */
|
/linux-4.4.14/arch/arm/boot/compressed/ |
H A D | atags_to_fdt.c | 12 static int node_offset(void *fdt, const char *node_path) node_offset() argument 14 int offset = fdt_path_offset(fdt, node_path); node_offset() 16 offset = fdt_add_subnode(fdt, 0, node_path); node_offset() 20 static int setprop(void *fdt, const char *node_path, const char *property, setprop() argument 23 int offset = node_offset(fdt, node_path); setprop() 26 return fdt_setprop(fdt, offset, property, val_array, size); setprop() 29 static int setprop_string(void *fdt, const char *node_path, setprop_string() argument 32 int offset = node_offset(fdt, node_path); setprop_string() 35 return fdt_setprop_string(fdt, offset, property, string); setprop_string() 38 static int setprop_cell(void *fdt, const char *node_path, setprop_cell() argument 41 int offset = node_offset(fdt, node_path); setprop_cell() 44 return fdt_setprop_cell(fdt, offset, property, val); setprop_cell() 47 static const void *getprop(const void *fdt, const char *node_path, getprop() argument 50 int offset = fdt_path_offset(fdt, node_path); getprop() 55 return fdt_getprop(fdt, offset, property, len); getprop() 58 static uint32_t get_cell_size(const void *fdt) get_cell_size() argument 62 const uint32_t *size_len = getprop(fdt, "/", "#size-cells", &len); get_cell_size() 69 static void merge_fdt_bootargs(void *fdt, const char *fdt_cmdline) merge_fdt_bootargs() argument 76 /* copy the fdt command line into the buffer */ merge_fdt_bootargs() 77 fdt_bootargs = getprop(fdt, "/chosen", "bootargs", &len); merge_fdt_bootargs() 97 setprop_string(fdt, "/chosen", "bootargs", cmdline); merge_fdt_bootargs() 108 int atags_to_fdt(void *atag_list, void *fdt, int total_space) atags_to_fdt() argument 132 ret = fdt_open_into(fdt, fdt, total_space); atags_to_fdt() 145 merge_fdt_bootargs(fdt, for_each_tag() 148 setprop_string(fdt, "/chosen", "bootargs", for_each_tag() 155 memsize = get_cell_size(fdt); for_each_tag() 178 setprop_cell(fdt, "/chosen", "linux,initrd-start", for_each_tag() 180 setprop_cell(fdt, "/chosen", "linux,initrd-end", for_each_tag() 186 setprop(fdt, "/memory", "reg", mem_reg_property, 190 return fdt_pack(fdt);
|
H A D | Makefile | 77 libfdt := fdt_rw.c fdt_ro.c fdt_wip.c fdt.c 78 libfdt_hdrs := fdt.h libfdt.h libfdt_internal.h
|
/linux-4.4.14/arch/mips/include/asm/mach-malta/ |
H A D | malta-dtshim.h | 18 extern void __init *malta_dt_shim(void *fdt); 22 static inline void *malta_dt_shim(void *fdt) malta_dt_shim() argument 24 return fdt; malta_dt_shim()
|
/linux-4.4.14/arch/powerpc/boot/ |
H A D | libfdt-wrapper.c | 54 static void *fdt; variable 61 int size = fdt_totalsize(fdt); expand_buf() 68 rc = fdt_open_into(fdt, buf, size); expand_buf() 70 fatal("Couldn't expand fdt into new buffer: %s\n\r", expand_buf() 73 fdt = buf; expand_buf() 78 return offset_devp(fdt_path_offset(fdt, path)); fdt_wrapper_finddevice() 87 p = fdt_getprop(fdt, devp_offset(devp), name, &len); fdt_wrapper_getprop() 99 rc = fdt_setprop(fdt, devp_offset(devp), name, buf, len); fdt_wrapper_setprop() 102 rc = fdt_setprop(fdt, devp_offset(devp), name, buf, len); fdt_wrapper_setprop() 110 return fdt_del_node(fdt, devp_offset(devp)); fdt_wrapper_del_node() 115 return offset_devp(fdt_parent_offset(fdt, devp_offset(devp))); fdt_wrapper_get_parent() 122 offset = fdt_add_subnode(fdt, devp_offset(devp), name); fdt_wrapper_create_node() 125 offset = fdt_add_subnode(fdt, devp_offset(devp), name); fdt_wrapper_create_node() 136 int offset = fdt_node_offset_by_prop_value(fdt, devp_offset_find(prev), fdt_wrapper_find_node_by_prop_value() 144 int offset = fdt_node_offset_by_compatible(fdt, devp_offset_find(prev), fdt_wrapper_find_node_by_compatible() 153 rc = fdt_get_path(fdt, devp_offset(devp), buf, len); fdt_wrapper_get_path() 163 rc = fdt_pack(fdt); fdt_wrapper_finalize() 167 return (unsigned long)fdt; fdt_wrapper_finalize() 187 fdt = blob; fdt_init() 188 bufsize = fdt_totalsize(fdt) + EXPAND_GRANULARITY; fdt_init() 193 err = fdt_open_into(fdt, buf, bufsize); fdt_init() 198 fdt = buf; fdt_init()
|
H A D | cuboot-hotfoot.c | 67 /* Fix up flash size in fdt for 4M boards. */ hotfoot_fixups()
|
H A D | Makefile | 70 libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c 71 libfdtheader := fdt.h libfdt.h libfdt_internal.h
|
/linux-4.4.14/fs/ |
H A D | file.c | 47 static void __free_fdtable(struct fdtable *fdt) __free_fdtable() argument 49 kvfree(fdt->fd); __free_fdtable() 50 kvfree(fdt->open_fds); __free_fdtable() 51 kfree(fdt); __free_fdtable() 105 struct fdtable *fdt; alloc_fdtable() local 129 fdt = kmalloc(sizeof(struct fdtable), GFP_KERNEL); alloc_fdtable() 130 if (!fdt) alloc_fdtable() 132 fdt->max_fds = nr; alloc_fdtable() 136 fdt->fd = data; alloc_fdtable() 142 fdt->open_fds = data; alloc_fdtable() 144 fdt->close_on_exec = data; alloc_fdtable() 146 fdt->full_fds_bits = data; alloc_fdtable() 148 return fdt; alloc_fdtable() 151 kvfree(fdt->fd); alloc_fdtable() 153 kfree(fdt); alloc_fdtable() 194 rcu_assign_pointer(files->fdt, new_fdt); 214 struct fdtable *fdt; variable in typeref:struct:fdtable 218 fdt = files_fdtable(files); 221 if (nr < fdt->max_fds) 245 static inline void __set_close_on_exec(int fd, struct fdtable *fdt) __set_close_on_exec() argument 247 __set_bit(fd, fdt->close_on_exec); __set_close_on_exec() 250 static inline void __clear_close_on_exec(int fd, struct fdtable *fdt) __clear_close_on_exec() argument 252 if (test_bit(fd, fdt->close_on_exec)) __clear_close_on_exec() 253 __clear_bit(fd, fdt->close_on_exec); __clear_close_on_exec() 256 static inline void __set_open_fd(unsigned int fd, struct fdtable *fdt) __set_open_fd() argument 258 __set_bit(fd, fdt->open_fds); __set_open_fd() 260 if (!~fdt->open_fds[fd]) __set_open_fd() 261 __set_bit(fd, fdt->full_fds_bits); __set_open_fd() 264 static inline void __clear_open_fd(unsigned int fd, struct fdtable *fdt) __clear_open_fd() argument 266 __clear_bit(fd, fdt->open_fds); __clear_open_fd() 267 __clear_bit(fd / BITS_PER_LONG, fdt->full_fds_bits); __clear_open_fd() 270 static int count_open_files(struct fdtable *fdt) count_open_files() argument 272 int size = fdt->max_fds; count_open_files() 277 if (fdt->open_fds[--i]) count_open_files() 375 rcu_assign_pointer(newf->fdt, new_fdt); dup_fd() 392 struct fdtable *fdt = rcu_dereference_raw(files->fdt); close_files() local 398 if (i >= fdt->max_fds) close_files() 400 set = fdt->open_fds[j++]; close_files() 403 struct file * file = xchg(&fdt->fd[i], NULL); close_files() 414 return fdt; close_files() 433 struct fdtable *fdt = close_files(files); put_files_struct() local 436 if (fdt != &files->fdtab) put_files_struct() 437 __free_fdtable(fdt); put_files_struct() 468 .fdt = &init_files.fdtab, 479 static unsigned long find_next_fd(struct fdtable *fdt, unsigned long start) find_next_fd() argument 481 unsigned long maxfd = fdt->max_fds; find_next_fd() 485 bitbit = find_next_zero_bit(fdt->full_fds_bits, maxbit, bitbit) * BITS_PER_LONG; find_next_fd() 490 return find_next_zero_bit(fdt->open_fds, maxfd, start); find_next_fd() 501 struct fdtable *fdt; __alloc_fd() local 505 fdt = files_fdtable(files); __alloc_fd() 510 if (fd < fdt->max_fds) __alloc_fd() 511 fd = find_next_fd(fdt, fd); __alloc_fd() 535 __set_open_fd(fd, fdt); __alloc_fd() 537 __set_close_on_exec(fd, fdt); __alloc_fd() 539 __clear_close_on_exec(fd, fdt); __alloc_fd() 543 if (rcu_access_pointer(fdt->fd[fd]) != NULL) { __alloc_fd() 545 rcu_assign_pointer(fdt->fd[fd], NULL); __alloc_fd() 567 struct fdtable *fdt = files_fdtable(files); __put_unused_fd() local 568 __clear_open_fd(fd, fdt); __put_unused_fd() 606 struct fdtable *fdt; __fd_install() local 618 fdt = rcu_dereference_sched(files->fdt); __fd_install() 619 BUG_ON(fdt->fd[fd] != NULL); __fd_install() 620 rcu_assign_pointer(fdt->fd[fd], file); __fd_install() 637 struct fdtable *fdt; __close_fd() local 640 fdt = files_fdtable(files); __close_fd() 641 if (fd >= fdt->max_fds) __close_fd() 643 file = fdt->fd[fd]; __close_fd() 646 rcu_assign_pointer(fdt->fd[fd], NULL); __close_fd() 647 __clear_close_on_exec(fd, fdt); __close_fd() 660 struct fdtable *fdt; do_close_on_exec() local 667 fdt = files_fdtable(files); do_close_on_exec() 668 if (fd >= fdt->max_fds) do_close_on_exec() 670 set = fdt->close_on_exec[i]; do_close_on_exec() 673 fdt->close_on_exec[i] = 0; do_close_on_exec() 678 file = fdt->fd[fd]; do_close_on_exec() 681 rcu_assign_pointer(fdt->fd[fd], NULL); do_close_on_exec() 795 struct fdtable *fdt; set_close_on_exec() local 797 fdt = files_fdtable(files); set_close_on_exec() 799 __set_close_on_exec(fd, fdt); set_close_on_exec() 801 __clear_close_on_exec(fd, fdt); set_close_on_exec() 808 struct fdtable *fdt; get_close_on_exec() local 811 fdt = files_fdtable(files); get_close_on_exec() 812 res = close_on_exec(fd, fdt); get_close_on_exec() 822 struct fdtable *fdt; variable in typeref:struct:fdtable 838 fdt = files_fdtable(files); 839 tofree = fdt->fd[fd]; 840 if (!tofree && fd_is_open(fd, fdt)) 843 rcu_assign_pointer(fdt->fd[fd], file); 844 __set_open_fd(fd, fdt); 846 __set_close_on_exec(fd, fdt); 848 __clear_close_on_exec(fd, fdt); 964 struct fdtable *fdt; iterate_fd() local 969 for (fdt = files_fdtable(files); n < fdt->max_fds; n++) { iterate_fd() 971 file = rcu_dereference_check_fdtable(files, fdt->fd[n]); iterate_fd()
|
H A D | select.c | 347 struct fdtable *fdt; max_select_fd() local 352 fdt = files_fdtable(current->files); max_select_fd() 353 open_fds = fdt->open_fds + n; max_select_fd() 554 struct fdtable *fdt; core_sys_select() local 564 fdt = files_fdtable(current->files); core_sys_select() 565 max_fds = fdt->max_fds; core_sys_select()
|
H A D | compat.c | 1241 struct fdtable *fdt; compat_core_sys_select() local 1249 fdt = files_fdtable(current->files); compat_core_sys_select() 1250 max_fds = fdt->max_fds; compat_core_sys_select()
|
H A D | exec.c | 1555 if (close_on_exec(fd, rcu_dereference_raw(current->files->fdt))) do_execveat_common()
|
/linux-4.4.14/drivers/firmware/efi/libstub/ |
H A D | fdt.c | 21 void *fdt, int new_fdt_size, char *cmdline_ptr, update_fdt() 49 status = fdt_open_into(orig_fdt, fdt, new_fdt_size); update_fdt() 51 status = fdt_create_empty_tree(fdt, new_fdt_size); update_fdt() 65 node = fdt_next_node(fdt, prev, NULL); update_fdt() 69 type = fdt_getprop(fdt, node, "device_type", &len); update_fdt() 71 fdt_del_node(fdt, node); update_fdt() 82 num_rsv = fdt_num_mem_rsv(fdt); update_fdt() 84 fdt_del_mem_rsv(fdt, num_rsv); update_fdt() 86 node = fdt_subnode_offset(fdt, 0, "chosen"); update_fdt() 88 node = fdt_add_subnode(fdt, 0, "chosen"); update_fdt() 96 status = fdt_setprop(fdt, node, "bootargs", cmdline_ptr, update_fdt() 107 status = fdt_setprop(fdt, node, "linux,initrd-start", update_fdt() 112 status = fdt_setprop(fdt, node, "linux,initrd-end", update_fdt() 119 node = fdt_subnode_offset(fdt, 0, "chosen"); update_fdt() 121 status = fdt_setprop(fdt, node, "linux,uefi-system-table", update_fdt() 127 status = fdt_setprop(fdt, node, "linux,uefi-mmap-start", update_fdt() 133 status = fdt_setprop(fdt, node, "linux,uefi-mmap-size", update_fdt() 139 status = fdt_setprop(fdt, node, "linux,uefi-mmap-desc-size", update_fdt() 145 status = fdt_setprop(fdt, node, "linux,uefi-mmap-desc-ver", update_fdt() 321 void *fdt; get_fdt() local 325 fdt = NULL; get_fdt() 329 fdt = (void *) tables[i].table; get_fdt() 330 if (fdt_check_header(fdt) != 0) { get_fdt() 334 *fdt_size = fdt_totalsize(fdt); get_fdt() 338 return fdt; get_fdt() 19 update_fdt(efi_system_table_t *sys_table, void *orig_fdt, unsigned long orig_fdt_size, void *fdt, int new_fdt_size, char *cmdline_ptr, u64 initrd_addr, u64 initrd_size, efi_memory_desc_t *memory_map, unsigned long map_size, unsigned long desc_size, u32 desc_ver) update_fdt() argument
|
H A D | efistub.h | 25 void *fdt, int new_fdt_size, char *cmdline_ptr,
|
H A D | Makefile | 29 arm-deps := fdt_rw.c fdt_ro.c fdt_wip.c fdt.c fdt_empty_tree.c fdt_sw.c sort.c 34 lib-$(CONFIG_EFI_ARMSTUB) += arm-stub.o fdt.o string.o \
|
H A D | efi-stub-helper.c | 38 * with the allocations for initrd and fdt more efficiently.
|
/linux-4.4.14/drivers/of/ |
H A D | Makefile | 3 obj-$(CONFIG_OF_FLATTREE) += fdt.o
|
H A D | fdt.c | 807 const void *fdt = initial_boot_params; early_init_dt_scan_chosen_serial() local 809 offset = fdt_path_offset(fdt, "/chosen"); early_init_dt_scan_chosen_serial() 811 offset = fdt_path_offset(fdt, "/chosen@0"); early_init_dt_scan_chosen_serial() 815 p = fdt_getprop(fdt, offset, "stdout-path", &l); early_init_dt_scan_chosen_serial() 817 p = fdt_getprop(fdt, offset, "linux,stdout-path", &l); early_init_dt_scan_chosen_serial() 825 offset = fdt_path_offset_namelen(fdt, p, l); early_init_dt_scan_chosen_serial() 832 if (fdt_node_check_compatible(fdt, offset, match->compatible)) { early_init_dt_scan_chosen_serial() 837 addr = fdt_translate_address(fdt, offset); early_init_dt_scan_chosen_serial() 1163 __BIN_ATTR(fdt, S_IRUSR, of_fdt_raw_read, NULL, 0); of_fdt_raw_init() 1170 pr_warn("fdt: not creating '/sys/firmware/fdt': CRC check failed\n"); of_fdt_raw_init()
|
H A D | of_reserved_mem.c | 70 * res_mem_save_node() - save fdt node for second pass initialization
|
/linux-4.4.14/arch/mips/mti-malta/ |
H A D | malta-dtshim.c | 51 static void __init append_memory(void *fdt, int root_off) append_memory() argument 62 mem_off = fdt_path_offset(fdt, "/memory"); append_memory() 110 mem_off = fdt_add_subnode(fdt, root_off, "memory"); append_memory() 114 err = fdt_setprop_string(fdt, mem_off, "device_type", "memory"); append_memory() 119 err = fdt_setprop(fdt, mem_off, "reg", mem_array, append_memory() 125 err = fdt_setprop(fdt, mem_off, "linux,usable-memory", mem_array, append_memory() 131 void __init *malta_dt_shim(void *fdt) malta_dt_shim() argument 136 if (fdt_check_header(fdt)) malta_dt_shim() 139 err = fdt_open_into(fdt, fdt_buf, sizeof(fdt_buf)); malta_dt_shim() 153 return fdt; malta_dt_shim()
|
H A D | malta-setup.c | 254 void *fdt = __dtb_start; plat_mem_setup() local 256 fdt = malta_dt_shim(fdt); plat_mem_setup() 257 __dt_setup_arch(fdt); plat_mem_setup()
|
/linux-4.4.14/scripts/dtc/ |
H A D | flattree.c | 337 static void make_fdt_header(struct fdt_header *fdt, make_fdt_header() argument 346 memset(fdt, 0xff, sizeof(*fdt)); make_fdt_header() 348 fdt->magic = cpu_to_fdt32(FDT_MAGIC); make_fdt_header() 349 fdt->version = cpu_to_fdt32(vi->version); make_fdt_header() 350 fdt->last_comp_version = cpu_to_fdt32(vi->last_comp_version); make_fdt_header() 355 fdt->off_mem_rsvmap = cpu_to_fdt32(reserve_off); make_fdt_header() 356 fdt->off_dt_struct = cpu_to_fdt32(reserve_off + reservesize); make_fdt_header() 357 fdt->off_dt_strings = cpu_to_fdt32(reserve_off + reservesize make_fdt_header() 359 fdt->totalsize = cpu_to_fdt32(reserve_off + reservesize + dtsize + strsize); make_fdt_header() 362 fdt->boot_cpuid_phys = cpu_to_fdt32(boot_cpuid_phys); make_fdt_header() 364 fdt->size_dt_strings = cpu_to_fdt32(strsize); make_fdt_header() 366 fdt->size_dt_struct = cpu_to_fdt32(dtsize); make_fdt_header() 377 struct fdt_header fdt; dt_to_blob() local 393 make_fdt_header(&fdt, vi, reservebuf.len, dtbuf.len, strbuf.len, dt_to_blob() 400 padlen = minsize - fdt32_to_cpu(fdt.totalsize); dt_to_blob() 404 fdt32_to_cpu(fdt.totalsize), minsize); dt_to_blob() 411 int tsize = fdt32_to_cpu(fdt.totalsize); dt_to_blob() 413 fdt.totalsize = cpu_to_fdt32(tsize); dt_to_blob() 421 blob = data_append_data(blob, &fdt, vi->hdr_size); dt_to_blob() 811 struct fdt_header *fdt; dt_from_blob() local 854 fdt = (struct fdt_header *)blob; dt_from_blob() 855 fdt->magic = cpu_to_fdt32(magic); dt_from_blob() 856 fdt->totalsize = cpu_to_fdt32(totalsize); dt_from_blob() 875 off_dt = fdt32_to_cpu(fdt->off_dt_struct); dt_from_blob() 876 off_str = fdt32_to_cpu(fdt->off_dt_strings); dt_from_blob() 877 off_mem_rsvmap = fdt32_to_cpu(fdt->off_mem_rsvmap); dt_from_blob() 878 version = fdt32_to_cpu(fdt->version); dt_from_blob() 879 boot_cpuid_phys = fdt32_to_cpu(fdt->boot_cpuid_phys); dt_from_blob() 891 uint32_t size_str = fdt32_to_cpu(fdt->size_dt_strings); dt_from_blob() 900 size_dt = fdt32_to_cpu(fdt->size_dt_struct); dt_from_blob()
|
H A D | util.h | 88 * @return Pointer to allocated buffer containing fdt, or NULL on error 105 * @param buffp Returns pointer to buffer containing fdt 122 * @param blob Poiner to buffer containing fdt 133 * @param blob Poiner to buffer containing fdt
|
H A D | fdtdump.c | 11 #include <fdt.h>
|
H A D | fdtput.c | 196 * Create a new node in the fdt. 318 * - pack fdt before writing main() 320 * - expand fdt if value doesn't fit main()
|
H A D | dtc.h | 36 #include <fdt.h>
|
/linux-4.4.14/arch/microblaze/include/asm/ |
H A D | setup.h | 39 unsigned int fdt, unsigned int msr, unsigned int tlb0,
|
/linux-4.4.14/arch/h8300/kernel/ |
H A D | setup.c | 62 void __init h8300_fdt_init(void *fdt, char *bootargs) h8300_fdt_init() argument 64 if (!fdt) h8300_fdt_init() 65 fdt = __dtb_start; h8300_fdt_init() 69 early_init_dt_scan(fdt); h8300_fdt_init()
|
/linux-4.4.14/include/linux/fsl/bestcomm/ |
H A D | bestcomm_priv.h | 56 u32 fdt; member in struct:bcom_tdt 76 u32 *fdt; member in struct:bcom_engine 330 u32 *fdt = &bcom_eng->tdt[task].fdt; bcom_set_task_pragma() local 331 *fdt = (*fdt & ~0xff) | pragma; bcom_set_task_pragma()
|
/linux-4.4.14/arch/openrisc/kernel/ |
H A D | setup.c | 211 void __init or32_early_setup(void *fdt) or32_early_setup() argument 213 if (fdt) or32_early_setup() 214 pr_info("FDT at %p\n", fdt); or32_early_setup() 216 fdt = __dtb_start; or32_early_setup() 217 pr_info("Compiled-in FDT at %p\n", fdt); or32_early_setup() 219 early_init_devtree(fdt); or32_early_setup()
|
H A D | head.S | 446 l.or r25,r0,r3 /* pointer to fdt */ 572 /* check fdt header magic word */ 573 l.lwz r3,0(r25) /* load magic from fdt into r3 */ 579 /* magic number mismatch, set fdt pointer to null */ 582 /* pass fdt pointer to or32_early_setup in r3 */
|
/linux-4.4.14/drivers/dma/bestcomm/ |
H A D | bestcomm.c | 291 bcom_eng->fdt = bcom_sram_alloc(fdt_size, BCOM_FDT_ALIGN, &fdt_pa); bcom_engine_init() 293 if (!bcom_eng->tdt || !bcom_eng->ctx || !bcom_eng->var || !bcom_eng->fdt) { bcom_engine_init() 299 bcom_sram_free(bcom_eng->fdt); bcom_engine_init() 307 memset(bcom_eng->fdt, 0x00, fdt_size); bcom_engine_init() 310 memcpy(&bcom_eng->fdt[48], fdt_ops, sizeof(fdt_ops)); bcom_engine_init() 320 bcom_eng->tdt[task].fdt = fdt_pa; bcom_engine_init() 359 bcom_sram_free(bcom_eng->fdt); bcom_engine_cleanup()
|
/linux-4.4.14/arch/microblaze/kernel/ |
H A D | setup.c | 100 unsigned int fdt, unsigned int msr, unsigned int tlb0, machine_early_init() 149 if (fdt) machine_early_init() 150 pr_info("FDT at 0x%08x\n", fdt); machine_early_init() 99 machine_early_init(const char *cmdline, unsigned int ram, unsigned int fdt, unsigned int msr, unsigned int tlb0, unsigned int tlb1) machine_early_init() argument
|
H A D | vmlinux.lds.S | 45 _fdt_start = . ; /* place for fdt blob */
|
/linux-4.4.14/arch/microblaze/ |
H A D | Makefile | 87 echo ' - stripped elf with fdt blob' 88 echo ' simpleImage.<dt>.unstrip - full ELF image with fdt blob'
|
/linux-4.4.14/arch/c6x/ |
H A D | Makefile | 61 @echo ' - stripped elf with fdt blob'
|
/linux-4.4.14/arch/c6x/kernel/ |
H A D | vmlinux.lds.S | 93 _fdt_start = . ; /* place for fdt blob */
|
H A D | setup.c | 273 void *fdt = _fdt_start; machine_init() local 288 * fdt is linked in blob. machine_init() 290 if (dtb && dtb != fdt) machine_init() 291 fdt = dtb; machine_init() 294 early_init_dt_scan(fdt); machine_init()
|
/linux-4.4.14/drivers/usb/host/ |
H A D | ehci-ppc-of.c | 144 pr_debug("%s: no ohci offset in fdt\n", __FILE__); ehci_hcd_ppc_of_probe() 212 pr_debug("%s: no ohci offset in fdt\n", __FILE__); ehci_hcd_ppc_of_remove()
|
H A D | ohci-ppc-of.c | 170 pr_debug("%s: cannot get ehci offset from fdt\n", __FILE__); ohci_hcd_ppc_of_probe()
|
/linux-4.4.14/arch/openrisc/include/asm/ |
H A D | page.h | 37 * drivers/of/fdt.c
|
/linux-4.4.14/drivers/tty/serial/8250/ |
H A D | 8250_ingenic.c | 83 void *fdt = initial_boot_params; ingenic_early_console_setup_clock() local 87 offset = fdt_path_offset(fdt, "/ext"); ingenic_early_console_setup_clock() 91 prop = fdt_getprop(fdt, offset, "clock-frequency", NULL); ingenic_early_console_setup_clock()
|
/linux-4.4.14/drivers/scsi/qla2xxx/ |
H A D | qla_sup.c | 869 "fdt=0x%x flt=0x%x npiv=0x%x fcp_prif_cfg=0x%x.\n", qla2xxx_get_flt_info() 885 struct qla_fdt_layout *fdt; qla2xxx_get_fdt_info() local 892 fdt = (struct qla_fdt_layout *)req->ring; qla2xxx_get_fdt_info() 897 if (fdt->sig[0] != 'Q' || fdt->sig[1] != 'L' || fdt->sig[2] != 'I' || qla2xxx_get_fdt_info() 898 fdt->sig[3] != 'D') qla2xxx_get_fdt_info() 908 fdt->sig[0], le16_to_cpu(fdt->version)); qla2xxx_get_fdt_info() 910 (uint8_t *)fdt, sizeof(*fdt)); qla2xxx_get_fdt_info() 915 mid = le16_to_cpu(fdt->man_id); qla2xxx_get_fdt_info() 916 fid = le16_to_cpu(fdt->id); qla2xxx_get_fdt_info() 917 ha->fdt_wrt_disable = fdt->wrt_disable_bits; qla2xxx_get_fdt_info() 918 ha->fdt_wrt_enable = fdt->wrt_enable_bits; qla2xxx_get_fdt_info() 919 ha->fdt_wrt_sts_reg_cmd = fdt->wrt_sts_reg_cmd; qla2xxx_get_fdt_info() 921 ha->fdt_erase_cmd = fdt->erase_cmd; qla2xxx_get_fdt_info() 924 flash_conf_addr(ha, 0x0300 | fdt->erase_cmd); qla2xxx_get_fdt_info() 925 ha->fdt_block_size = le32_to_cpu(fdt->block_size); qla2xxx_get_fdt_info() 926 if (fdt->unprotect_sec_cmd) { qla2xxx_get_fdt_info() 928 fdt->unprotect_sec_cmd); qla2xxx_get_fdt_info() 929 ha->fdt_protect_sec_cmd = fdt->protect_sec_cmd ? qla2xxx_get_fdt_info() 930 flash_conf_addr(ha, 0x0300 | fdt->protect_sec_cmd): qla2xxx_get_fdt_info()
|
/linux-4.4.14/fs/proc/ |
H A D | fd.c | 39 struct fdtable *fdt = files_fdtable(files); seq_show() local 42 if (close_on_exec(fd, fdt)) seq_show()
|
/linux-4.4.14/drivers/scsi/qla4xxx/ |
H A D | ql4_nx.c | 3819 "FLT[%s]: flt=0x%x fdt=0x%x boot=0x%x bootload=0x%x fw=0x%x chap=0x%x chap_size=0x%x ddb=0x%x ddb_size=0x%x\n", qla4_8xxx_get_flt_info() 3836 struct qla_fdt_layout *fdt; qla4_82xx_get_fdt_info() local 3845 fdt = (struct qla_fdt_layout *)ha->request_ring; qla4_82xx_get_fdt_info() 3852 if (fdt->sig[0] != 'Q' || fdt->sig[1] != 'L' || fdt->sig[2] != 'I' || qla4_82xx_get_fdt_info() 3853 fdt->sig[3] != 'D') qla4_82xx_get_fdt_info() 3862 "checksum=0x%x id=%c version=0x%x.\n", chksum, fdt->sig[0], qla4_82xx_get_fdt_info() 3863 le16_to_cpu(fdt->version))); qla4_82xx_get_fdt_info() 3868 mid = le16_to_cpu(fdt->man_id); qla4_82xx_get_fdt_info() 3869 fid = le16_to_cpu(fdt->id); qla4_82xx_get_fdt_info() 3870 hw->fdt_wrt_disable = fdt->wrt_disable_bits; qla4_82xx_get_fdt_info() 3871 hw->fdt_erase_cmd = flash_conf_addr(hw, 0x0300 | fdt->erase_cmd); qla4_82xx_get_fdt_info() 3872 hw->fdt_block_size = le32_to_cpu(fdt->block_size); qla4_82xx_get_fdt_info() 3874 if (fdt->unprotect_sec_cmd) { qla4_82xx_get_fdt_info() 3876 fdt->unprotect_sec_cmd); qla4_82xx_get_fdt_info() 3877 hw->fdt_protect_sec_cmd = fdt->protect_sec_cmd ? qla4_82xx_get_fdt_info() 3878 flash_conf_addr(hw, 0x0300 | fdt->protect_sec_cmd) : qla4_82xx_get_fdt_info()
|
/linux-4.4.14/arch/mips/cavium-octeon/ |
H A D | setup.c | 1089 const void *fdt; device_tree_init() local 1094 fdt = &__appended_dtb; device_tree_init() 1100 fdt = phys_to_virt(octeon_bootinfo->fdt_addr); device_tree_init() 1101 if (fdt_check_header(fdt)) device_tree_init() 1106 fdt = &__dtb_octeon_68xx_begin; device_tree_init() 1109 fdt = &__dtb_octeon_3xxx_begin; device_tree_init() 1113 initial_boot_params = (void *)fdt; device_tree_init()
|
/linux-4.4.14/lib/ |
H A D | Makefile | 168 libfdt_files = fdt.o fdt_ro.o fdt_wip.o fdt_rw.o fdt_sw.o fdt_strerror.o \
|
/linux-4.4.14/arch/nios2/kernel/ |
H A D | setup.c | 100 * @r6: initrd end or fdt
|
/linux-4.4.14/drivers/net/ethernet/qlogic/qlcnic/ |
H A D | qlcnic_sysfs.c | 1006 if (adapter->ahw->fdt.mfg_id == adapter->flash_mfg_id) { qlcnic_83xx_sysfs_flash_bulk_write() 1021 if (adapter->ahw->fdt.mfg_id == adapter->flash_mfg_id) { qlcnic_83xx_sysfs_flash_bulk_write() 1039 if (adapter->ahw->fdt.mfg_id == adapter->flash_mfg_id) { qlcnic_83xx_sysfs_flash_bulk_write() 1074 if (adapter->ahw->fdt.mfg_id == adapter->flash_mfg_id) { qlcnic_83xx_sysfs_flash_write() 1086 if (adapter->ahw->fdt.mfg_id == adapter->flash_mfg_id) { qlcnic_83xx_sysfs_flash_write() 1103 if (adapter->ahw->fdt.mfg_id == adapter->flash_mfg_id) { qlcnic_83xx_sysfs_flash_write()
|
H A D | qlcnic_83xx_hw.c | 2721 cmd = adapter->ahw->fdt.write_statusreg_cmd; qlcnic_83xx_enable_flash_write() 2725 adapter->ahw->fdt.write_enable_bits); qlcnic_83xx_enable_flash_write() 2741 adapter->ahw->fdt.write_statusreg_cmd)); qlcnic_83xx_disable_flash_write() 2743 adapter->ahw->fdt.write_disable_bits); qlcnic_83xx_disable_flash_write() 2793 memset(&adapter->ahw->fdt, 0, fdt_size); qlcnic_83xx_read_flash_descriptor_table() 2795 (u8 *)&adapter->ahw->fdt, qlcnic_83xx_read_flash_descriptor_table() 2797 qlcnic_swap32_buffer((u32 *)&adapter->ahw->fdt, count); qlcnic_83xx_read_flash_descriptor_table() 2811 if (adapter->ahw->fdt.mfg_id == adapter->flash_mfg_id) { qlcnic_83xx_erase_flash_sector() 2836 cmd = QLC_83XX_FLASH_FDT_ERASE_DEF_SIG | adapter->ahw->fdt.erase_cmd; qlcnic_83xx_erase_flash_sector() 2837 if (adapter->ahw->fdt.mfg_id == adapter->flash_mfg_id) qlcnic_83xx_erase_flash_sector() 2853 if (adapter->ahw->fdt.mfg_id == adapter->flash_mfg_id) { qlcnic_83xx_erase_flash_sector()
|
H A D | qlcnic.h | 525 struct qlcnic_fdt fdt; member in struct:qlcnic_hardware_context
|
/linux-4.4.14/arch/metag/kernel/ |
H A D | setup.c | 258 /* append the bootloader cmdline to any builtin fdt cmdline */ setup_arch()
|