diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2018-04-19 12:14:02 +0900 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2018-05-07 15:49:51 -0400 |
commit | 5ccc2c21307e186722ca9966bad0e03189c237c5 (patch) | |
tree | e2205e7553721bb43b3962b6e376293583fa0bc9 /drivers | |
parent | 8c1de5e08b845eb71c9a247d16bc81ebdab0598d (diff) |
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/core/device.c | 8 | ||||
-rw-r--r-- | drivers/core/ofnode.c | 11 |
2 files changed, 12 insertions, 7 deletions
diff --git a/drivers/core/device.c b/drivers/core/device.c index 1a32956568..e048e1a659 100644 --- a/drivers/core/device.c +++ b/drivers/core/device.c @@ -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) diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c index 4cd10032dd..3cf3205a2f 100644 --- a/drivers/core/ofnode.c +++ b/drivers/core/ofnode.c @@ -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); +} |