namep = make_room(mem_start, mem_end, 32, 1); if (call_prom("nextprop", 3, 1, node, prev_name, namep) <= 0) {
int rc;   namep = make_room(mem_start, mem_end, MAX_PROPERTY_NAME, 1); rc = call_prom("nextprop", 3, 1, node, prev_name, namep); if (rc != 1) {
static void __init scan_dt_build_strings(phandle node, unsigned long *mem_start,					 unsigned long *mem_end){	unsigned long offset = reloc_offset();	char *prev_name, *namep, *sstart;	unsigned long soff;	phandle child;	sstart =  (char *)RELOC(dt_string_start);	/* get and store all property names */	prev_name = RELOC("");	for (;;) {				/* 32 is max len of name including nul. */		namep = make_room(mem_start, mem_end, 32, 1);		if (call_prom("nextprop", 3, 1, node, prev_name, namep) <= 0) {			/* No more nodes: unwind alloc */			*mem_start = (unsigned long)namep;			break;		}		soff = dt_find_string(namep);		if (soff != 0) {			*mem_start = (unsigned long)namep;			namep = sstart + soff;		} else {			/* Trim off some if we can */			*mem_start = (unsigned long)namep + strlen(namep) + 1;			RELOC(dt_string_end) = *mem_start;		}		prev_name = namep;	}	/* do all our children */	child = call_prom("child", 1, 1, node);	while (child != (phandle)0) {		scan_dt_build_strings(child, mem_start, mem_end);		child = call_prom("peer", 1, 1, child);	}}