dm: ofnode: add ofnode_device_is_compatible() helper
device_is_compatible() takes udevice, but there is no such a helper that takes ofnode. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
8c1de5e08b
commit
5ccc2c2130
@ -708,13 +708,7 @@ int device_set_name(struct udevice *dev, const char *name)
|
||||
|
||||
bool device_is_compatible(struct udevice *dev, const char *compat)
|
||||
{
|
||||
const void *fdt = gd->fdt_blob;
|
||||
ofnode node = dev_ofnode(dev);
|
||||
|
||||
if (ofnode_is_np(node))
|
||||
return of_device_is_compatible(ofnode_to_np(node), compat, NULL, NULL);
|
||||
else
|
||||
return !fdt_node_check_compatible(fdt, ofnode_to_offset(node), compat);
|
||||
return ofnode_device_is_compatible(dev_ofnode(dev), compat);
|
||||
}
|
||||
|
||||
bool of_machine_is_compatible(const char *compat)
|
||||
|
@ -686,3 +686,14 @@ u64 ofnode_translate_address(ofnode node, const fdt32_t *in_addr)
|
||||
else
|
||||
return fdt_translate_address(gd->fdt_blob, ofnode_to_offset(node), in_addr);
|
||||
}
|
||||
|
||||
int ofnode_device_is_compatible(ofnode node, const char *compat)
|
||||
{
|
||||
if (ofnode_is_np(node))
|
||||
return of_device_is_compatible(ofnode_to_np(node), compat,
|
||||
NULL, NULL);
|
||||
else
|
||||
return !fdt_node_check_compatible(gd->fdt_blob,
|
||||
ofnode_to_offset(node),
|
||||
compat);
|
||||
}
|
||||
|
@ -680,4 +680,15 @@ int ofnode_read_resource_byname(ofnode node, const char *name,
|
||||
* @return the translated address; OF_BAD_ADDR on error
|
||||
*/
|
||||
u64 ofnode_translate_address(ofnode node, const fdt32_t *in_addr);
|
||||
|
||||
/**
|
||||
* ofnode_device_is_compatible() - check if the node is compatible with compat
|
||||
*
|
||||
* This allows to check whether the node is comaptible with the compat.
|
||||
*
|
||||
* @node: Device tree node for which compatible needs to be verified.
|
||||
* @compat: Compatible string which needs to verified in the given node.
|
||||
* @return true if OK, false if the compatible is not found
|
||||
*/
|
||||
int ofnode_device_is_compatible(ofnode node, const char *compat);
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user