powerpc/powernv: Add helper to get ibm,chip-id of a node
This includes walking the parent nodes if necessary. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
cc0efb57eb
commit
b37193b718
|
@ -58,6 +58,8 @@ static inline int of_node_to_nid(struct device_node *device) { return 0; }
|
||||||
|
|
||||||
extern void of_instantiate_rtc(void);
|
extern void of_instantiate_rtc(void);
|
||||||
|
|
||||||
|
extern int of_get_ibm_chip_id(struct device_node *np);
|
||||||
|
|
||||||
/* The of_drconf_cell struct defines the layout of the LMB array
|
/* The of_drconf_cell struct defines the layout of the LMB array
|
||||||
* specified in the device tree property
|
* specified in the device tree property
|
||||||
* ibm,dynamic-reconfiguration-memory/ibm,dynamic-memory
|
* ibm,dynamic-reconfiguration-memory/ibm,dynamic-memory
|
||||||
|
|
|
@ -795,6 +795,32 @@ struct device_node *of_find_next_cache_node(struct device_node *np)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* of_get_ibm_chip_id - Returns the IBM "chip-id" of a device
|
||||||
|
* @np: device node of the device
|
||||||
|
*
|
||||||
|
* This looks for a property "ibm,chip-id" in the node or any
|
||||||
|
* of its parents and returns its content, or -1 if it cannot
|
||||||
|
* be found.
|
||||||
|
*/
|
||||||
|
int of_get_ibm_chip_id(struct device_node *np)
|
||||||
|
{
|
||||||
|
of_node_get(np);
|
||||||
|
while(np) {
|
||||||
|
struct device_node *old = np;
|
||||||
|
const __be32 *prop;
|
||||||
|
|
||||||
|
prop = of_get_property(np, "ibm,chip-id", NULL);
|
||||||
|
if (prop) {
|
||||||
|
of_node_put(np);
|
||||||
|
return be32_to_cpup(prop);
|
||||||
|
}
|
||||||
|
np = of_get_parent(np);
|
||||||
|
of_node_put(old);
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_PPC_PSERIES
|
#ifdef CONFIG_PPC_PSERIES
|
||||||
/*
|
/*
|
||||||
* Fix up the uninitialized fields in a new device node:
|
* Fix up the uninitialized fields in a new device node:
|
||||||
|
|
Loading…
Reference in New Issue