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)
|
bool device_is_compatible(struct udevice *dev, const char *compat)
|
||||||
{
|
{
|
||||||
const void *fdt = gd->fdt_blob;
|
return ofnode_device_is_compatible(dev_ofnode(dev), compat);
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool of_machine_is_compatible(const char *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
|
else
|
||||||
return fdt_translate_address(gd->fdt_blob, ofnode_to_offset(node), in_addr);
|
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
|
* @return the translated address; OF_BAD_ADDR on error
|
||||||
*/
|
*/
|
||||||
u64 ofnode_translate_address(ofnode node, const fdt32_t *in_addr);
|
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
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user