* Defined in arch/$(ARCH)/lib/bootm-fdt.c
*
* @blob: FDT blob to write to
- * @return 0 if ok, or -ve FDT_ERR_... on failure
+ * Return: 0 if ok, or -ve FDT_ERR_... on failure
*/
int arch_fixup_fdt(void *blob);
* See doc/device-tree-bindings/root.txt
*
* @param fdt FDT address in memory
- * @return 0 if ok, or -FDT_ERR_... on error
+ * Return: 0 if ok, or -FDT_ERR_... on error
*/
int fdt_root(void *fdt);
* In particular, this adds the kernel command line (bootargs) to the FDT.
*
* @param fdt FDT address in memory
- * @return 0 if ok, or -FDT_ERR_... on error
+ * Return: 0 if ok, or -FDT_ERR_... on error
*/
int fdt_chosen(void *fdt);
* Add initrd information to the FDT before booting the OS.
*
* @param fdt FDT address in memory
- * @return 0 if ok, or -FDT_ERR_... on error
+ * Return: 0 if ok, or -FDT_ERR_... on error
*/
int fdt_initrd(void *fdt, ulong initrd_start, ulong initrd_end);
* @param blob FDT blob to update
* @param start Begin of DRAM mapping in physical memory
* @param size Size of the single memory bank
- * @return 0 if ok, or -1 or -FDT_ERR_... on error
+ * Return: 0 if ok, or -1 or -FDT_ERR_... on error
*/
int fdt_fixup_memory(void *blob, u64 start, u64 size);
* @param size Array of size <banks> to hold the size of each region.
* @param banks Number of memory banks to create. If 0, the reg
* property will be left untouched.
- * @return 0 if ok, or -1 or -FDT_ERR_... on error
+ * Return: 0 if ok, or -1 or -FDT_ERR_... on error
*/
#ifdef CONFIG_ARCH_FIXUP_FDT_MEMORY
int fdt_fixup_memory_banks(void *blob, u64 start[], u64 size[], int banks);
* @param blob FDT blob to update
* @param path path within dt
* @param display name of display timing to match
- * @return 0 if ok, or -FDT_ERR_... on error
+ * Return: 0 if ok, or -FDT_ERR_... on error
*/
int fdt_fixup_display(void *blob, const char *path, const char *display);
* @param type type (if specified, otherwise pass NULL)
* @param os os-type (if specified, otherwise pass NULL)
* @param arch architecture (if specified, otherwise pass NULL)
- * @return 0 if ok, or -1 or -FDT_ERR_... on error
+ * Return: 0 if ok, or -1 or -FDT_ERR_... on error
*/
int fdt_record_loadable(void *blob, u32 index, const char *name,
uintptr_t load_addr, u32 size, uintptr_t entry_point,
*
* @param blob FDT blob to update
* @param bd Pointer to board data
- * @return 0 if ok, or -FDT_ERR_... on error
+ * Return: 0 if ok, or -FDT_ERR_... on error
*/
int ft_board_setup(void *blob, struct bd_info *bd);
*
* @param blob FDT blob to update
* @param bd Pointer to board data
- * @return 0 if ok, or -FDT_ERR_... on error
+ * Return: 0 if ok, or -FDT_ERR_... on error
*/
int ft_system_setup(void *blob, struct bd_info *bd);
*
* @param blob FDT blob to update
* @param extrasize additional bytes needed
- * @return 0 if ok, or -FDT_ERR_... on error
+ * Return: 0 if ok, or -FDT_ERR_... on error
*/
int fdt_shrink_to_minimum(void *blob, uint extrasize);
int fdt_increase_size(void *fdt, int add_len);
* @param blob Pointer to device tree blob
* @param node_offset Node DT offset
* @param in_addr Pointer to the address to translate
- * @return translated address or OF_BAD_ADDR on error
+ * Return: translated address or OF_BAD_ADDR on error
*/
u64 fdt_translate_address(const void *blob, int node_offset,
const __be32 *in_addr);
* @param blob Pointer to device tree blob
* @param node_offset Node DT offset
* @param in_addr Pointer to the DMA address to translate
- * @return translated DMA address or OF_BAD_ADDR on error
+ * Return: translated DMA address or OF_BAD_ADDR on error
*/
u64 fdt_translate_dma_address(const void *blob, int node_offset,
const __be32 *in_addr);
* @param cpu Pointer to variable storing the range's cpu address
* @param bus Pointer to variable storing the range's bus address
* @param size Pointer to variable storing the range's size
- * @return translated DMA address or OF_BAD_ADDR on error
+ * Return: translated DMA address or OF_BAD_ADDR on error
*/
int fdt_get_dma_range(const void *blob, int node_offset, phys_addr_t *cpu,
dma_addr_t *bus, u64 *size);
phys_addr_t compat_off);
int fdt_node_offset_by_pathf(void *blob, const char *fmt, ...)
__attribute__ ((format (printf, 2, 3)));
+
+#define fdt_for_each_node_by_compatible(node, fdt, start, compat) \
+ for (node = fdt_node_offset_by_compatible(fdt, start, compat); \
+ node >= 0; \
+ node = fdt_node_offset_by_compatible(fdt, node, compat))
+
int fdt_set_phandle(void *fdt, int nodeoffset, uint32_t phandle);
unsigned int fdt_create_phandle(void *fdt, int nodeoffset);
unsigned int fdt_create_phandle_by_compatible(void *fdt, const char *compat);
*
* @param blob FDT blob
* @param node parent node
- * @return number of child node; 0 if there is not child node
+ * Return: number of child node; 0 if there is not child node
*/
int fdtdec_get_child_count(const void *blob, int node);
#endif